Français
Forum

dans einem ExtMenu mittels Usermessage cela Menuitem ermitteln

 

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

2 kB
Hochgeladen:02.01.2005
Downloadcounter183
Download
 
XProfan 8/9.1, Win XP, AMD 64/3200
02.01.2005  
 




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
 
02.01.2005  
 




Frank
Abbing
Hi.

mon Propositions. API:

GetWindowLong() avec GWL_ID Flag
ou bien
GetClassLong() avec GCL_MENUNAMEFlag

pas getestet...
 
02.01.2005  
 




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
 
XProfan 8/9.1, Win XP, AMD 64/3200
03.01.2005  
 




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.
 
03.01.2005  
 




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
 
XProfan 8/9.1, Win XP, AMD 64/3200
05.01.2005  
 




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.
 
05.01.2005  
 



allô Christian...

So?
KompilierenMarqueSéparation
WINDOWTITLE "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.
 
05.01.2005  
 



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.
 
05.01.2005  
 




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

37 kB
Hochgeladen:06.01.2005
Downloadcounter100
Download
 
XProfan 8/9.1, Win XP, AMD 64/3200
05.01.2005  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

7.987 Views

Untitledvor 0 min.
Manfred Barei08.11.2021
Georg Teles07.05.2014
maroro20.04.2014

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie