Язык программирования FreeBasic |
IsMouseOver
IsMouseOver()
Функция возвращает результат нахождения курсора под нужным окном или гаджетом. Если возвращаемое значение 1, то курсор находится над указанным окном или гаджетом. В противном случае возвращает 0.
hwnd - хендл окна
ПРИМЕР:
#Include "window9.bi"
Dim Shared text As Integer
Function windowproc(hwnd As HWND,msg As UINT,wParam As WPARAM,lParam As LPARAM) As Integer
Static a As Integer
Select Case msg
Case WM_LBUTTONDOWN
Dim As RECT re
GetClientRect(Text,@re)
If IsMouseOver(text) Then
SetGadgetColor(1,0,50000,2)
invalidaterect(Text,0,1)
RunProgram("http://www.freebasic.net/forum/")
else
SetGadgetColor(1,0,0,2)
invalidaterect(Text,0,1)
EndIf
Case WM_MOUSEMOVE
Dim As RECT re
GetClientRect(Text,@re)
If IsMouseOver(text) Then
SetCursor(LoadCursor(0,IDC_HAND))
If a=0 then
SetGadgetColor(1,0,255,2)
invalidaterect(Text,0,1)
a=1
EndIf
Else
If a=1 Then
SetGadgetColor(1,0,0,2)
invalidaterect(Text,0,1)
a=0
endif
EndIf
End Select
End Function
Var hwnd=OpenWindow("Hyperlink Test",100,100,500,100)
text=TextGadget(1,10,10,100,30,"Visit on forum Freebasic",SS_CENTER)
ButtonGadget(2,180,10,100,20,"click")
SetWindowCallback(@windowproc(),1)
Do
Var ev=WaitEvent
If ev =EventGadget Then
If EventNumber=2 Then MessBox("","Button")
ElseIf ev=EventClose Then End
EndIf
Loop

Created with the Personal Edition of HelpNDoc: Free HTML Help documentation generator