| |
|
|
ToM | hi!
je hätt la fois wieder ne frage ...
qui Mausposition dedans des eigenen la fenêtre herausfinden ist léger, seulement comment peux je cela faire, si je nichtmal un eigenes la fenêtre hab, dass je qui aktuelle Mausposition herausfinde ?!
hoffe mir kannwer aider
mfg ToM |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| So? KompilierenMarqueSéparationDEF @GetCursorPos(1) !"USER32","GetCursorPos"
Def @ScreenToClient(2) !"USER32","ScreenToClient"
Windowstyle 31
Windowtitle "Globale Mauskoordinaten in Fensterposition umrechnen"
Window 50,75-600,350
Declare pos#
While 0=0
Sleep 10
DIM POS#,8
GetCursorPos(pos#)
Drawtext 0,0,"Global X="+@STR$(@Long(Pos#,0))+@Space$(100)
Drawtext 0,20,"Global Y="+@STR$(@Long(Pos#,4))+@Space$(100)
@ScreenToClient(%HWND,Pos#)
Drawtext 0,40,"Lokal X="+@STR$(@Long(Pos#,0))+@Space$(100)
Drawtext 0,60,"Lokal Y="+@STR$(@Long(Pos#,4))+@Space$(100)
Dispose Pos#
Wend
|
|
|
| |
|
|
|
ToM | merci
oui c'est ca cela meinte je |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
ToM | hmm hätte encore un problem
gibts es une umgekehrte funktion de SetWindowPos
alors dass on qui Position eines anderen Fensters et qui Taille eines anderen Fensters herausfindet hm ?!
mfg tom |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| So? KompilierenMarqueSéparationDef @GetWindowRect(2) !"USER32", "GetWindowRect"
Def @ScreenToClient(2) !"USER32","ScreenToClient"
WindowTitle "Koordinaten"
Windowstyle 31+512
Window 0,0-640,440
Decimals 0
Declare b#,dlg&
LET dlg&=@Create("Window",%hwnd,"Testdialog",150,150,300,300)
Whilenot %MENUITEM=-2
GetMessage
Locate 1,1
Dim b#,16
@GetWindowRect(dlg&,b#)
print "Eckpunkte von Testdialog bezogen auf Bildschirm:",Long(b#,0),Long(b#,4),Long(b#,8),Long(b#,12);" "
@ScreenToClient(%hwnd,b#)
@ScreenToClient(%hwnd,b#+8)
print "Eckpunkte von Testdialog bezogen auf %hwnd:",Long(b#,0),Long(b#,4),Long(b#,8),Long(b#,12);" "
@GetWindowRect(dlg&,b#)
@ScreenToClient(dlg&,b#)
@ScreenToClient(dlg&,b# + 8)
Print ""
PRINT "Breite des Rahmens von Testdialog: "+@STR$(@ABS(Long(b#,0))/2)+" "
PRINT "Höhe der Titelzeile von Testdialog ohne Rahmen: "+@STR$(@ABS(Long(b#,4))-@ABS(Long(b#,0)))+" "
PRINT "Breite des Clientbereiches von Testdialog: "+@STR$(Long(b#,8))+" "
PRINT "Höhe des Clientbereiches von Testdialog: "+@STR$(Long(b#,12))+" "
Dispose b#
Wend
|
|
|
| |
|
|
|
ToM | hmmm meinte cela so z.B.:
la fenêtre: Windows Media Player Hauteur 300 / Breite 400 PosX 200 / PosY 200
alors dass on cet Sachen herausfindet.
mfg tom |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| |
|
| |
|
|
|
ToM | ok habn bissl falsche gedacht, sorry
et thx fürn code et sorry dass je eurer forum so fülle *g*
mfg tom |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| pouvoir rien, ist oui viel place ici . |
|
|
| |
|
|
|
ToM | hmmm chez den oberen quellcode volonté ab et trop 1000il se mettre hunugefügt, alors statt z.B. 512 .. 512000
wieso hm ?!
mfg tom |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| So aussi encore??? KompilierenMarqueSéparationDef @GetWindowRect(2) !"USER32", "GetWindowRect"
Def @ScreenToClient(2) !"USER32","ScreenToClient"
WindowTitle "Koordinaten"
Windowstyle 31+512
Window 0,0-640,440
Decimals 0
Declare b#,dlg&
LET dlg&=@Create("Window",%hwnd,"Testdialog",150,150,300,300)
Whilenot %MENUITEM=-2
GetMessage
Locate 1,1
Dim b#,16
@GetWindowRect(dlg&,b#)
print "Eckpunkte von Testdialog bezogen auf Bildschirm:"+@STR$(Long(b#,0))+" "+@Str$(Long(b#,4))+" "+@Str$(Long(b#,8))+" "+@str$(Long(b#,12))+" "
@ScreenToClient(%hwnd,b#)
@ScreenToClient(%hwnd,b#+8)
print "Eckpunkte von Testdialog bezogen auf %hwnd:"+@str$(Long(b#,0))+" "+@Str$(Long(b#,4))+" "+@Str$(Long(b#,8))+" "+@Str$(Long(b#,12))+" "
@GetWindowRect(dlg&,b#)
@ScreenToClient(dlg&,b#)
@ScreenToClient(dlg&,b# + 8)
Print ""
PRINT "Breite des Rahmens von Testdialog: "+@STR$(@ABS(Long(b#,0))/2)+" "
PRINT "Höhe der Titelzeile von Testdialog ohne Rahmen: "+@STR$(@ABS(Long(b#,4))-@ABS(Long(b#,0)))+" "
PRINT "Breite des Clientbereiches von Testdialog: "+@STR$(Long(b#,8))+" "
PRINT "Höhe des Clientbereiches von Testdialog: "+@STR$(Long(b#,12))+" "
Dispose b#
Wend
|
|
|
| |
|
|
|
| So aussi encore? quelle Profanversion??? KompilierenMarqueSéparationDEF @GetCursorPos(1) !"USER32","GetCursorPos"
Def @ScreenToClient(2) !"USER32","ScreenToClient"
Windowstyle 31
Windowtitle "Globale Mauskoordinaten in Fensterposition umrechnen"
Window 50,75-600,350
Declare pos#
While 0=0
Sleep 10
DIM POS#,8
GetCursorPos(pos#)
Drawtext 0,0,"Global X="+@STR$(@Long(Pos#,0))+" "
Drawtext 0,20,"Global Y="+@STR$(@Long(Pos#,4))+" "
@ScreenToClient(%HWND,Pos#)
Drawtext 0,40,"Lokal X="+@STR$(@Long(Pos#,0))+" "
Drawtext 0,60,"Lokal Y="+@STR$(@Long(Pos#,4))+" "
Dispose Pos#
Wend
|
|
|
| |
|
|