| |
|
|
- Page 1 - |
|
| |
|
| |
|
|
|
| |
|
- Page 1 - |
|
| @Dieter: Meine Antwort galt Nico der IMHO annahm, dass %mousex und %mousey einfach umrechenbar wäre, was deshalb wenig nutzt, da %mousex und %mousey nur gesetzt werden, wenn der Mauspfeil sich circa dem HWND è. ^^ Dein Beispiel ist doch ok, ist doch im Grunde selbe wie meins oben - ich meinte nur das es besser wäre wenn XProfan %mousex und y setzen potuto und getMousePos nativ wäre. |
|
|
| |
|
|
|
Dieter Zornow | Achso, dann habe ich auch Nico falsch verstanden, naja rapide fortschreitende Alzheimer.
Aber grundsätzlich hat er recht, die Positionen im Hauptfenster potuto man auf Screen-Koordinaten umrechnen lassen. Ist aber im Hauptfenster wahrscheinlich sinnfrei. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 19.10.2009 ▲ |
|
|
|
|
| Bei Omikron-Basic (Atari 1040ST) hiess es auch GetMousePos - fand ich immer schön. |
|
|
| |
|
|
|
Nico Madysa | Ja, dass %MouseX und -Y etwas eingeschränkt sind, vergaß ich, jsuis inconsolable.
Dann wäre aber eine Set-Option, die die beiden Systemvariablen entsprechend ändert, doch wesentlich sinnvoller, oder? |
|
|
| |
|
|
|
| Nico Madysa, Beitrag=54602, Zeitpunkt=24.10.2009
Ja, dass %MouseX und -Y etwas eingeschränkt sind, vergaß ich, jsuis inconsolable.
Dann wäre aber eine Set-Option, die die beiden Systemvariablen entsprechend ändert, doch wesentlich sinnvoller, oder?
get("MousePos",[Handle]) ist sinnvoll, ändert beide Sysvars. |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
Nico Madysa | |
|
|
|
| Ne - ist Müll, als wärs von jemanden der sich keine Gedanken gemacht hat oder damit keine Erfahrung hat.
Get("MousePos",... ist aktiv, was Du vorschlägst wäre passiv.
Um die Mausposition JETZT bzw. zu einer bestimmten Zeit zu beziehen (ist wichtig dies selbst bestimmen zu können!) - und optional relativ zu einem Handle od. rel.z. Bildschrim, necessario man eine Funktion getMousePos - potuto man schön verpacken in get("MousePos",... da ja Systemvariablen gesetzt werden und dies imho mit der Funktion GET im "Einklang" steht.
"GetMousePos" ist auch schön Basichaft, kenne ich jedenfalls so und fands immer ganz praktisch und misse es in XProfan seither weshalb ich in die Mouse.Inc auch die Funktion getMousePos hineinpackte. ^^
Naja, explode hatte ich auch vermisst - was ist daraus geworden?!
Aber naturalmente, mannn kann auch getMousePos verhunzen - potuto man auch get("MausÄthsaPosi",Y,Z,X) draus machen gefolgt von %x%mouse und %y%mouse. -.-
Ein einfaches getmousepos! |
|
|
| |
|
|
|
Nico Madysa | So, wie du es haben willst, bist du damit, einfach die API -- meinetwegen per Call -- zu verwenden, mit 70%-iger Wahrscheinlichkeit schneller und besser bedient. |
|
|
| |
|
|
|
| Was? Wieso ist eine mehrzeilige XProfanfunktion schneller als wenn Roland es nativ implementiert und wie setze ich Systemvariablen %mousex und y? |
|
|
| |
|
|
|
Nico Madysa | Willst du mir sagen, dass Dieters Angebot per deine Zwecke zu langsam ist? |
|
|
| |
|
|
|
| Geht um FPS (Programmeffizienz), teste mal den Unterschied.
Warum sollte der Prozessor auf 100 laufen statt nur auf 5, bei solch wichtiger Funktion auch bei Echtzeitanwendungen? |
|
|
| |
|
|
|
| Das hier ist naturalmente unheimlich schnell, aber leider in Variablen statt Systemvariablen schreibend: KompilierenMarkierenSeparierencls
var mouse.x&=0
var mouse.y&=0
var mouse.xa&=addr(mouse.x&)
var mouse.ya&=addr(mouse.y&)
while 1
GetMousePos(%hWnd,mouse.xa&,mouse.ya&)
locate 1,1
print mouse.x&,mouse.y&," "
waitinput 100
wend
waitinput
end
nProc GetMousePos
Parameters h&,ax&,ay&
var mem&=dim(8)
ClientToScreen(h&,mem&)
var x&=long(mem&,0)
var y&=long(mem&,4)
GetCursorPos(mem&)
x&=long(mem&,0)-x&
y&=long(mem&,4)-y&
dispose(mem&)
long ax&,0=x&
long ay&,0=y&
return 0
endproc
(aber vlt. lässt sich damit trotzdem ganz gut arbeiten) |
|
|
| |
|
|