| |
|
|
![CB: 02.01.2005](.././../../i/a/188878350943cea808357ab.jpg) CB | ¡Hola, liebe Profaner! Yo steh veces otra vez a. Yo brauche en mi Programa zwecks Automatisierung verschiedener Editar-Controls el Abfrage derselben encima Usermessages. Das funkioniert auch perfekt. Bloß kann Yo, seit Yo el Usermessages en mi Hauptschleife instalado habe, mein ExtMenu no mehr encima MenuItem(N) abfragen. ![](.././../../i/s/eusa_think.gif) Deshalb mi Cuestión: (Como) kann Yo el gewählte MenuItem encima Usermessages ermitteln? Tiene una de Euch una solución parat? Den relevanten Teil meiner DLL findet Ihr en el Menudll.dll. Saludo, Christian |
|
|
| |
|
|
|
![Rolf Koch: 02.01.2005](.././../../i/a/11.gif) Rolf Koch | Hi, sólo una Vorschlag: Was hälst Usted su simplemente veces por Imprimir %mensaje oder %lastmessage el Result anzuzeigen, si en una MenuItem klickst?
Rolf |
|
|
| |
|
|
|
![Frank Abbing: 02.01.2005](.././../../i/a/noavatar.gif) Frank Abbing | Hi.
Mi Propuestas. API:
GetWindowLong() con GWL_ID Flag oder GetClassLong() con GCL_MENUNAMEFlag
No getestet... |
|
|
| |
|
|
|
![CB: 03.01.2005](.././../../i/a/188878350943cea808357ab.jpg) CB | @ Rolf: Hab Yo en el Zwischenzeit probiert. Mit %(Last)Message komme Yo por desgracia, no más. Das Resultat es siempre (abwechselnd) 32, 312 oder 512, aber sin Connex para jeweils gewählten Menupunkt.
@Franco: Yo denke, con GetClassLong() podría lo klappen, bloß waren mi Experimente diesbezüglich no erfolgreich, dazu sería Yo una bißchen Nachhilfeunterricht brauchen... :?:
Saludo, Christian |
|
|
| |
|
|
|
![Frank Abbing: 03.01.2005](.././../../i/a/noavatar.gif) Frank Abbing | Hi,
sólo deiner Dll kann Yo no testen. Am besten postet du auch el dazugehörige Code (ruhig una Testcode), como du el Sache bisher versuchst. Dann puede ser dir mejor helfen. |
|
|
| |
|
|
|
![Jörg Sellmeyer: 03.01.2005](.././../../i/a/8132362004294faafc5e8c.jpg) Jörg Sellmeyer | ¡Hola Christian, Hast Usted tal vez $0111 como usermessage deklariert? Dann hilft Usted el evtl. más:
Declarar menuitem% Cls Mensajes del usuario $0111wm_command Declarar ende% Sinestar encargado ende% WaitInput If %mousepressed=2 TrackMenu %mousex,%mousey CreateMenu AppendMenu 100,test 1 AppendMenu 101,test 2 menuitem%=&uwparam imprimir menuitem%,%menuitem EndIf IF Equ(%key,2) Let ende%=1 EndIf Wend
Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... ![](https://www.wuestensand.info/images/CoverFataMorganaklein.jpg) | 03.01.2005 ▲ |
|
|
|
|
![CB: 05.01.2005](.././../../i/a/188878350943cea808357ab.jpg) CB | Anm.: Sollte esta Nachricht ya veces disponible ser - Yo bin gerade una Backspace rausgeflogen...
Hi, después de 2 Tagen heftiger Fehlersuche melde Yo mich otra vez zurück. Como waren todavía unos pocos otro grobe Hunde en el Ablauf. Das Extmenu va desafortunadamente todavía siempre no. ![](.././../../i/s/icon_sad.gif)
@Jörg: Mensajes del usuario $0111 war ya deklariert. Nur binde Yo una de meiner DLL geladenes ExtMenu para Zeitpunkt el Ventana-Erstellung una. Posesiones entonces con TrackMenu %mousex,%mousey experimentiert, auch esta kommen siempre dieselben Werte de 32, 312 oder 512 heraus.
@Franco: Yo weiß no bastante, si Yo el irgendjemand zumuten kann! Derzeit stehe Yo en rund 9000 Zeilen Code, ca 1000 Variables, algunos 1000 Registry-Einträgen, 2 (salvo el Lingua identischen) DLL, el auch el Programa-Setup enthalten, más Unterverzeichnissen incl. Test-Ini-Archivos usw. Den Code Yo zwar en el eigenen Interesse relativ bien dokumentiert, aber sólo para mi eigenen Bedürfnisse.
Derzeit passiert beim Clic en una Menueintrag entweder gar nichts oder Yo lande irgendwo en el Hauptschleife, wo Yo nada hinmöchte. Yo denke, Yo voluntad sólo veces el Code fehlerbereinigen, bevor Yo jemanden Por favor,, se esta Aufwand anzutun! Yo habe auch ni ältere Versión, el sólo el Ventana y el Menu enthält - el ha damals todavía bien funktioniert. Tal vez finde Yo auch en el Vergleich el Archivos el Fehler. Tuve sólo gehofft, daß uno de Comunidad ya veces con Usermessages en un ExtMenu experimentiert ha.
Saludo, Christian |
|
|
| |
|
|
|
![Frank Abbing: 05.01.2005](.././../../i/a/noavatar.gif) Frank Abbing | Hi,
[quote:2799a393bf]@Franco: Yo weiß no bastante, si Yo el irgendjemand zumuten kann! Derzeit stehe Yo en rund 9000 Zeilen Code, ca 1000 Variables, algunos 1000 Registry-Einträgen, 2 (salvo el Lingua identischen) DLL, el auch el Programa-Setup enthalten, más Unterverzeichnissen incl. Test-Ini-Archivos usw. Den Code Yo zwar en el eigenen Interesse relativ bien dokumentiert, aber sólo para mi eigenen Bedürfnisse.
Derzeit passiert beim Clic en una Menueintrag entweder gar nichts oder Yo lande irgendwo en el Hauptschleife, wo Yo nada hinmöchte. Yo denke, Yo voluntad sólo veces el Code fehlerbereinigen, bevor Yo jemanden Por favor,, se esta Aufwand anzutun! Yo habe auch ni ältere Versión, el sólo el Ventana y el Menu enthält - el ha damals todavía bien funktioniert. Tal vez finde Yo auch en el Vergleich el Archivos el Fehler. Tuve sólo gehofft, daß uno de Comunidad ya veces con Usermessages en un ExtMenu experimentiert ha. [/quote:2799a393bf] In el Fall erstellt du al besten una kurzen Testcode, el dein Problema darstellt. Je kürzer, desto mejor puede ser dir helfen. |
|
|
| |
|
|
|
![: 05.01.2005](.././../../i/a/noavatar.gif) | ¡Hola Christian...
So? KompilierenMarcaSeparaciónWINDOWTITLE "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
Ohne Gewähr!
Mit %MENUITEM, %LASTMESSAGE oder %MESSAGE kannst du hier no weiterkommen - por qué es eigentlich ya en el Profanhilfe. |
|
|
| |
|
|
|
![: 05.01.2005](.././../../i/a/noavatar.gif) | ¡Hola Christian...
En Verwendung de Usermessages wäre Yo a deiner Punto en una así umfangreichen Code muy vorsichtig - besonders si du no genauestens weißt, qué du como tust. El Usermessage WM_COMMAND=$0111 wirkt se no sólo en Menüs, pero auch eventuell auch en daß Schließen de Dialogen y el Schließen des Hauptfensters de, como %MENUITEM hier no en -2 gesetzt se. Yo persönlich kann z.B. no genauestens sagen, para lo que el Message WM_COMMAND alles verantwortlich es - y scheinbar puede cada, el dir hier no weiterhelfen podría, auch no.
Also: Schau genau después de, si wirklich alles en deinem Programa así se ejecuta, como du dir el vorgestellt hast, sonst gibts eventuell muy böse Überraschungen.
![](.././../../i/s/eusa_think.gif) |
|
|
| |
|
|
|
![Jörg Sellmeyer: 05.01.2005](.././../../i/a/8132362004294faafc5e8c.jpg) Jörg Sellmeyer | ¡Hola, -esta kommen siempre dieselben Werte de 32, 312 oder 512 heraus. Womit erhälst Usted el Werte? Mit %mensaje, %key oder &umessage? Relacionado con la Trackmenu es no entscheidend, pero el Deklaration de menuitem% (Variable! no Systemvariable) y el Auswertung de &umessage. Yo benutze Prfellow y hay es $0111 como Usermessage deklariert, en Controls abzufragen - z. B. Buttons debería sólo cuando se libera reagieren. En me funktioniert lo con &umessage zumindest con generierten Menüs. Ob lo con Extmenu funktioniert, weiß Yo no. Saludo Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... ![](https://www.wuestensand.info/images/CoverFataMorganaklein.jpg) | 05.01.2005 ▲ |
|
|
|
|
![CB: 05.01.2005](.././../../i/a/188878350943cea808357ab.jpg) CB | So, liebe Personas! Yo war en el Zwischenzeit auch no untätig y habe me de tiempo el a Brust genommen, qué Andreas me como así de el Ärmel geschüttelt ha - GENIAL - el va wirklich con mi ExtMenu! ![](.././../../i/s/03.gif)
Als Dankeschön para todos Beteiligten Yo el Konstrukt veces una bißchen aufgepeppt y en el Schnelle todavía unos pocos kleine Überraschungen instalado. Schauts Euch simplemente veces a. Und schaut auch veces en el Menu bajo Über... después de!
@Andreas: Dafür gibts vorläufig una goldene Laterne, porque Usted me el Weg así schön beleuchtet hast, y si yo veces dazukomme, natürlich una Eintrag ebendort. (Wirst ya sehen ,Yo así mi)
@Jörg: Yo habs siempre sólo mi Extmenu probiert y como ists en el Form por desgracia, no gegangen. Macht nix - trotzdem danke!
Noch una Anmerkung: en el Zuge meiner Basteleien para Euch Yo mi Original-DLL algo verkleinert (Setup-Programa rausgenommen etc.), el ging todavía, como Yo dieselbe DLL en Menu_DE.dll umbenannt habe, war el Extmenu no mehr ladbar. Yo verstehe no tan completamente, wieso. Deshalb Yo el abgespeckte Original-DLL genommen.
Nochmals herzlichen Dank a todos Christian |
![](/intl/i/dw.gif) |
|
| |
|
|