Stringtable
-
Das geht doch aber nicht!!! Der Dialog wird angezeigt, darin sind u. a. RadioButtons wo der Benutzer die Sprache wählt. Wenn er eine andere Sprache auswählt soll der Dialog auf dem u.a. auch die RadioButtons sind sofort in der neuen Sprache erscheinen! Da wird doch kein OnInitDialog() mehr aufgerufen, er existiert doch schon!!
-
Natürlich, du kannst die "Ändere die Sprache Funktion" doch auch aufrufen, wenn der User die Sprache ändert, indem er auf einen RadioButton klickt (es wird ja eine Windows-Nachricht gesendet).
Grüße Rapha
-
Natürlich, du kannst die "Ändere die Sprache Funktion" doch auch aufrufen, wenn der User die Sprache ändert, indem er auf einen RadioButton klickt (es wird ja eine Windows-Nachricht gesendet =>BN_CLICKED).
Grüße Rapha
-
Mist, mein IE spinnt etwas

-
Mist, mein IE spinnt etwas

Was ist mit dem MySQL Server los?
Die Seite wird ewig geladen, aber es kommt keine Bestätigung, dass der Post gesendet wurde

-
Was hältst du davon, die aktuelle Sprache in die Registry oder in eine Datei zu schreiben. Danach kannst du dann beim Programmstart die jeweilige Dll laden, und daraus dann *alle* Dialoge rausladen.
-
Also entweder ich steh hier brutal aufm Schlauch oder du???! Natürlich bekomm ich eine Nachricht von den RadioButtons, die dann die Funktion aufruft, aber wenn ich einem Button einen neuen String zuweise muß ich doch den gesamten Dialog aktualisieren, ansonsten passiert doch überhaupt nix!!! Probier mal in einem aktiven Dialog per GetDlgItem(IDC_...)->SetWindowText("bla") einem Button einen neuen Text zuzuweisen. Es passiert nix, solange der Dialog nicht neu geladen wird! Aber es funktioniert ja einwandfrei wenn ich es in OnPaint() aufrufe.
-
Warum willst du denn den Steuerelementen die unterschiedlichen Texte zuweisen? Wenn du in deiner Dll die komplette Dialogresource (mit den Texten der Steuerelemente) drin hast, erscheint der Dialog automatisch in der geladenen Sprache.
Nur mal wieder zur Erklärung: Du lädst dann den kompletten Dialog aus der Dll.
Der einzige Nachteil ist halt vielleicht, dass du deine kompletten Resourcen übersetzen mußt, und jeweils eine eigene Dll erstellen. Aber damit hast du dann das Problem ein für alle mal gelöst und mußt dich in deinem laufenden Programm überhaupt nicht mehr darum kümmern.
-
~Christian schrieb:
aber wenn ich einem Button einen neuen String zuweise muß ich doch den gesamten Dialog aktualisieren, ansonsten passiert doch überhaupt nix!!!
Quark, wenn du mit SetWindowText den Text eines Buttons änderst, wird die Änderung sofort übernommen

~Christian schrieb:
Probier mal in einem aktiven Dialog per GetDlgItem(IDC_...)->SetWindowText("bla") einem Button einen neuen Text zuzuweisen. Es passiert nix, solange der Dialog nicht neu geladen wird!
Soso.. :p

Grüße Rapha
-
Ich hät schwören können als ich das probiert habe gings net, aber es geht tatsächlich, er updatet sofort!!
THX!!