| |
|
|
Jörg Sellmeyer | cette Fil [...] hat mich sur qui concept gebracht, la fois Tooltips trop manipuler. malheureusement sendet XProfan ne...aucune wmnotify, si un Tooltip auftaucht. il peut WM_NOTIFY mais comme UserMessage déclarer, ensuite venez qui Message à. je bekomme mais aucun vernünftigen Werte dans qui entsprechende Struktur. Hat déjà quelqu'un avec cela rumexperimentiert et ist sur bessere Ergebnisse gekommen? je hab quoi dans C trouvé, mais avec cela peux je rien anfangen [...] Kommentare am besten avant dem Starten komplett entfernen, weil qui sich sur qui Absturzwahrscheinlichkeit auswirken. KompilierenMarqueSéparation'Achtung! Das knallt andauernd! Testcode - auf eigene Gefahr einzusetzen!
$H Messages.ph
Def &TTN_SHOW , -521
Struct NMHDR = hwndFrom&,idFrom&,code&
Declare NMHDR#
Dim NMHDR#,NMHDR
Proc GetNMHDRInfo
Parameters b#
NMHDR# = b#
Dispose b#
Var s$ = Str$(NMHDR#.hwndFrom&) + " " + Str$(NMHDR#.idFrom&) + " " + Str$(NMHDR#.code&) + " " + Str$(&gettickcount)
Dispose NMHDR#
SetText txt&,s$
EndProc
Cls
Var btn1& = Create("Button",%hwnd,"Test 1",100,100,100,30)
Var btn2& = Create("Button",%hwnd,"Test 2",210,100,100,30)
Var tt1& = Create("ToolTip",%hwnd,btn1&,"Test 1")
Var tt2& = Create("ToolTip",%hwnd,btn2&,"Test 2")
Var txt& = Create("Text",%hwnd,"",0,30,400,24)
UserMessages $10,~WM_NOTIFY
While 1
WaitInput
Print %hwnd,btn1&,tt1&,%notifycode,&lparam'," "
Locate 1,1
If %umessage = $10
Break
ElseIf %umessage = ~WM_NOTIFY
If (&wparam = btn1&) Or (&wparam = btn2&)
GetNMHDRInfo(&lparam)
EndIf
'hier wundert mich, daß ich als Notifycode nur -12 erhalte.
'eigentlich erwarte ich -521 für TTN_SHOW
'Außerdem sollte dann &lparam ein Zeiger auf eine Struktur NMHDR sein
'Die Werte darin sind aber für mich nicht in Einklang zu bringen mit dem,
'was in der Api-Hilfe steht.
'Wenn dieser Kommentar vor dem Funktionsaufruf steht, knallt es übrigens häufiger!
EndIf
Wend
Dispose NMHDR#
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 17.11.2011 ▲ |
|
|
|
|
| si Windows une nouvelle à une wndProc gibt alors un call sur qui wndProc absetzt et Adressen übergibt ensuite existieren qui Adressen pas absolument aussi encore après que qui wndProc finissez ist quoi mais chez Erhalt einer UserMessage jadis qui le cas ist.
Angenommen "Windows" pouvoir:
int speicher=createSpeicher() call wndProcOfDaApp, wnd,wm_irgendwas,grenier,0 freiGibSpeicher(grenier)
ensuite ists aus Sicht qui UserMessage jadis trop spät.
je habs pour cette le cas pas überprüft mais quelque chose comme sollte on considérer.
Sichere Abhilfe schafft là qui SubClassProc ou bien si mans verlustfrei braucht ensuite simple une nProc comme wndProc mettons. |
|
|
| |
|
|
|
| Nachtrag: quelque chose schwindelig wird mir aussi chez KompilierenMarqueSéparation weil Du den grenier oui pas kopierst mais avec den Adressen wurstelst.
Du disposed oui NMHDR#
Übernimm qui Adressen dans 32 Bit simple comme int32 bzw. long et später chez 64bit comme int64. |
|
|
| |
|
|
|
Jörg Sellmeyer |
ensuite ists aus Sicht qui UserMessage jadis trop spät.
cela serait naturellement expliquer, pourquoi dans qui Struktur rien drinsteht. Es reichte oui eigentlich aus, qui XProfan wmnotify aussi beim Auftauchen eines Tooltips sendet et qui Systemvarablen entsprechen bestückt. ensuite pourrait on sich que voici sparen... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 17.11.2011 ▲ |
|
|
|
|
| ou bien avec anderen Worten sommes Utilisateur Messages pour cette le cas ungeeignet mais il y a oui qui SubClassProc. |
|
|
| |
|
|