| |
|
|
ToM | hi!
Yo hätt veces otra vez ne frage ...
El Mausposition innerhalb des eigenen Ventana herausfinden es ligeramente, sólo como kann Yo el hacer, si yo nichtmal una propio Ventana tener, dass Yo el aktuelle Mausposition herausfinde ?!
hoffe me kannwer helfen
mfg ToM |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| So? KompilierenMarcaSeparaciónDEF @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 | danke
genau el meinte Yo |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
ToM | hmm hätte todavía una problem
gibts lo una umgekehrte funktion de SetWindowPos
also dass Man el Position uno otro Fensters y el Größe uno otro Fensters herausfindet hm ?!
mfg tom |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| So? KompilierenMarcaSeparaciónDef @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 el así z.B.:
Ventana: Windows Media Player Höhe 300 / Breite 400 PosX 200 / PosY 200
Also dass uno esta 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 pensamiento, sorry
y thx fürn code y sorry dass Yo eurer forum así fülle *g*
mfg tom |
|
|
| AMD Athlon 64 4500+ / 1500 MB Ram / Windows Server 2003 Enterprise / Profan 7.0 | 21.09.2005 ▲ |
|
|
|
|
| Macht nichts, es sí viel Platz hier . |
|
|
| |
|
|
|
ToM | hmmm en el oberen quellcode voluntad de y a 1000él Stellen hunugefügt, also en lugar de 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 auch todavía??? KompilierenMarcaSeparaciónDef @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 auch todavía? Welche Profanversion??? KompilierenMarcaSeparaciónDEF @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
|
|
|
| |
|
|