| |
|
|
| Das Trackmenu - wenn ich mich recht erinnere - war die Prozedur immer nur brauchbar solange man auf dem hwnd arbeitet, einfach wegen der Positionsangabe.
Mein Vorschlag, wenn Trackmenu keine Parameter bekommt, dann das Trackmenu an Mausposition erstellen.
Mittlerweile hatte ich mir hierfür eine Proc geschrieben, aber mich ja trotzdem Jahrelang gequält (P²4.5=>P7) und damit sich andere nicht ebenso quälen... KompilierenMarkierenSeparieren
Proc Trackmenu_bymousepos
Declare Gmp#,Dx&,Dy&
Dim Gmp#,8
External("user32","ClientToScreen",%Hwnd,Gmp#)
Dx&=Long(Gmp#,0)
Dy&=Long(Gmp#,4)
External("user32","GetCursorPos",Gmp#)
Trackmenu (Long(Gmp#,0)-Dx&),(Long(Gmp#,4)-Dy&)
Dispose Gmp#
oc
|
|
|
| |
|
|
|
Jörg Sellmeyer | Dann wünsch ich mir noch Listen bei denen das Abfangen des sekundären Mausklicks auch wirklich funktioniert! |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08.09.2006 ▲ |
|
|
|
|
| Das ist eigendlich überhaupt kein Hit - vorrausgesetzt fastmode - und Dank EasyVent.Dll auch kein Hit im nicht-fastmode. |
|
|
| |
|
|
|
| Ebensowichtig, Trackmenü als Funktion damit der %menuitem nicht ständig durchgeschliffen wird: KompilierenMarkierenSeparieren
Proc Trackmenu_bymousepos
Declare Gmp#,Dx&,Dy&,item&
Dim Gmp#,8
External("user32","ClientToScreen",%Hwnd,Gmp#)
Dx&=Long(Gmp#,0)
Dy&=Long(Gmp#,4)
External("user32","GetCursorPos",Gmp#)
Trackmenu (Long(Gmp#,0)-Dx&),(Long(Gmp#,4)-Dy&)
item&:=%menuitem
setmenuitem 0
Dispose Gmp#
return item&
Endproc
declare mitem&
cls
createmenu
appendmenu 100,"lol"
appendmenu 200,"jau"
mitem&:=Trackmenu_bymousepos()
print mitem&
waitkey
end
|
|
|
| |
|
|
|
| Threads sind nicht ganz so wichtig, aber Callback müssen unbedingt fehlerfrei funktionieren.
XProfan9 ist schon recht gut in der Geschwindigkeit, geht das mit XProfan11 noch etwas schneller? |
|
|
| |
|
|
|
Michael Dell | Wichtig potuto das Dimensionieren von Arrays circa Parameters & %PCount z.B. bei variablen Plugin & Callback Funktionen sein, vor allem da sowas &(1),@&(2),... ja varaltet ist!
Beispiel: KompilierenMarkierenSeparieren!Proc UeTest
Parameters Test&[%PCount] <-- Das wär doch was, oder?
WhileLoop 1,%PCount,1
Print Str$(Test&[&Loop])
EndWhile
EndProc
Cls
UeTest(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14)
WaitInput
Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 27.09.2006 ▲ | |
|
|
|
|
| Klar ginge das, Roland müsste nur - und vielleicht tut er das ab XProfan 11 - von seinen starren Arrays wegkommen. KompilierenMarkierenSeparieren Ein Dimensionieren wäre somit überhaupt garnicht mehr nötig, was Deine Anforderungen naturalmente toppen und damit einschliessen würde.
Ich habe sowas versucht mit der Lists-Unit hinzubekommen. Diese funktioniert ganz ausgezeichnet. |
|
|
| |
|
|
|
Michael Dell | [quote:26333ed899]Ich habe sowas versucht mit der Lists-Unit hinzubekommen. Diese funktioniert ganz ausgezeichnet. [/quote:26333ed899]Find ich auch, die ist Dir gelungen! |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 27.09.2006 ▲ |
|
|
|
|
Michael Dell | |
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 27.09.2006 ▲ |
|
|
|
|
| <offtopic> [quote:2e1b66105d=Michael Dell][quote:2e1b66105d]Ich habe sowas versucht mit der Lists-Unit hinzubekommen. Diese funktioniert ganz ausgezeichnet. [/quote:2e1b66105d]Find ich auch, die ist Dir gelungen! [/quote:2e1b66105d] Wow danke! Sowas hört man ja mal gerne - besonders da ich ja immer nur aufn Deckel krich wegen der Unità. </offtopic> |
|
|
| |
|
|
|
Jac de Lad | Ja, dynamische Arrays sind schon lange fällig! |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 27.09.2006 ▲ |
|
|
|
|
Nico Madysa | Nachdem Roland in XProfan10 als großes Projekt OpenGL eingebaut hat, potuto er als großes XProfan11-Projekt die angekündigten PDLs durchziehen. (Profan Dynamic Libraries) nachdem, was ich verstanden habe, soll damit XProfan-Code in Nativ-Code umgewandelt werden, oder? |
|
|
| |
|
|