![]() |
messageboxex & mehrsprachiger dialog
hi,
ich versuche per messageboxEx einen mehrsprachigen dialog zu machen. Ich vermute, ich muss die entsprechenden Sprachdefinitionen (LANG_*, SUBLANG_*) im System definiert haben (wo mach ich das?), weil die Schaltflächen sind immer in deutsch... mal ein bisschen Quelltext:
Delphi-Quellcode:
Gruß Frank
function makelangid(p,s:word):word;
begin result:=p or (s shl 10); end; procedure TForm1.Button1Click(Sender: TObject); begin messageBoxEx( self.handle, PCHAR('text'), PCHAR('caption'), MB_YESNOCANCEL, makelangid(LANG_ENGLISH,SUBLANG_NEUTRAL) ); end; |
Re: messageboxex & mehrsprachiger dialog
Hi,
was meinst du mit dialog? Hille |
Re: messageboxex & mehrsprachiger dialog
eine messagebox halt ;)
mir gehts da um die button-beschriftungen, die bei MessageBox* durch windows gesetzt werden. |
Re: messageboxex & mehrsprachiger dialog
Zitat:
Aber er hat Recht ... ich hätte och gedacht, daß dann die Button in Englisch sein müßten, aber vermutlich muß auch noch das nötige Sprachprofil (die ganzen ResourceStrings und Co.) im Windows installiert sein. Hier ist jedenfalls nur Deutsch drauf und ich vermute mal, daß daher keine andere Sprache möglich ist auch mit makelangid(LANG_ENGLISH,SUBLANG_ENGLISH_US) nicht. Na ja, ich lad' im Moment eh meine eigenen Sprachen ... behandle das ganze also selber, weil ich die Button natürlich in der selben Sprache wie im Rest des Programms haben will (dieser Mischmasch is sch***). [edit]ich wünschte mir 'ne RedBox ._. |
Re: messageboxex & mehrsprachiger dialog
Oh, naja, Und was passiert da genau?
Ich kann mir das gerade nicht vorstellen, weil ich keine Ahnung habe was diese Box macht!! PS: Ich habe nähmlich so ein Problem mit Dialogen aber ich glaube das ist was anderes! Hille |
Re: messageboxex & mehrsprachiger dialog
MessageBoxEx ist was von der WinAPI ... man ruft sozusagen nur eine Prozedur von Windows auf, worin dann der gewünschte Dialog erstellt wird.
Und natürlich werden die Resourcen für den Dialog (wie z.B. die ButtonBezeichnungen) aus WindowsDLLs geladen. Der DateiÖffnenDialog ist ja auch aus der WinAPI, aber da hab ich über eine netten Hook die Möglichkeit den Text der enthaltenen Objekte zu ändern.
Delphi-Quellcode:
Das DialogItem 1 ist da z.B. der OK-Button ... einfach mal auf "OpenDialog" klicken und dort Rechts, der obere Button, da steht nicht OK drin :mrgreen:
SendMessage(GetDlgItem(hWnd, 1), WM_SETTEXT, 0, Integer(PChar('abc123')));
![]() |
Re: messageboxex & mehrsprachiger dialog
Ah. Nagut. Damit beschäftige ich mich einanderes mal. Vielen Dank für die Erklärung, werde es mir merken.
Hille |
Re: messageboxex & mehrsprachiger dialog
Zitat:
Gettext, eigene Forms oder etwas komplett anderes? |
Re: messageboxex & mehrsprachiger dialog
Zitat:
![]() ![]() ![]() ![]() |
Re: messageboxex & mehrsprachiger dialog
Oder wie wärs mit dem TElPromptDialog vom
![]() Damit kann man sehr einfach die Captions der "Standarddialogbox" ersetzen. Und es geht auch mit Unicode auch unter Win9x/ME. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz