AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi messageboxex & mehrsprachiger dialog
Thema durchsuchen
Ansicht
Themen-Optionen

messageboxex & mehrsprachiger dialog

Ein Thema von _frank_ · begonnen am 8. Jun 2006 · letzter Beitrag vom 8. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#1

messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 18:28
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:
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;
Gruß Frank
  Mit Zitat antworten Zitat
hille

Registriert seit: 19. Mär 2006
100 Beiträge
 
#2

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 18:37
Hi,
was meinst du mit dialog?

Hille
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#3

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 19:01
eine messagebox halt
mir gehts da um die button-beschriftungen, die bei MessageBox* durch windows gesetzt werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.053 Beiträge
 
Delphi 12 Athens
 
#4

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 19:01
Zitat von hille:
was meinst du mit dialog?
MessageBoxEx erstellt eine MessageBox, oder auch Dialog genannt


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 ._.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hille

Registriert seit: 19. Mär 2006
100 Beiträge
 
#5

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 19:13
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.053 Beiträge
 
Delphi 12 Athens
 
#6

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 19:30
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.


SendMessage(GetDlgItem(hWnd, 1), WM_SETTEXT, 0, Integer(PChar('abc123'))); 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
http://www.delphipraxis.net/internal...=536694#536694
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hille

Registriert seit: 19. Mär 2006
100 Beiträge
 
#7

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 19:35
Ah. Nagut. Damit beschäftige ich mich einanderes mal. Vielen Dank für die Erklärung, werde es mir merken.

Hille
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#8

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 19:58
Zitat von himitsu:
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***).
da geb ich dir Recht, wie machst du es denn mit den Message-boxen?
Gettext, eigene Forms oder etwas komplett anderes?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.053 Beiträge
 
Delphi 12 Athens
 
#9

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 20:19
Zitat von _frank_:
da geb ich dir Recht, wie machst du es denn mit den Message-boxen?
Gettext, eigene Forms oder etwas komplett anderes?
Du kannst ja statt der MessageBox eine DialogBox verwenden, sollte Optisch auf's selbe rauskommen, nur daß man dort eine DialogProzedur einbinden kann, wo man dann z.B. bei WM_INITDIALOG ein bissl mit SendMessage und Co. an den Controls rumspielen kann.

MSDN-Library durchsuchenCreateDialogIndirectParam, MSDN-Library durchsuchenCreateDialogParam, MSDN-Library durchsuchenDialogBoxIndirectParam, oder MSDN-Library durchsuchenDialogBoxParam
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: messageboxex & mehrsprachiger dialog

  Alt 8. Jun 2006, 20:50
Oder wie wärs mit dem TElPromptDialog vom ElPack?
Damit kann man sehr einfach die Captions der "Standarddialogbox" ersetzen. Und es geht auch mit Unicode auch unter Win9x/ME.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 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