Label "Benutzerdefinierte Farben" im Colordialog ä
dank dem Programmiertip Swissdelphicenter / ...die Standard Windows Dialoge verändern? habe ich gelernt, wie man die Beschriftung innerhalb des Öffnen/Speichern/Drucken-Dialog ändert. Geht das auch irgendwie beim Colordialog ?
mfG Georg |
Re: Beschriftung im Colordialog ändern?
Irgendwie geht der Link nicht :-?
Aber du könntest per FindWindow und SetWindowText einiges erreichen, wenns dir so reicht. :-) |
Re: Beschriftung im Colordialog ändern?
Hi Ultimator :???: .. bei mir geht der Link.. :?: komisch
so etwa siehts aus beim OpenDialog:
Code:
damit konnte ich zumindest mal den Titel des Dialogs ändern .. aber alles andere bekomme ich nicht geändert :(
procedure TForm1.OpenDialog1Show(Sender: TObject);
{First, we need to determine identifiers of dialog's controls, they are following:} const LB_FILETYPES_ID = 1089; // "File types:" label LB_FILENAME_ID = 1090; // "File name:" label LB_DRIVES_ID = 1091; // "Look in:" label var hOpenDialog: HWND; Str1,Str2,Str3,Str4,Str5:string; begin Str1:=GetText('MainMenu','Main_Oeffnen','&Öffnen'); Str2:=GetText('Subforms','Sub_Abbruch','&Abbruch'); Str3:=GetText('Subforms','Sub_Dateityp','Dateityp')+':'; Str4:=GetText('MainMenu','Main_Datei','&Datei')+':'; Str5:=GetText('Subforms','Sub_Suchen_in','Suchen in')+':'; hOpenDialog := GetParent(OpenDialog1.Handle); SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, idOk, Longint(PChar(Str1))); SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, idCancel, Longint(PChar(Str2))); SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, LB_FILETYPES_ID, Longint(PChar(Str3))); SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, LB_FILENAME_ID, Longint(PChar(Str4))); SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, LB_DRIVES_ID, Longint(PChar(Str5))); end;
Code:
SetWindowText(ColorDialog1.Handle,PChar('Hallo Das ist ein neuer Text'));
|
Re: Beschriftung im Colordialog ändern?
Zitat:
Geht doch:
Delphi-Quellcode:
...
procedure TForm1.ColorDialog1Show(Sender: TObject); begin SetWindowText(GetDlgItem(ColorDialog1.Handle, idOk), '&Fertig'); SetWindowText(GetDlgItem(ColorDialog1.Handle, idCancel), '&Wegmache'); SetWindowText(ColorDialog1.Handle, 'Bunt'); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin ColorDialog1.Execute end; ... |
Re: Beschriftung im Colordialog ändern?
@MaBuSE :idea: danke schonmal für die Anregung.. jetzt fehlen nur noch der Text für Benutzerdefinierte Farben.. die anderen habe ich jetzt :P
|
Re: Beschriftung im Colordialog ändern?
Zitat:
(das Label "Benutzerdefinierte Farben:" habe ich nicht herausgefunden)
Delphi-Quellcode:
procedure TForm1.ColorDialog1Show(Sender: TObject);
var i: word; begin SetWindowText(ColorDialog1.Handle, 'Mein Farbendialog'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 1), '&Ok'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 2), '&Cancel'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 719), 'Farben wählen'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 712), 'Farben hinzufügen'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 723), 'Farbt.'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 724), 'Sätt.'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 725), 'Hell.'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 726), 'Rot'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 727), 'Grün'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 728), 'Blau'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 730), 'Farbe'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 731), '|Basis'); SetWindowText(GetDlgItem(ColorDialog1.Handle, 65535), 'Grundfarben'); // hiermit kann man leicht die Nummern herausfinden ;-) // for i := 0 to high(i) do SetWindowText(GetDlgItem(ColorDialog1.Handle, i), PChar(intToStr(i))); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin ColorDialog1.Execute end; |
Re: Beschriftung im Colordialog ändern?
@MaBuSE - genauso hatte ich es auch gemacht :???: und festgestellt, dass das einzige was fehlt das Label "Benutzerdefinierte Farben:" ist :?
Wie kann man denn das noch rausfinden? :roll: Die Control ID 65535 ist wohl OK - nur das ColorDialog1.Handle stimmt offenbar nicht. Hilft das vielleicht jemandem hier weiter? http://www.ego-creations.de/pics/winspy.gif |
Re: Beschriftung im Colordialog ändern?
Zitat:
Aber es gibt ja noch andere Alternativen: Zitat:
Die Komponente funktionierte aber auch ohne Probleme in Delphi 7. Da der Sourcecode dabei ist, kann der Dialog individuell angepasst werden. Viel Spaß |
Re: Label "Benutzerdefinierte Farben" im Colordial
@MaBuSE - Thx für den Tip - habe übrigens bei diesem Projekt Delphi 4 mit Tonnenweise Freeware Komponenten verwendet :roll: aber egal kann ich ja notfalls umstricken. Aber ich bekomme die Komponente nicht installiert. Einmal kennt Delphi 4 scheinbar die Direktive {$ALIGN 8} nicht. Wenn ich die weglösche, dann meckert er über rtl.dpk nicht gefunden - gehört da noch was zu?
Viele Grüße Georg |
Re: Label "Benutzerdefinierte Farben" im Colordial
Zitat:
Diese Komponente ist mit Delphi 6 geschrieben, es kann sein, dass dort Dinge verwendet wurden, die nicht in Delphi 4 funktionieren. Delphi 7 hat in den *.dpk Dateien meist {$ALIGN 8} stehen, bei Delphi 5 ist es: {$ALIGN ON} Ab Delphi 6 steht in den requires nur noch rtl, vcl, ... Bei Delphi 5 war das noch rtl50, vcl50, ... Versuch also mal das rtl in rtl40 zu ändern. (vcl = vcl40, vclsmp = vclsmp40) Dann könnte es klappen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz