| |
|
|
| Contrôle Static souris Déplacer Andreas Miethe (01.05.2011)
Statics doit den richtigen Stil avons, avec cela vous Meldungen weitergeben. KompilierenMarqueSéparation $H windows.ph
$H messages.ph
Declare appexit%
WindowStyle $003F
WindowTitle "anklicken und verschieben "
Window 207,114 - 771,611
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
Var Text& = Create("Text",%hwnd,"veschieb mich",10,10,100,24)
'#################################
'STATIC MUSS ~SS_NOTIFY STIL HABEN
'#################################
SetStyle Text&,GetStyle(Text&) | ~SS_NOTIFY
'#################################
WhileNot appexit%
WaitInput
If %key = 2
'Dispose hdr#
appexit%=1
Endif
If (%message = ~WM_COMMAND) AND (&lParam = Text&)
UseCursor 5
~ReleaseCapture()
SendMessage(&lParam,~WM_SYSCOMMAND,~SC_MOVE+1,0)
UseCursor 0
EndIf
Endwhile
et so ca va avec chaque Contrôle im la fenêtre, égal quel Stil gesetzt ist. KompilierenMarqueSéparation $H windows.ph
$H messages.ph
STRUCT RECT = Left&,Righ&,Top&,Bottom&
Déclarer appexit%
Fenêtre Style $003F
Titre de la fenêtre "anklicken et Déplacer "
Fenêtre 207,114 - 771,611
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
Var Text& = Créer("Text",%hwnd,"veschieb mich",10,10,100,24)
Var Group& = Créer("Groupbox",%hwnd,"veschieb mich",10,40,300,300)
Var Button& = Créer("Button",%hwnd,"veschieb mich",140,10,100,24)
Var R# = New(RECT)
WhileNot appexit%
WaitInput
~EnumChildWindows(%hwnd,ProcAddr("MoveIt",2),MakeLong(%mousex,%mousey))
Si %clé = 2
Dispose hdr#
Dispose R#
appexit%=1
Endif
Endwhile
Proc MoveIt
Paramètres wnd&,lParam&
~GetClientRect(wnd&,R#)
~MapWindowPoints(wnd&,%hwnd,R#,2)
Si ~PtInRect(R#,LoWord(lParam&),HiWord(lParam&))
~Capture de sortie()
UseCursor 5
SendMessage(wnd&,~WM_SYSCOMMAND,~SC_MOVE+1,0)
UseCursor 0
Retour 0
endif
Retour 1
ENDPROC
|
|
|
| |
|
|