Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Überschreiben der Captions vom OpenPictureDialog... (https://www.delphipraxis.net/22268-ueberschreiben-der-captions-vom-openpicturedialog.html)

FriFra 15. Mai 2004 09:28


Überschreiben der Captions vom OpenPictureDialog...
 
Grundsätzlich weiss ich natürlich, wie ich Resourcen zur Laufzeit ersetze... aber, wo finde ich die entspr. Konstanten um die Captions der Delphi Dialoge zu überschreiben?

Luckie 15. Mai 2004 09:31

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Wie siehjt es mit der eigenaschft Caption des entsprechenden Dialoges aus? Kann man sowohl im OI, wie auch zur Laufzeit setzen.

mirage228 15. Mai 2004 09:32

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Hi,

TOpenPictureDialog ist doch nur die VCL Version des Windows Open Picture Dialoges oder?

Dort kannst du den Titel einfach per Caption ändern. Dir Standard-Caption dürfte in irgendeiner Windows-Ressource gespeichert sein.

mfG
mirage228

FriFra 15. Mai 2004 09:38

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Der Titel ist ja kein Problem... aber wo finde ich "Dateiname", "Dateityp", "Abbrechen" etc. ???
Ich habe schon alle Captions der Standarddialoge (Messagedlg etc.) überschrieben, aber z.B. das "Abbrechen" des OpenPictureDialog wird offensichtlich von einer anderen Stelle geladen, als das des MessageDlg!

mirage228 15. Mai 2004 09:40

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Hi,

bei Delphi 7 Prof. sind die VCL Sourcen dabei. Eventuell findest du dort einen Anhaltspunkt.

mfG
mirage228

Luckie 15. Mai 2004 09:43

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Diese Beschriftung wird sich in den Ressourcen von Windows befinden, da sie abhängig von der Sprache des OS sind.

FriFra 15. Mai 2004 09:48

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Aber man muss doch auch diese Beschriftungen irgendwie zur Laufzeit ersetzen können... Bei allen anderen Dialogen ist es ja auch kein Problem.

toms 15. Mai 2004 09:54

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Hi FriFra,

Mache zuerst die ID der Controls ausfinding und sende den Controls dann eine Nachricht,
damit sie den Text ändern.

(Beispiele findest du auf SDC)

FriFra 15. Mai 2004 10:01

Re: Überschreiben der Captions vom OpenPictureDialog...
 
Ich gehe aber davon aus, dass die bettr. Komponente die Texte aus irgendeiner Resource lädt. Wenn das so ist, dan will ich nur die Resource überschreiben...
Delphi-Quellcode:
  procedure HookResourceString(rs: PResStringRec; newStr: PChar);
  var
    oldprotect: DWORD;
  begin
    VirtualProtect(rs, SizeOf(rs^), PAGE_EXECUTE_READWRITE, @oldProtect);
    rs^.Identifier := Integer(newStr);
    VirtualProtect(rs, SizeOf(rs^), oldProtect, @oldProtect);
  end;
...das funktioniert mit allen anderen Resourcen ja auch. Im Grunde benötige ich nur den Index des bettr. Textes :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 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