Attention, ce code fait complètement ramer l'ordi au bout d'un moment (quelques minutes)
Code : Tout sélectionner
Enumeration
#MouseEvent_EventType_Click
#MouseEvent_EventType_DoubleClick
#MouseEvent_EventType_Push
#MouseEvent_EventType_Release
#MouseEvent_EventType_Hover
#MouseEvent_EventType_Leave
#MouseEvent_EventType_Drag
#MouseEvent_EventType_DragStart
#MouseEvent_EventType_DragStop
#MouseEvent_EventType_Move
#MouseEvent_EventType_WheelUp
#MouseEvent_EventType_WheelDown
EndEnumeration
Structure MouseEvent_MouseButton
Button.b
Key.i
isPushed.b
isDragged.b
Timestamp.i
EndStructure
Structure MouseEvent_Gadget
Gadget.i
GadgetID.i
MouseHover.b
List MouseButton.MouseEvent_MouseButton()
EndStructure
Structure MouseEvent_EventStack
Gadget.i
EventType.b
Button.b
EndStructure
Threaded NewList MouseEvent_Gadget.MouseEvent_Gadget()
Threaded NewList MouseEvent_EventStack.MouseEvent_EventStack()
Threaded MouseEvent_MouseX, MouseEvent_MouseY
Threaded MouseEventGadget, MouseEventType, MouseEventButton
Procedure isMouseButton(Button)
If GetAsyncKeyState_(Button) & 32768
ProcedureReturn #True
EndIf
EndProcedure
Procedure SendMouseEvent(Gadget, EventType, Button)
LastElement(MouseEvent_EventStack())
AddElement(MouseEvent_EventStack())
MouseEvent_EventStack()\Gadget = Gadget
MouseEvent_EventStack()\EventType = EventType
MouseEvent_EventStack()\Button = Button
EndProcedure
Procedure MouseEvent(WindowEvent)
If DesktopMouseX() <> MouseEvent_MouseX Or DesktopMouseY() <> MouseEvent_MouseY
MouseEvent_MouseX = DesktopMouseX() : MouseEvent_MouseY = DesktopMouseY()
isMouseMoved = #True
EndIf
Window = WindowFromPoint_(MouseEvent_MouseY<<32|MouseEvent_MouseX)
ForEach MouseEvent_Gadget()
;{ MouseHover
If MouseEvent_Gadget()\GadgetID = Window
If MouseEvent_Gadget()\MouseHover = #False
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_Hover, 0)
MouseEvent_Gadget()\MouseHover = #True
ForEach MouseEvent_Gadget()\MouseButton()
If MouseEvent_Gadget()\MouseButton()\isPushed = #False
MouseEvent_Gadget()\MouseButton()\isPushed = -1
EndIf
Next
EndIf
Else
If MouseEvent_Gadget()\MouseHover = #True
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_Leave, 0)
MouseEvent_Gadget()\MouseHover = #False
EndIf
EndIf
;}
;{ MouseButton
ForEach MouseEvent_Gadget()\MouseButton()
If isMouseButton(MouseEvent_Gadget()\MouseButton()\Key) = #True
If MouseEvent_Gadget()\MouseHover = #True
If MouseEvent_Gadget()\MouseButton()\isPushed = #False
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_Push, MouseEvent_Gadget()\MouseButton()\Button)
MouseEvent_Gadget()\MouseButton()\isPushed = #True
EndIf
EndIf
Else
If MouseEvent_Gadget()\MouseButton()\isPushed = #True
If MouseEvent_Gadget()\MouseButton()\isDragged = #False
If MouseEvent_Gadget()\MouseHover = #True
If ElapsedMilliseconds()-MouseEvent_Gadget()\MouseButton()\Timestamp <= 500
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_DoubleClick, MouseEvent_Gadget()\MouseButton()\Button)
MouseEvent_Gadget()\MouseButton()\Timestamp = 0
Else
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_Click, MouseEvent_Gadget()\MouseButton()\Button)
MouseEvent_Gadget()\MouseButton()\Timestamp = ElapsedMilliseconds()
EndIf
EndIf
Else
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_DragStop, MouseEvent_Gadget()\MouseButton()\Button)
MouseEvent_Gadget()\MouseButton()\isDragged = #False
EndIf
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_Release, MouseEvent_Gadget()\MouseButton()\Button)
EndIf
MouseEvent_Gadget()\MouseButton()\isPushed = #False
EndIf
Next
;}
;{ MouseWheel
If WindowEvent = #WM_MOUSEWHEEL
If MouseEvent_Gadget()\MouseHover = #True
If EventwParam() > 0
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_WheelUp, 0)
Else
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_WheelDown, 0)
EndIf
EndIf
EndIf
;}
;{ MouseMovement
If isMouseMoved = #True
ForEach MouseEvent_Gadget()\MouseButton()
If MouseEvent_Gadget()\MouseButton()\isPushed = #True
If MouseEvent_Gadget()\MouseButton()\isDragged = #False
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_DragStart, MouseEvent_Gadget()\MouseButton()\Button)
MouseEvent_Gadget()\MouseButton()\isDragged = #True
EndIf
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_Drag, MouseEvent_Gadget()\MouseButton()\Button)
EndIf
Next
If MouseEvent_Gadget()\MouseHover = #True
SendMouseEvent(MouseEvent_Gadget()\Gadget, #MouseEvent_EventType_Move, 0)
EndIf
EndIf
;}
Next
;Return Event
If ListSize(MouseEvent_EventStack())
FirstElement(MouseEvent_EventStack())
MouseEventGadget = MouseEvent_EventStack()\Gadget
MouseEventType = MouseEvent_EventStack()\EventType
MouseEventButton = MouseEvent_EventStack()\Button
DeleteElement(MouseEvent_EventStack())
ProcedureReturn #True
EndIf
EndProcedure
Procedure MouseEventGadget()
ProcedureReturn MouseEventGadget
EndProcedure
Procedure MouseEventType()
ProcedureReturn MouseEventType
EndProcedure
Procedure MouseEventButton()
ProcedureReturn MouseEventButton
EndProcedure
Procedure isMouseEventGadget(Gadget)
ForEach MouseEvent_Gadget()
If MouseEvent_Gadget()\Gadget = Gadget
ProcedureReturn #True
EndIf
Next
EndProcedure
Macro MouseEvent_AddMouseButton(_Button, _Key)
AddElement(MouseEvent_Gadget()\MouseButton())
MouseEvent_Gadget()\MouseButton()\Button = _Button
MouseEvent_Gadget()\MouseButton()\Key = _Key
EndMacro
Procedure AddMouseEventGadget(Gadget)
If IsGadget(Gadget)
If isMouseEventGadget(Gadget) = #False
AddElement(MouseEvent_Gadget())
MouseEvent_Gadget()\Gadget = Gadget
MouseEvent_Gadget()\GadgetID = GadgetID(Gadget)
MouseEvent_AddMouseButton(#PB_MouseButton_Left, #VK_LBUTTON)
MouseEvent_AddMouseButton(#PB_MouseButton_Middle, #VK_MBUTTON)
MouseEvent_AddMouseButton(#PB_MouseButton_Right, #VK_RBUTTON)
EndIf
EndIf
EndProcedure
Procedure RemoveMouseEventGadget(Gadget)
ForEach MouseEvent_Gadget()
If MouseEvent_Gadget()\Gadget = Gadget
DeleteElement(MouseEvent_Gadget())
Break
EndIf
Next
EndProcedure
; jaPBe Version=3.10.9.849
; Build=0
; Language=0x0000 Language Neutral
; FirstLine=140
; CursorPosition=182
; EnableXP
; EnableOnError
; ExecutableFormat=Windows
; DontSaveDeclare
; EOF
Code : Tout sélectionner
IncludeFile "MouseEvent.pbi"
Global Ma_fenetre = 1
Global Option_Ma_fenetre = #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_BorderLess | #PB_Window_ScreenCentered
Global Titre_Ma_fenetre$ = "Ma fenêtre"
Global Position_X_Ma_fenetre = 351, Position_Y_Ma_fenetre = 299
Global Largeur_Ma_fenetre = 500, Hauteur_Ma_fenetre = 300
Global Delay = 1
Global Mon_bouton_1 = 2
Global Option_Mon_bouton_1 = 0
Global Texte_Mon_bouton_1$ = "Bouton 1"
Global Position_X_Mon_bouton_1 = 25, Position_Y_Mon_bouton_1 = 25
Global Largeur_Mon_bouton_1 = 100, Hauteur_Mon_bouton_1 = 25
Global Ma_liste_icon = 3
Global Option_Ma_liste_icon = 0
Global Titre_Ma_liste_icon$ = "Liste icon 1"
Global Largeur_colonne_Ma_liste_icon = 100
Global Position_X_Ma_liste_icon = 150, Position_Y_Ma_liste_icon = 25
Global Largeur_Ma_liste_icon = 300, Hauteur_Ma_liste_icon = 200
Global Mon_bouton_image_1 = 4
Global Option_Mon_bouton_image_1 = 0
Global Image_Mon_bouton_image_1 = 0
Global Position_X_Mon_bouton_image_1 = 25, Position_Y_Mon_bouton_image_1 = 55
Global Largeur_Mon_bouton_image_1 = 100, Hauteur_Mon_bouton_image_1 = 25
Global EventGadget, EventGadget$, WindowID, EventTimer, GadgetID, EventType , EventType$, WindowOutput, IsWindow, WindowX, WindowY, WindowHeight
Global WindowWidth, GetWindowState, GetWindowColor, WindowID, WindowTitle$, WindowMouseX, WindowMouseY, GadgetType
Global Delay = 1
Global NewList ListeGadget()
Global NewList LargeurColonne.s()
AddElement(ListeGadget())
ListeGadget() = Mon_bouton_1
AddElement(ListeGadget())
ListeGadget() = Mon_bouton_image_1
AddElement(ListeGadget())
ListeGadget() = Ma_liste_icon
Procedure OnMouseGadgetType(Gadget)
If IsGadget(Gadget)
GadgetType = GadgetType(Gadget)
ProcedureReturn GadgetType
EndIf
EndProcedure
Procedure.l IsMouseOverGadget() ; gestion du passge de la souris sur le gadget
ForEach ListeGadget()
If IsGadget(ListeGadget())
GetWindowRect_(GadgetID(ListeGadget()),GadgetRect.RECT)
GetCursorPos_(mouse.POINT)
If mouse\x>=GadgetRect\Left And mouse\x<=GadgetRect\right And mouse\y>=GadgetRect\Top And mouse\y<=GadgetRect\bottom
ProcedureReturn ListeGadget()
Else
EndIf
EndIf
Next ListeGadget()
EndProcedure
Procedure.s GadgetTypeString(TypeGadget)
If TypeGadget = #PB_GadgetType_Button
TypeGadget$ = "Button"
ElseIf TypeGadget = #PB_GadgetType_ButtonImage
TypeGadget$ = "ButtonImage"
ElseIf TypeGadget = #PB_GadgetType_Calendar
TypeGadget$ = "Calendar"
ElseIf TypeGadget = #PB_GadgetType_CheckBox
TypeGadget$ = "CheckBox"
ElseIf TypeGadget = #PB_GadgetType_ComboBox
TypeGadget$ = "ComboBox"
ElseIf TypeGadget = #PB_GadgetType_Container
TypeGadget$ = "Container"
ElseIf TypeGadget = #PB_GadgetType_Date
TypeGadget$ = "Date"
ElseIf TypeGadget = #PB_GadgetType_Editor
TypeGadget$ = "Editor"
ElseIf TypeGadget = #PB_GadgetType_ExplorerCombo
TypeGadget$ = "ExplorerCombo"
ElseIf TypeGadget = #PB_GadgetType_ExplorerList
TypeGadget$ = "ExplorerList"
ElseIf TypeGadget = #PB_GadgetType_ExplorerTree
TypeGadget$ = "ExplorerTree"
ElseIf TypeGadget = #PB_GadgetType_Frame3D
TypeGadget$ = "Frame3D"
ElseIf TypeGadget = #PB_GadgetType_HyperLink
TypeGadget$ = "HyperLink"
ElseIf TypeGadget = #PB_GadgetType_Image
TypeGadget$ = "Image"
ElseIf TypeGadget = #PB_GadgetType_IPAddress
TypeGadget$ = "IPAddress"
ElseIf TypeGadget = #PB_GadgetType_ListIcon
TypeGadget$ = "ListIcon"
ElseIf TypeGadget = #PB_GadgetType_ListView
TypeGadget$ = "ListView "
ElseIf TypeGadget = #PB_GadgetType_MDI
TypeGadget$ = "MDI"
ElseIf TypeGadget = #PB_GadgetType_Option
TypeGadget$ = "Option"
ElseIf TypeGadget = #PB_GadgetType_Panel
TypeGadget$ = "Panel"
ElseIf TypeGadget = #PB_GadgetType_ProgressBar
TypeGadget$ = "ProgressBar"
ElseIf TypeGadget = #PB_GadgetType_Scintilla
TypeGadget$ = "Scintilla"
ElseIf TypeGadget = #PB_GadgetType_ScrollArea
TypeGadget$ = "ScrollArea"
ElseIf TypeGadget = #PB_GadgetType_ScrollBar
TypeGadget$ = "ScrollBar"
ElseIf TypeGadget = #PB_GadgetType_Spin
TypeGadget$ = "Spin"
ElseIf TypeGadget = #PB_GadgetType_Splitter
TypeGadget$ = "Splitter"
ElseIf TypeGadget = #PB_GadgetType_String
TypeGadget$ = "String"
ElseIf TypeGadget = #PB_GadgetType_Text
TypeGadget$ = "Text"
ElseIf TypeGadget = #PB_GadgetType_TrackBar
TypeGadget$ = "TrackBar"
ElseIf TypeGadget = #PB_GadgetType_Tree
TypeGadget$ = "Tree"
ElseIf TypeGadget = #PB_GadgetType_Web
TypeGadget$ = "Web"
ElseIf TypeGadget = #PB_GadgetType_Unknown
TypeGadget$ = "Unknown"
EndIf
ProcedureReturn TypeGadget$
EndProcedure
Procedure.s ResultMouseEventGadget(MouseEvent, MouseEventGadget, MouseEventType, MouseEventButton, NumMouseOverGadget, GadgetTypestring$)
If MouseEvent
If MouseEventGadget = NumMouseOverGadget
If MouseEventType = #MouseEvent_EventType_Click
If MouseEventButton = 1
ResultMouseEventGadget$ = "clique gauche souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 2
ResultMouseEventGadget$ = "clique droit souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 3
ResultMouseEventGadget$ = "clique centre souris sur le Gadget [" + GadgetTypestring$ + "]"
Else
EndIf
ElseIf MouseEventType = #MouseEvent_EventType_DoubleClick
If MouseEventButton = 1
ResultMouseEventGadget$ = "double clique gauche souris apuiyer sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 2
ResultMouseEventGadget$ = "double clique droit souris apuiyer sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 3
ResultMouseEventGadget$ = "double clique centre souris apuiyer sur le Gadget [" + GadgetTypestring$ + "]"
Else
EndIf
ElseIf MouseEventType = #MouseEvent_EventType_Push
If MouseEventButton = 1
ResultMouseEventGadget$ = "clique gauche souris apuiyer sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 2
ResultMouseEventGadget$ = "clique droit souris apuiyer sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 3
ResultMouseEventGadget$ = "clique centre souris apuiyer sur le Gadget [" + GadgetTypestring$ + "]"
Else
EndIf
ElseIf MouseEventType = #MouseEvent_EventType_Release
If MouseEventButton = 1
ResultMouseEventGadget$ = "clique gauche souris relacher sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 2
ResultMouseEventGadget$ = "clique droit souris relacher sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 3
ResultMouseEventGadget$ = "clique centre souris relacher sur le Gadget [" + GadgetTypestring$ + "]"
Else
EndIf
ElseIf MouseEventType = #MouseEvent_EventType_Hover
ResultMouseEventGadget$ = "La souris est entrer sur le gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventType = #MouseEvent_EventType_Leave
ResultMouseEventGadget$ = "La souris est sortie du gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventType = #MouseEvent_EventType_Drag
If MouseEventButton = 1
ResultMouseEventGadget$ = "drag bouton gauche souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 2
ResultMouseEventGadget$ = "drag bouton droit souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 3
ResultMouseEventGadget$ = "drag bouton centre souris sur le Gadget [" + GadgetTypestring$ + "]"
Else
EndIf
ElseIf MouseEventType = #MouseEvent_EventType_DragStart
If MouseEventButton = 1
ResultMouseEventGadget$ = "début du Drag bouton gauche souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 2
ResultMouseEventGadget$ = "début du Drag bouton droit souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 3
ResultMouseEventGadget$ = "début du Drag bouton centre souris sur le Gadget [" + GadgetTypestring$ + "]"
Else
EndIf
ElseIf MouseEventType = #MouseEvent_EventType_DragStop
If MouseEventButton = 1
ResultMouseEventGadget$ = "fin du Drag bouton gauche souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 2
ResultMouseEventGadget$ = "fin du Drag bouton droit souris sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventButton = 3
ResultMouseEventGadget$ = "fin du Drag bouton centre souris sur le Gadget [" + GadgetTypestring$ + "]"
Else
EndIf
ElseIf MouseEventType = #MouseEvent_EventType_Move
ResultMouseEventGadget$ = "la souris bouge sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventType = #MouseEvent_EventType_WheelUp
ResultMouseEventGadget$ = "Molette souris haut sur le Gadget [" + GadgetTypestring$ + "]"
ElseIf MouseEventType = #MouseEvent_EventType_WheelDown
ResultMouseEventGadget$ = "Molette souris bas sur le Gadget [" + GadgetTypestring$ + "]"
EndIf
EndIf
EndIf
ProcedureReturn ResultMouseEventGadget$
EndProcedure
Procedure.s GetGadgetTypeAttribute(Gadget, GadgetType)
If GadgetType = #PB_GadgetType_Button
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ButtonImage
Attribus$ = "Image affichée par le bouton = " + Str(GetGadgetAttribute(Gadget, #PB_Button_Image))
Attribus$ + ", Image affichée par le bouton lorsqu'il est enfoncé = " + Str(GetGadgetAttribute(Gadget, #PB_Button_PressedImage))
ElseIf GadgetType = #PB_GadgetType_Calendar
Attribus$ = "Date minimale que l'utilisateur peut choisir = " + Str(GetGadgetAttribute(Gadget, #PB_Calendar_Minimum))
Attribus$ + ", Date maximale que l'utilisateur peut choisir = " + Str(GetGadgetAttribute(Gadget, #PB_Calendar_Maximum))
ElseIf GadgetType = #PB_GadgetType_CheckBox
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ComboBox
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Container
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Date
Attribus$ = "Date minimale que l'utilisateur peut choisir = " + Str(GetGadgetAttribute(Gadget, #PB_Calendar_Minimum))
Attribus$ + ", Date maximale que l'utilisateur peut choisir = " + Str(GetGadgetAttribute(Gadget, #PB_Calendar_Maximum))
ElseIf GadgetType = #PB_GadgetType_Editor
If GetGadgetAttribute(Gadget, #PB_Editor_ReadOnly) = 1
Attribus$ = "Editable"
Else
Attribus$ = "Non editable"
EndIf
ElseIf GadgetType = #PB_GadgetType_ExplorerCombo
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ExplorerList
If GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_LargeIcon
Attribus$ = "Mode grandes icônes"
ElseIf GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_SmallIcon
Attribus$ = "Mode petites icônes"
ElseIf GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_List
Attribus$ = "Mode Liste"
ElseIf GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_Report
Attribus$ = "Mode détails"
EndIf
ElseIf GadgetType = #PB_GadgetType_ExplorerTree
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Frame3D
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_HyperLink
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Image
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_IPAddress
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ListIcon
If GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_LargeIcon
Attribus$ = "Mode grandes icônes"
ElseIf GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_SmallIcon
Attribus$ = "Mode petites icônes"
ElseIf GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_List
Attribus$ = "Mode Liste"
ElseIf GetGadgetAttribute(Gadget, #PB_Explorer_DisplayMode) = #PB_Explorer_Report
Attribus$ = "Mode détails"
EndIf
ElseIf GadgetType = #PB_GadgetType_ListView
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_MDI
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Option
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Panel
Attribus$ = "Largeur du panel = " + Str(GetGadgetAttribute(Gadget, #PB_Panel_ItemWidth))
Attribus$ + ", Hauteur du panel = " + Str(GetGadgetAttribute(Gadget, #PB_Panel_ItemHeight))
Attribus$ + ", Hauteur des onglets du panel = " + Str(GetGadgetAttribute(Gadget, #PB_Panel_TabHeight))
ElseIf GadgetType = #PB_GadgetType_ProgressBar
Attribus$ = "Valeur minimale = " + Str(GetGadgetAttribute(Gadget, #PB_ProgressBar_Minimum))
Attribus$ + ", Valeur maximale = " + Str(GetGadgetAttribute(Gadget, #PB_ProgressBar_Maximum))
ElseIf GadgetType = #PB_GadgetType_Scintilla
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ScrollArea
Attribus$ = "Position horizontale en pixels actuelle de la bars = " + Str(GetGadgetAttribute(Gadget, #PB_ScrollArea_X))
Attribus$ + ", Position verticale en pixels actuelle de la bars = " + Str(GetGadgetAttribute(Gadget, #PB_ScrollArea_Y))
Attribus$ + ", Largeur en pixels de la zone interne du Gadget = " + Str(GetGadgetAttribute(Gadget, #PB_ScrollArea_InnerWidth))
Attribus$ + ", Hauteur en pixels de la zone interne du Gadget = " + Str(GetGadgetAttribute(Gadget, #PB_ScrollArea_InnerHeight))
ElseIf GadgetType = #PB_GadgetType_ScrollBar
Attribus$ = "Position minimale de la bars = " + Str(GetGadgetAttribute(Gadget, #PB_ScrollBar_Minimum))
Attribus$ + ", Position maximale de la bars = " + Str(GetGadgetAttribute(Gadget, #PB_ScrollBar_Maximum))
Attribus$ + ", Longueur de la page = " + Str(GetGadgetAttribute(Gadget, #PB_ScrollBar_PageLength))
ElseIf GadgetType = #PB_GadgetType_Spin
Attribus$ = "Valeur minimale = " + Str(GetGadgetAttribute(Gadget, #PB_Spin_Minimum))
Attribus$ + ", Valeur maximale = " + Str(GetGadgetAttribute(Gadget, #PB_Spin_Maximum))
ElseIf GadgetType = #PB_GadgetType_Splitter
Attribus$ = "Taille minimale en pixels que le premier Gadget associé peut avoir = " + Str(GetGadgetAttribute(Gadget, #PB_Splitter_FirstMinimumSize))
Attribus$ + ", Taille minimale en pixels que le deuxième Gadget associé peut avoir = " + Str(GetGadgetAttribute(Gadget, #PB_Splitter_SecondMinimumSize))
Attribus$ + ", Numéro du premier Gadget = " + Str(GetGadgetAttribute(Gadget, #PB_Splitter_FirstGadget))
Attribus$ + ", Numéro du deuxième Gadget = " + Str(GetGadgetAttribute(Gadget, #PB_Splitter_SecondGadget))
ElseIf GadgetType = #PB_GadgetType_String
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Text
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_TrackBar
Attribus$ = "Valeur minimale = " + Str(GetGadgetAttribute(Gadget, #PB_TrackBar_Minimum))
Attribus$ + ", Valeur maximale = " + Str(GetGadgetAttribute(Gadget, #PB_TrackBar_Maximum))
ElseIf GadgetType = #PB_GadgetType_Tree
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Web
Attribus$ = "Position de la barre de défilement horizontale = " + Str(GetGadgetAttribute(Gadget, #PB_Web_ScrollX))
Attribus$ + ", Position de la barre de défilement verticale = " + Str(GetGadgetAttribute(Gadget, #PB_Web_ScrollY))
Attribus$ + ", Etas chargement de la page = " + Str(GetGadgetAttribute(Gadget, #PB_Web_Busy))
Attribus$ + ", Progression actuelle = " + Str(GetGadgetAttribute(Gadget, #PB_Web_Progress))
Attribus$ + ", Progression actuelle maximum = " + Str(GetGadgetAttribute(Gadget, #PB_Web_ProgressMax))
Attribus$ + ", Paleur actuelle de l'attribut de blocage des fenêtres popup = " + Str(GetGadgetAttribute(Gadget, #PB_Web_BlockPopups))
Attribus$ + ", Valeur actuelle de l'attribut de blocage du menu popup = " + Str(GetGadgetAttribute(Gadget, #PB_Web_BlockPopupMenu))
Attribus$ + ", Valeur actuelle de la callback = " + Str(GetGadgetAttribute(Gadget, #PB_Web_NavigationCallback))
ElseIf GadgetType = #PB_GadgetType_Unknown
Attribus$ = "Inconnue"
EndIf
ProcedureReturn Attribus$
EndProcedure
Procedure.s GetGadgetItemTypeAttribute(Gadget, GadgetType)
If GadgetType = #PB_GadgetType_Button
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ButtonImage
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Calendar
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_CheckBox
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ComboBox
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Container
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Date
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Editor
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ExplorerCombo
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ExplorerList
ItemAttribus$ = "Largeur de la Colonne = " + Str(GetGadgetItemAttribute(Gadget, Igniorer, #PB_Explorer_ColumnWidth , Colonne))
ElseIf GadgetType = #PB_GadgetType_ExplorerTree
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Frame3D
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_HyperLink
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Image
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_IPAddress
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ListIcon
ItemAttribus$ = "Largeur de la Colonne = " + Str(GetGadgetItemAttribute(Gadget, Igniorer, #PB_ListIcon_ColumnWidth , Colonne))
ElseIf GadgetType = #PB_GadgetType_ListView
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_MDI
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Option
Attribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Panel
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ProgressBar
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Scintilla
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ScrollArea
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_ScrollBar
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Spin
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Splitter
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_String
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Text
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_TrackBar
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Tree
ItemAttribus$ = "Niveau actuel de l'élément dans l'arbre = " + Str(GetGadgetItemAttribute(Gadget, GetGadgetState(Gadget), #PB_Tree_SubLevel , Igniorer))
ElseIf GadgetType = #PB_GadgetType_Web
ItemAttribus$ = "Aucun"
ElseIf GadgetType = #PB_GadgetType_Unknown
ItemAttribus$ = "Inconnue"
EndIf
EndProcedure
Procedure GetSelectionColonne(Gadget, ColumnNomber)
ClearList(LargeurColonne())
Caracteristique_LargeurColonne$ = ""
x = 0
For Colonne = 0 To Nombre_colonne - 1
AddElement(LargeurColonne())
LargeurColonne() = "X = " + Str(x) + ", Largeur = " + Str(GetGadgetItemAttribute(Gadget, 0, #PB_ListIcon_ColumnWidth, Colonne))
Caracteristique_LargeurColonne$ + LargeurColonne()
x + GetGadgetItemAttribute(Gadget, 0, #PB_ListIcon_ColumnWidth, Colonne)
Next
EndProcedure
Procedure.l GetColumnCount(Gadget)
Colonne.LV_COLUMN\mask = #LVCF_WIDTH
Repeat
ColumnCount + 1
Resulta = SendMessage_(GadgetID(Gadget),#LVM_GETCOLUMN,ColumnCount,@Colonne)
Until Resulta = 0
GetSelectionColonne(Gadget, ColumnCount)
ProcedureReturn ColumnCount
EndProcedure
Procedure.l GetMouseColumnPosition(Windows)
If WindowMouseY > GadgetY And WindowMouseY < (GadgetY + GadgetHeight) And WindowMouseX > GadgetX And WindowMouseX < (GadgetX + GadgetWidth)
Position_element = 0
ForEach LargeurColonne()
Position_element + 1
Minimum$ = Mid(LargeurColonne(), 4, 4)
RemoveString(Minimum$, ",", 0, 1)
Maximum$ = Mid(LargeurColonne(), FindString(LargeurColonne(), "Largeur = ", 1) + 10)
Minimum$ = RTrim(Minimum$)
Maximum$ = RTrim(Maximum$)
Minimum = Val(Minimum$)
Maximum = Val(Maximum$)
Maximum + Minimum
If WindowMouseX(Windows) > GadgetX + Minimum + 2 And WindowMouseX(Windows) < GadgetX + Maximum + 2
ProcedureReturn Position_element
EndIf
Next LargeurColonne()
EndIf
EndProcedure
Procedure Ma_fenetre()
OpenWindow(Ma_fenetre, Position_X_Ma_fenetre, Position_Y_Ma_fenetre, Largeur_Ma_fenetre, Hauteur_Ma_fenetre, Titre_Ma_fenetre$, Option_Ma_fenetre)
ButtonGadget(Mon_bouton_1, Position_X_Mon_bouton_1, Position_Y_Mon_bouton_1, Largeur_Mon_bouton_1, Hauteur_Mon_bouton_1, Texte_Mon_bouton_1$, Option_Mon_bouton_1)
ButtonImageGadget(Mon_bouton_image_1, Position_X_Mon_bouton_image_1, Position_Y_Mon_bouton_image_1, Largeur_Mon_bouton_image_1, Hauteur_Mon_bouton_image_1, Image_Mon_bouton_image_1, Option_Mon_bouton_image_1)
ListIconGadget(Ma_liste_icon, Position_X_Ma_liste_icon, Position_Y_Ma_liste_icon, Largeur_Ma_liste_icon, Hauteur_Ma_liste_icon, Titre_Ma_liste_icon$, Largeur_colonne_Ma_liste_icon, Option_Ma_liste_icon)
AddMouseEventGadget(Mon_bouton_1)
AddMouseEventGadget(Mon_bouton_image_1)
AddMouseEventGadget(Ma_liste_icon)
Repeat
Event = WaitWindowEvent(Delay)
MouseEvent = MouseEvent(Event)
MouseEventButton = MouseEventButton()
MouseEventGadget = MouseEventGadget()
MouseEventType = MouseEventType()
WindowID = WindowID(Ma_fenetre)
EventWindow = EventWindow()
EventTimer = EventTimer()
EventGadget = EventGadget()
EventType = EventType()
WindowOutput = WindowOutput(Ma_fenetre)
IsWindow = IsWindow(Ma_fenetre)
WindowX = WindowX(Ma_fenetre)
WindowY = WindowY(Ma_fenetre)
WindowHeight = WindowHeight(Ma_fenetre)
WindowWidth = WindowWidth(Ma_fenetre)
GetWindowState = GetWindowState(Ma_fenetre)
GetWindowColor = GetWindowColor(Ma_fenetre)
WindowTitle$ = GetWindowTitle(Ma_fenetre)
WindowMouseX = WindowMouseX(Ma_fenetre)
WindowMouseY = WindowMouseY(Ma_fenetre)
NumMouseOverGadget = IsMouseOverGadget()
GadgetTypeLong = OnMouseGadgetType(NumMouseOverGadget)
GadgetTypestring$ = GadgetTypeString(GadgetType)
ResultMouseEventGadget$ = ResultMouseEventGadget(MouseEvent, MouseEventGadget, MouseEventType, MouseEventButton, NumMouseOverGadget, GadgetTypestring$)
IsGadget = IsGadget(NumMouseOverGadget)
If IsGadget
GadgetID = GadgetID(NumMouseOverGadget)
GadgetX = GadgetX(NumMouseOverGadget)
GadgetY = GadgetY(NumMouseOverGadget)
GadgetHeight = GadgetHeight(NumMouseOverGadget)
GadgetWidth = GadgetWidth(NumMouseOverGadget)
GadgetData = GetGadgetData(NumMouseOverGadget)
GadgetItemData = GetGadgetItemData(NumMouseOverGadget, GetGadgetState(NumMouseOverGadget))
CountGadgetItems = CountGadgetItems(NumMouseOverGadget)
CountColumn = GetColumnCount(NumMouseOverGadget)
ColumnPosition = GetMouseColumnPosition(Ma_fenetre)
GadgetAttribute$ = GetGadgetTypeAttribute(NumMouseOverGadget, GadgetTypeLong)
GadgetItemAttribute$ = GetGadgetItemTypeAttribute(NumMouseOverGadget, GadgetTypeLong)
GadgetFont = GetGadgetFont(NumMouseOverGadget)
EndIf
If ResultMouseEventGadget$ > ""
Debug ResultMouseEventGadget$
EndIf
Until Event = #PB_Event_CloseWindow
EndProcedure
Ma_fenetre()
; jaPBe Version=3.10.9.849
; FoldLines=002C003100410086008800F000F20180018201E701E901FB01FD020502070227
; FoldLines=02290269
; Build=0
; Language=0x0000 Language Neutral
; FirstLine=21
; CursorPosition=59
; EnableXP
; EnableOnError
; ExecutableFormat=Windows
; DontSaveDeclare
; EOF
De plus quand je passe la souris sur le gadget, il le signiale mais pas quand j'en sort