| |
|
|
Andreas Koch | Hallo zusammen,
presumibilmente stehe ich einfach nur auf dem Schlauch, vielleicht geht's auch einfach nicht. Es geht darum, in einem Profanprogramm zwischen verschiedenen Sprachen hin und herschalten zu können. Für normale Buttons, Edits, Textfelder und Tabs ist das auch kein Problem. Die kann ich mit settext einfach ändern. Es hakt bei Menüeinträgen (Popup und Appendmenu) und Toolbarbuttons (Addtextbutton). Kann mir da jemand weiterhelfen?
Danke und schönen Saluto
Andreas Koch |
|
|
| |
|
|
|
Jörg Sellmeyer | Menüs musst du mit RemoveMenue entfernen und neu aufbauen. Ich glaube, per API kann man auch neue Menütexte setzen aber unkomplizierter ist es, sie einfach neu zu erstellen. Deine Popup-Menüs (bei Mausklick rechts als Kontextmenü) musst du dann enttsprechend mit andersprachigen Texten erzeugen. Die werden ja sowieso immer aktuell erzeugt, wo sie aufgerufen werden.
Zur Toolbar fällt mir grad nichts ein, was einem SetText entspricht.. Normalerweise sind sie ja da, um gerade keinen Text zu verwenden. Da wäre es dann sinnvoll, den jeweiligen Tooltip mit SetText anzupassen. Es gibt wohl eine Message, um den Text auszulesen, aber keine, um Text zu ändern. Man potuto ihn bei Bedarf entfernen und mit Toolbar("InsertButton",...) neu erzeugen. Dafür ist aber wieder eine Menge API nötig.
Hier noch ein paar Procs: KompilierenMarkierenSeparieren |
|
|
|
|
Andreas Koch | Danke per deine Antwort, ich kann das jetzt gerade nicht testen und müsste bis Montag warten. Mir fallen aber spontan 2 weitere Fragen ein:
- Wie spreche ich bei RemoveMenu die Menüüberschriften, die mit Popup erzeugt werden, an? RemoveMenu erwartet ja eine Menünummer und das Popupmenü hat meines Wissens keine Nummer.
-Das mit dem show/hide button müsste ich hinkriegen. Bei den Textbuttons kann ich zur Not aber auch auf den Text verzichten. Du schreibst, dass man den Tooltip mit settext anpassen kann. Wie komme ich denn an den Tooltip ran? Schließlich bekomme ich bei dem Befehl toolbar("Addbutton",....) kein Handle von dem Ding.
Schönen Saluto
Andreas Koch |
|
|
| |
|
|
|
Georg Teles | Guten Abend,
per Menü gibt es ModifyMenu [...]
und per Toolbar vllt. mit DestroyWindow(hToolbar&) zu löschen und neu zu definieren ? |
|
|
| |
|
|
|
Jörg Sellmeyer | Dank der neuesten Erweiterungen kann man jetzt einzelne Buttons entfernen und neu einfügen: [...]
Für die Toolbar gibt es einen Tooltip-Speicherbereich in der Buttonstruktur. Ich weiß im Moment auch nicht, ob und wie man darauf Zugriff erhalten kann. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 03.11.2014 ▲ |
|
|
|
|
Andreas Koch | Hallo nochmal,
inzwischen konnte ich ein paar Sachen ausprobieren. Der Befehl ModifyMenu funktioniert. Allerdings musste ich ihn etwas abändern, damit der Menüpunkt auch noch auf die gleiche Nummer anspricht. Den Quellcode habe ich hier angefügt. KompilierenMarkierenSeparieren
Proc ChangeMenu
Parameters m%,nr%,Pos%,Text$, MenuItem&
' m%, bei 0 ist das hMenu gemeint, bei 1 das hSubMenu
' nr%, die Position des hMenu bzw. d MenuItem
' Pos% gibt die Position an für das hSubMenu an
' Text$ enthält den neuen Text
' Menuitem& enthält die Menünummerierung
Declare hSubMenu&, Menu#
Dim Menu#,255
hSubMenu& = ~GetSubMenu(&hMenu,Pos%)
String Menu#,0=Text$
Case m%=0 : ~ModifyMenu(&hMenu,nr%,~MF_BYPOSITION | ~MF_STRING,MenuItem&,Menu#)
Case m%=1 : ~ModifyMenu(hSubMenu&,nr%,~MF_BYPOSITION | ~MF_STRING,MenuItem&,Menu#)
~DrawMenuBar(%hwnd)
Dispose Menu#
| 04.11.2014 ▲ | |
|
|
|