Vorschaufarbe ColorBox

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
ErnstVolker
Beiträge: 353
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Vorschaufarbe ColorBox

Beitrag von ErnstVolker »

Guten Abend Zusammen,

ich beschäftige mich gerade mit der ColorBox unter Mac, Win 10 und OpenSuse.

1. Wie kann ich auf allen Systemen die Namen der Farben auf deutsch umstellen oder gänzlich weglassen?

2. Auf dem Mac bekomme ich keine Vorschaufarbe angezeigt, nur Farbnamen. Ist das ein Bug, dass die Vorschaufarbe nicht angezeigt wird? Bei Win und Lin kann ich mit ColorRectWidth die Breite der Farbvorschau einstellen. Beim Mac geht das nicht. Farbvorschau fände ich schon gut, wichtiger als den Namen.

Vielen Dank für Eure Antworten

Volker

Benutzeravatar
theo
Beiträge: 10873
Registriert: Mo 11. Sep 2006, 19:01

Re: Vorschaufarbe ColorBox

Beitrag von theo »

1. Style = Prettynames auswählen und die Uebersetzungen laden wie hier: http://wiki.freepascal.org/Getting_tran ... pplication

wp_xyz
Beiträge: 5153
Registriert: Fr 8. Apr 2011, 09:01

Re: Vorschaufarbe ColorBox

Beitrag von wp_xyz »

(1a) Deutsche Farbnamen: Kopiere die Datei lclstrconsts.de.po aus (lazarus)\lcl\languages in das Verzeichnis mit deiner exe-Datei und schreibe folgenden Code in deine Haupt- oder Projekt-Unit (muss aufgerufen werden, bevor das Formular erzeugt wird):

Code: Alles auswählen

uses
  Translations;
...
  TranslateUnitResourceStrings('lclstrconsts', ExtractFilePath(ParamStr(0)) + 'lclstrconsts.de.po');
(1b) Keine Farbnamen: M.E. offiziell nicht vorgesehen. Man kann aber mit diesem "Hack" die Texte in den Items der Combobox löschen:

Code: Alles auswählen

type
  TMyColorBox = class(TColorBox);
 
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  with TMyColorbox(Colorbox1) do
    for i:=0 to Items.Count-1 do
      Items[i] := '';
end; 
(2) Mac - ich habe keinen und daher keine Ahnung...

ErnstVolker
Beiträge: 353
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Vorschaufarbe ColorBox

Beitrag von ErnstVolker »

Vielen Dank für die Hinweise.

Unter Linux hab' ich es noch nicht probiert, aber unter Win 10 funktioniert es genauso wie beschrieben bzw. nach Anleitung im Link von Theo.

Lazarus meldet, dass "LCLGetLanguageIDs" veraltet sei und man anstelle "LazGetLanguageIDs" verwenden soll. Man muss dann die Unit LazUTF8 anstelle von LCLProc einbinen.

Wie gesagt: Funktioniert unter Win und Linux sehr gut.
Wenn bei Linux die ColorBox nach Anklick aufklappt erscheinen die Wahlmöglichkeiten sehr blass, so ähnlich als seien sie deaktiviert. Wenn mann sich für eine Wahl entschieden hat und diese in der Box erscheint ist wieder alles gut.

Nur beim Mac geht es nicht. Keine Farbvorschau und auch keine Übersetzung.

Code: Alles auswählen

PODirectory:='/Developer/lazarus/lcl/languages/';
eingesetzt aber es passiert nix. Noch nicht mal eine Fehlermeldung. Auf dem Mac hakt noch mehr.

Naja, wenn's auf'm Mac nicht will; Die bevorzugtere Variante des Programmes wird wohl doch eher Win werden.

Wenn man die Namen schön angezeigt bekommt, dann können sie auch bleiben. Blöd ist kein Name und keine Farbvorschau. Wer dann trotzdem die richtige Farbe findet, HUT AB!

Viele Grüße

Volker

Antworten