| |
|
|
CB | allô, liebe Profaner! je steh la fois wieder à. il me faut dans mon Programme zwecks Automatisierung verschiedener Éditer-Controls qui Abfrage derselben sur Usermessages. cela funkioniert aussi parfait. Bloß peux je, depuis je qui Usermessages dans mon Hauptschleife incorporé habe, mon ExtMenu pas plus sur MenuItem(N) abfragen. c'est pourquoi mon Frage: (comment) peux je cela gewählte Menuitem sur Usermessages ermitteln? Hat einer de Euch une Solution prêt? Den relevanten partie meiner DLL findet son dans qui Menudll.dll. Salut, Christian |
|
|
| |
|
|
|
Rolf Koch | Hi, seulement un Vorschlag: quoi hälst Du en simple la fois per Imprimer %message ou bien %lastmessage cela Result anzuzeigen, si Du sur un Menuitem klickst?
Rolf |
|
|
| |
|
|
|
Frank Abbing | Hi.
mon Propositions. API:
GetWindowLong() avec GWL_ID Flag ou bien GetClassLong() avec GCL_MENUNAMEFlag
pas getestet... |
|
|
| |
|
|
|
CB | @ Rolf: Hab je dans qui Zwischenzeit probiert. avec %(charge)Message viens je malheureusement pas plus. cela Resultat ist toujours (abwechselnd) 32, 312 ou bien 512, mais sans Connex zum jeweils gewählten Menupunkt.
@Frank: je denke, avec GetClassLong() pourrait es marcher, bloß étions mon Experimente diesbezüglich pas erfolgreich, en supplément serait je légèrement Nachhilfeunterricht brauchen... :?:
Salut, Christian |
|
|
| |
|
|
|
Frank Abbing | Hi,
seulement avec deiner Dll peux je pas testen. Am besten postet du aussi den dazugehörige Code (calme une Testcode), comment du qui l'affaire bisher versuchst. ensuite peux on dir besser aider. |
|
|
| |
|
|
|
Jörg Sellmeyer | allô Christian, la hâte Du peut-être $0111 comme usermessage deklariert? ensuite hilft Dir cela peut-être. plus:
Déclarer menuitem% Cls Utilisateur Messages $0111wm_command Déclarer ende% WhileNot ende% WaitInput Si %mousepressed=2 TrackMenu %mousex,%mousey CreateMenu AppendMenu 100,test 1 AppendMenu 101,test 2 menuitem%=&uwparam imprimer menuitem%,%menuitem EndIf IF Equ(%clé,2) Laisser ende%=1 EndIf Wend
Salut Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 03.01.2005 ▲ |
|
|
|
|
CB | Anm.: Sollte cet nouvelle déjà la fois vorhanden son - je suis justement pour einem Backspace rausgeflogen...
Hi, pour 2 Tagen heftiger Fehlersuche melde je mich wieder zurück. là étions encore un paire autre grobe Hunde im le bout. cela Extmenu allez malheureusement encore toujours pas.
@Jörg: Utilisateur Messages $0111 était déjà deklariert. seulement binde je un aus meiner DLL geladenes ExtMenu zum la date qui Fenêtre-Erstellung un. Habe ensuite avec TrackMenu %mousex,%mousey experimentiert, aussi dabei venons toujours dieselben Werte de 32, 312 ou bien 512 heraus.
@Frank: je ne sais pas droite, si je cela irgendjemand zumuten peux! Derzeit stehe je chez rund 9000 Zeilen Code, ca 1000 Variablen, einigen 1000 Registry-Entrées, 2 (jusqu'à sur qui Discours identischen) DLL, qui aussi cela Programme-Setup enthalten, mehreren Unterverzeichnissen incl. Test-Ini-Fichiers usw. Den Code habe je zwar im eigenen intérêt relativ bien dokumentiert, mais arrêt pour mon eigenen Bedürfnisse.
Derzeit passiert beim Klick sur une Menueintrag entweder gar rien ou bien je lande irgendwo dans qui Hauptschleife, wohin je gar pas hinmöchte. je denke, je werde seulement la fois den Code fehlerbereinigen, bevor je quelqu'un s'il te plaît, sich cette Aufwand anzutun! j'ai aussi encore une ältere Version, qui seulement qui la fenêtre et cela Menu contient - cela hat autrefois encore bien funktioniert. peut-être finde je aussi im comparaison qui Fichiers den faute. je hatte arrêt gehofft, qui einer aus qui Community déjà la fois avec Usermessages dans einem ExtMenu experimentiert hat.
Salut, Christian |
|
|
| |
|
|
|
Frank Abbing | Hi,
[quote-part:2799a393bf]@Frank: je ne sais pas droite, si je cela irgendjemand zumuten peux! Derzeit stehe je chez rund 9000 Zeilen Code, ca 1000 Variablen, einigen 1000 Registry-Entrées, 2 (jusqu'à sur qui Discours identischen) DLL, qui aussi cela Programme-Setup enthalten, mehreren Unterverzeichnissen incl. Test-Ini-Fichiers usw. Den Code habe je zwar im eigenen intérêt relativ bien dokumentiert, mais arrêt pour mon eigenen Bedürfnisse.
Derzeit passiert beim Klick sur une Menueintrag entweder gar rien ou bien je lande irgendwo dans qui Hauptschleife, wohin je gar pas hinmöchte. je denke, je werde seulement la fois den Code fehlerbereinigen, bevor je quelqu'un s'il te plaît, sich cette Aufwand anzutun! j'ai aussi encore une ältere Version, qui seulement qui la fenêtre et cela Menu contient - cela hat autrefois encore bien funktioniert. peut-être finde je aussi im comparaison qui Fichiers den faute. je hatte arrêt gehofft, qui einer aus qui Community déjà la fois avec Usermessages dans einem ExtMenu experimentiert hat. [/quote-part:2799a393bf] dans dem le cas erstellt du am besten une kurzen Testcode, qui dein Problem darstellt. Je kürzer, desto besser peux on dir aider. |
|
|
| |
|
|
|
| allô Christian...
So? KompilierenMarqueSéparationWINDOWTITLE "Usermessage und Menü"
WINDOWSTYLE 31
WINDOW 0,0-640,440
POPUP "&Menü"
Appendmenu 101,"&Test"
Appendmenu 102,"&Test 2"
Appendmenu 111,"&beenden"
USERMESSAGES $0111
While 0=0
Getmessage
IF @AND(%UMESSAGE=$0111,&UWPARAM=101)
@SENDMESSAGE(%HWND,$0111,0,0) Menuitem löschen
@Messagebox("Test wurde gedrückt!","Menü wurde gewählt",64)
ElseIF @AND(%UMESSAGE=$0111,&UWPARAM=102)
@SENDMESSAGE(%HWND,$0111,0,0) Menuitem löschen
@Messagebox("Test 2 wurde gedrückt!","Menü wurde gewählt",64)
ElseIF @AND(%UMESSAGE=$0111,&UWPARAM=111)
@SENDMESSAGE(%HWND,$0111,0,0) Menuitem löschen
END
ENDIF
Wend
sans Gewähr!
avec %MENUITEM, %LASTMESSAGE ou bien %MESSAGE peux du ici pas weiterkommen - pourquoi steht eigentlich déjà dans qui Profanhilfe. |
|
|
| |
|
|
|
| allô Christian...
chez qui Verwendung de Usermessages wäre je à deiner Stelle chez einem so umfangreichen Code très prudent - besonders si du pas genauestens savoir, quoi du là tust. qui Usermessage WM_COMMAND=$0111 wirkt sich pas seulement sur Menüs, mais aussi eventuell aussi sur qui Schließen de Dialogen et cela Schließen des Hauptfensters aus, là %MENUITEM ici pas sur -2 gesetzt wird. je personnelle peux z.B. pas genauestens dire, pour quoi qui Message WM_COMMAND alles responsable ist - et scheinbar peux cela chacun, qui dir ici pas weiterhelfen konnte, aussi pas.
alors: exposition oui c'est ca pour, si wirklich alles dans deinem Programme so fonctionne, comment du dir cela vorgestellt la hâte, sonst gibts eventuell très böse Überraschungen.
|
|
|
| |
|
|
|
Jörg Sellmeyer | Salut, -dabei venons toujours dieselben Werte de 32, 312 ou bien 512 heraus. Womit erhälst Du qui Werte? avec %message, %clé ou bien &umessage? Relatif à la Trackmenu ist pas entscheidend, mais qui Deklaration de menuitem% (Variable! aucun Systemvariable) et qui Auswertung de &umessage. je benutze Prfellow et là ist $0111 comme Usermessage deklariert, um Controls abzufragen - z. B. Buttons devoir seulement beim Loslassen réagir. chez mir funktioniert es avec &umessage zumindest avec generierten Menüs. si es avec Extmenu funktioniert, sais je pas. Salut Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 05.01.2005 ▲ |
|
|
|
|
CB | So, liebe gens! j'étais dans qui Zwischenzeit aussi pas untätig et habe mir la fois cela zur Brust pris, quoi Andreas mir là so aus dem Ärmel geschüttelt hat - GENIAL - cela allez wirklich avec meinem ExtMenu!
comme Dankeschön pour alle Beteiligten habe je cela Construire la fois légèrement aufgepeppt et sur qui Schnelle encore un paire kleine Überraschungen incorporé. Schauts Euch simple la fois à. et schaut aussi la fois im Menu sous Über... pour!
@Andreas: Pour cette gibts vorläufig une goldene réverbère, weil Du mir den Weg so joli beleuchtet la hâte, et si je la fois dazukomme, naturellement une Eintrag ebendort. (Wirst déjà voyons ,quoi je avec cela mon)
@Jörg: je habs toujours seulement avec meinem Extmenu probiert et là ists dans qui forme malheureusement pas gegangen. pouvoir nix - quand même merci!
encore une Anmerkung: im Zuge meiner Basteleien pour Euch habe je mon Original-DLL quelque chose verkleinert (Setup-Programme rausgenommen etc.), cela ging encore, comme je dieselbe DLL sur Menu_DE.dll umbenannt habe, était cela Extmenu pas plus ladbar. je comprends pas so entier, wieso. c'est pourquoi habe je qui abgespeckte Original-DLL pris.
Nochmals herzlichen Dank à alle Christian |
|
|
| |
|
|