| |
|
|
| Control Static Ratón mover Andreas Miethe (01.05.2011)
Statics necesario el richtigen Stil haben, así ellos Meldungen weitergeben. KompilierenMarcaSeparación $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
Und así es con cada Control en el Ventana, egal welcher Stil gesetzt es. KompilierenMarcaSeparación $H windows.ph
$H messages.ph
STRUCT RECT = Left&,Righ&,Top&,Bottom&
Declarar appexit%
Ventana de Estilo $003F
Título de la ventana "anklicken y mover "
Ventana 207,114 - 771,611
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
Var Text& = Crear("Text",%hwnd,"veschieb mich",10,10,100,24)
Var Group& = Crear("Groupbox",%hwnd,"veschieb mich",10,40,300,300)
Var Button& = Crear("Button",%hwnd,"veschieb mich",140,10,100,24)
Var R# = New(RECT)
Sinestar encargado appexit%
WaitInput
~EnumChildWindows(%hwnd,ProcAddr("MoveIt",2),MakeLong(%mousex,%mousey))
If %key = 2
Disponer hdr#
Disponer R#
appexit%=1
Endif
EndWhile
Proc MoveIt
Parámetros wnd&,lParam&
~GetClientRect(wnd&,R#)
~MapWindowPoints(wnd&,%hwnd,R#,2)
If ~PtInRect(R#,LoWord(lParam&),HiWord(lParam&))
~Captura de lanzamiento()
UseCursor 5
SendMessage(wnd&,~WM_SYSCOMMAND,~SC_MOVE+1,0)
UseCursor 0
Volver 0
endif
Volver 1
ENDPROC
|
|
|
| |
|
|