Je suis en train de modifier mon code me permettant d'afficher des informations sur la fenêtre se trouvant sous la souris.
Le programme récupère :
- handle
- titre
- dimension
- style
- style étendu
Ma modification permet de modifier la fenêtre.
Si je fais clic droit sur "Size", je peux modifier la taille de la fenêtre.
Si je fais clic droit sur "Style", je peux modifier le style de la fenêtre.
Si je fais clic droit sur "Style Ex", je peux modifier le style étendu de la fenêtre.
Et c'est sur le style et le style étendu que j'ai un problème.
J'arrive bien à modifier le style, mais je n'arrive pas à forcer la fenêtre à se rafraichir pour voir le résultat
voir la procedure Modifier_Style(), la ligne RedrawWindow_(
Pour exemple, vous pouvez afficher les informations de la listicon de l'explorateur Windows, vous éditez le style et vous cochez/déchochez #WS_BORDER ce qui doit avoir pour effet d'afficher une bordure noire autour.
Je n'y arrive pas sous Windows 7, pourtant, si je redimensionne la fenêtre (donc je force l'explorateur a se redessiner). on voit apparaitre la bordure noire, ce qui signifie que le style est bien appliqué.
Au secours

Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4
;
; Explication du programme :
; Obtenir des informations sur la fenêtre sous la souris, ainsi que toutes les fenêtres parentes.
Structure Style_Info
Value.l
Text.s
EndStructure
Global NewList Style.Style_Info()
;{ Liste des styles
AddElement(Style()) : Style()\Value = #WS_BORDER : Style()\Text = "#WS_BORDER"
AddElement(Style()) : Style()\Value = #WS_CAPTION : Style()\Text = "#WS_CAPTION"
AddElement(Style()) : Style()\Value = #WS_CHILD : Style()\Text = "#WS_CHILD"
AddElement(Style()) : Style()\Value = #WS_CHILDWINDOW : Style()\Text = "#WS_CHILDWINDOW"
AddElement(Style()) : Style()\Value = #WS_CLIPCHILDREN : Style()\Text = "#WS_CLIPCHILDREN"
AddElement(Style()) : Style()\Value = #WS_CLIPSIBLINGS : Style()\Text = "#WS_CLIPSIBLINGS"
AddElement(Style()) : Style()\Value = #WS_DISABLED : Style()\Text = "#WS_DISABLED"
AddElement(Style()) : Style()\Value = #WS_DLGFRAME : Style()\Text = "#WS_DLGFRAME"
AddElement(Style()) : Style()\Value = #WS_GROUP : Style()\Text = "#WS_GROUP"
AddElement(Style()) : Style()\Value = #WS_HSCROLL : Style()\Text = "#WS_HSCROLL"
AddElement(Style()) : Style()\Value = #WS_ICONIC : Style()\Text = "#WS_ICONIC"
AddElement(Style()) : Style()\Value = #WS_MAXIMIZE : Style()\Text = "#WS_MAXIMIZE"
AddElement(Style()) : Style()\Value = #WS_MAXIMIZEBOX : Style()\Text = "#WS_MAXIMIZEBOX"
AddElement(Style()) : Style()\Value = #WS_MINIMIZE : Style()\Text = "#WS_MINIMIZE"
AddElement(Style()) : Style()\Value = #WS_MINIMIZEBOX : Style()\Text = "#WS_MINIMIZEBOX"
AddElement(Style()) : Style()\Value = #WS_OVERLAPPED : Style()\Text = "#WS_OVERLAPPED"
AddElement(Style()) : Style()\Value = #WS_OVERLAPPEDWINDOW : Style()\Text = "#WS_OVERLAPPEDWINDOW"
AddElement(Style()) : Style()\Value = #WS_POPUP : Style()\Text = "#WS_POPUP"
AddElement(Style()) : Style()\Value = #WS_POPUPWINDOW : Style()\Text = "#WS_POPUPWINDOW"
AddElement(Style()) : Style()\Value = #WS_SIZEBOX : Style()\Text = "#WS_SIZEBOX"
AddElement(Style()) : Style()\Value = #WS_SYSMENU : Style()\Text = "#WS_SYSMENU"
AddElement(Style()) : Style()\Value = #WS_TABSTOP : Style()\Text = "#WS_TABSTOP"
AddElement(Style()) : Style()\Value = #WS_THICKFRAME : Style()\Text = "#WS_THICKFRAME"
AddElement(Style()) : Style()\Value = #WS_TILED : Style()\Text = "#WS_TILED"
AddElement(Style()) : Style()\Value = #WS_TILEDWINDOW : Style()\Text = "#WS_TILEDWINDOW"
AddElement(Style()) : Style()\Value = #WS_VISIBLE : Style()\Text = "#WS_VISIBLE"
AddElement(Style()) : Style()\Value = #WS_VSCROLL : Style()\Text = "#WS_VSCROLL"
;}
Global NewList StyleEx.Style_Info()
;{ Liste des styles étendus
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_ACCEPTFILES : StyleEx()\Text = "#WS_EX_ACCEPTFILES"
; AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_CAPTIONOKBTN : StyleEx()\Text = "#WS_EX_CAPTIONOKBTN"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_CLIENTEDGE : StyleEx()\Text = "#WS_EX_CLIENTEDGE"
; AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_CONTEXTMENU : StyleEx()\Text = "#WS_EX_CONTEXTMENU"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_DLGMODALFRAME : StyleEx()\Text = "#WS_EX_DLGMODALFRAME"
; AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_INK : StyleEx()\Text = "#WS_EX_INK"
#WS_EX_LAYERED = $00080000
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_LAYERED : StyleEx()\Text = "#WS_EX_LAYERED"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_LAYOUTRTL : StyleEx()\Text = "#WS_EX_LAYOUTRTL"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_LTRREADING : StyleEx()\Text = "#WS_EX_LTRREADING"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_NOACTIVATE : StyleEx()\Text = "#WS_EX_NOACTIVATE"
; AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_NOANIMATION : StyleEx()\Text = "#WS_EX_NOANIMATION"
; AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_NODRAG : StyleEx()\Text = "#WS_EX_NODRAG"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_NOINHERITLAYOUT : StyleEx()\Text = "#WS_EX_NOINHERITLAYOUT"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_OVERLAPPEDWINDOW : StyleEx()\Text = "#WS_EX_OVERLAPPEDWINDOW"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_PALETTEWINDOW : StyleEx()\Text = "#WS_EX_PALETTEWINDOW"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_RTLREADING : StyleEx()\Text = "#WS_EX_RTLREADING"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_STATICEDGE : StyleEx()\Text = "#WS_EX_STATICEDGE"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_TOOLWINDOW : StyleEx()\Text = "#WS_EX_TOOLWINDOW"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_TOPMOST : StyleEx()\Text = "#WS_EX_TOPMOST"
AddElement(StyleEx()) : StyleEx()\Value = #WS_EX_WINDOWEDGE : StyleEx()\Text = "#WS_EX_WINDOWEDGE"
;}
Enumeration
#Liste
#Figer
#Barre
#Actualiser
#Copier
#Menu1
#Menu1_Copier
#Menu2
#Menu2_Copier
#Menu2_Modifier
#Size_Left
#Size_Right
#Size_Top
#Size_Bottom
#Size_Width
#Size_Heigh
#Style_Liste
#StyleEx_Liste
EndEnumeration
#Rafraichissement = 1000
#Vitesse = 50
#Temps_Max = #Rafraichissement / #Vitesse
#Temps_Actualiser = 200 / #Vitesse
#Largeur = 250
#Largeur2 = 220
Procedure.l GetTreePos(Gadget.l)
ProcedureReturn GetScrollPos_(GadgetID(Gadget), #SB_VERT)
EndProcedure
Procedure.l SetTreePos(Gadget.l, Position.l)
ProcedureReturn SetScrollPos_(GadgetID(Gadget), #SB_VERT, Position, 1)
EndProcedure
Procedure Analyse_Window(hWnd.l)
Protected Size.RECT, Size_Parent.POINT
LockWindowUpdate_(WindowID(0))
Niveau = 0
Element = -1
ClearGadgetItemList(0)
Repeat
If Niveau = 0
Element + 1 : AddGadgetItem(#Liste, Element, "Sous la souris", 0, 0)
Else
Element + 1 : AddGadgetItem(#Liste, Element, "Parent " + Str(Niveau), 0, 0)
EndIf
Element + 1 : AddGadgetItem(#Liste, Element, "hWnd = " + Str(hWnd), 0, 1)
SetGadgetItemState(#Liste, Element - 1, #PB_Tree_Expanded)
Text1.s = Space(255)
GetWindowText_(hWnd, @Text1, 255)
Text2.s = Space(255)
SendMessage_(hWnd, #WM_GETTEXT, 255, @Text2)
If Text1 Or Text2
Element + 1 :
If Text1 = Text2
AddGadgetItem(#Liste, Element, "Text = " + Text1, 0, 1)
Else
AddGadgetItem(#Liste, Element, "Text", 0, 1)
EndIf
EndIf
If Text1
Element + 1 : AddGadgetItem(#Liste, Element, "GetWindowText_(...) = " + Text1, 0, 2)
EndIf
If Text2
Element + 1 : AddGadgetItem(#Liste, Element, "SendMessage_(...) = " + Text2, 0, 2)
EndIf
If (Text1 And Text2 = "") Or (Text1 = "" And Text2)
SetGadgetItemState(#Liste, Element - 1, #PB_Tree_Collapsed)
ElseIf Text1 And Text2
SetGadgetItemState(#Liste, Element - 2, #PB_Tree_Collapsed)
EndIf
Class.s = Space(255)
GetClassName_(hWnd, @Class, 256)
If Class
Element + 1 : AddGadgetItem(#Liste, Element, "Class = " + Class, 0, 1)
EndIf
Element + 1 : AddGadgetItem(#Liste, Element, "Size", 0, 1)
SetGadgetItemData(#Liste, Element, hWnd)
GetWindowRect_(hWnd, Size.RECT)
hWnd_Parent = GetParent_(hWnd)
If hWnd_Parent <> 0
Size_Parent\X = 0
Size_Parent\y = 0
ClientToScreen_(hWnd_Parent, Size_Parent.POINT)
Size\Left - Size_Parent\X
Size\Right - Size_Parent\X
Size\Top - Size_Parent\y
Size\Bottom - Size_Parent\y
EndIf
Element + 1 : AddGadgetItem(#Liste, Element, "Left = " + Str(Size\Left) + " / Top = " + Str(Size\Top), 0, 2)
SetGadgetItemState(#Liste, Element - 1, #PB_Tree_Expanded)
Element + 1 : AddGadgetItem(#Liste, Element, "Width = " + Str(Size\Right - Size\Left) + " / Height = " + Str(Size\Bottom - Size\Top), 0, 2)
Size_Parent\X = 0
Size_Parent\y = 0
ClientToScreen_(hWnd, Size_Parent.POINT)
Element + 1 : AddGadgetItem(#Liste, Element, "ClientToScreen_(...)", 0, 2)
Element + 1 : AddGadgetItem(#Liste, Element, "X = " + Str(Size_Parent\X), 0, 3)
Element + 1 : AddGadgetItem(#Liste, Element, "Y = " + Str(Size_Parent\y), 0, 3)
GetWindowRect_(hWnd, Size.RECT)
Element + 1 : AddGadgetItem(#Liste, Element, "GetWindowRect_(...)", 0, 2)
Element + 1 : AddGadgetItem(#Liste, Element, "Left = " + Str(Size\Left), 0, 3)
Element + 1 : AddGadgetItem(#Liste, Element, "Right = " + Str(Size\Right), 0, 3)
Element + 1 : AddGadgetItem(#Liste, Element, "Top = " + Str(Size\Top), 0, 3)
Element + 1 : AddGadgetItem(#Liste, Element, "Bottom = " + Str(Size\Bottom), 0, 3)
Style = GetWindowLongPtr_(hWnd, #GWL_STYLE)
If Style
Element + 1 : AddGadgetItem(#Liste, Element, "Style", 0, 1)
SetGadgetItemData(#Liste, Element, hWnd)
ForEach Style()
If Style & Style()\Value
Element + 1 : AddGadgetItem(#Liste, Element, Style()\Text, 0, 2)
EndIf
Next
EndIf
Style = GetWindowLongPtr_(hWnd, #GWL_EXSTYLE)
If Style
Element + 1 : AddGadgetItem(#Liste, Element, "Style Ex", 0, 1)
SetGadgetItemData(#Liste, Element, hWnd)
ForEach StyleEx()
If Style & StyleEx()\Value
Element + 1 : AddGadgetItem(#Liste, Element, StyleEx()\Text, 0, 2)
EndIf
Next
EndIf
hWnd = GetParent_(hWnd)
Niveau + 1
Until hWnd = 0
SetTreePos(#Liste, 0)
LockWindowUpdate_(0)
EndProcedure
Global Window_Size
Procedure Modifier_Size_Fenetre(hWnd.l)
If IsWindow(1)
CloseWindow(1)
EndIf
If OpenWindow(1, 0, 0, #Largeur2, 24 * 3, "Size", #PB_Window_WindowCentered | #PB_Window_SystemMenu, WindowID(0))
Window_Size = hWnd
StickyWindow(1, 1)
Largeur = #Largeur2 / 4
GetWindowRect_(hWnd, Size.RECT)
hWnd_Parent = GetParent_(hWnd)
If hWnd_Parent
ClientToScreen_(hWnd_Parent, Size_Parent.POINT)
Size\Left - Size_Parent\X
Size\Right - Size_Parent\X
Size\Top - Size_Parent\y
Size\Bottom - Size_Parent\y
EndIf
TextGadget(#PB_Any, 0, 0, Largeur, 24, "Left ", #PB_Text_Right)
SpinGadget(#Size_Left, Largeur, 0, Largeur, 24, -10000, 10000, #PB_Spin_Numeric)
SetGadgetState(#Size_Left, Size\Left)
TextGadget(#PB_Any, Largeur * 2, 0, Largeur, 24, "Right ", #PB_Text_Right)
SpinGadget(#Size_Right, Largeur * 3, 0, Largeur, 24, -10000, 10000, #PB_Spin_Numeric)
SetGadgetState(#Size_Right, Size\Right)
TextGadget(#PB_Any, 0, 24, Largeur, 24, "Top ", #PB_Text_Right)
SpinGadget(#Size_Top, Largeur, 24, Largeur, 24, -10000, 10000, #PB_Spin_Numeric)
SetGadgetState(#Size_Top, Size\Top)
TextGadget(#PB_Any, Largeur * 2, 24, Largeur, 24, "Bottom ", #PB_Text_Right)
SpinGadget(#Size_Bottom, Largeur * 3, 24, Largeur, 24, -10000, 10000, #PB_Spin_Numeric)
SetGadgetState(#Size_Bottom, Size\Bottom)
TextGadget(#PB_Any, 0, 24 * 2, Largeur, 24, "Width ", #PB_Text_Right)
SpinGadget(#Size_Width, Largeur, 24 * 2, Largeur, 24, -10000, 10000, #PB_Spin_Numeric)
SetGadgetState(#Size_Width, Size\Right - Size\Left)
TextGadget(#PB_Any, Largeur * 2, 24 * 2, Largeur, 24, "Height ", #PB_Text_Right)
SpinGadget(#Size_Heigh, Largeur * 3, 24 * 2, Largeur, 24, -10000, 10000, #PB_Spin_Numeric)
SetGadgetState(#Size_Heigh, Size\Bottom - Size\Top)
While WindowEvent() : Wend
EndIf
EndProcedure
Procedure Modifier_Size(Type)
Select Type
Case 1
Size.RECT
Size\Top = GetGadgetState(#Size_Top)
Size\Bottom = GetGadgetState(#Size_Bottom)
Size\Left = GetGadgetState(#Size_Left)
Size\Right = GetGadgetState(#Size_Right)
SetWindowPos_(Window_Size, 0, Size\Left, Size\Top, Size\Right - Size\Left, Size\Bottom - Size\Top, 0)
SetGadgetState(#Size_Width, Size\Right - Size\Left)
SetGadgetState(#Size_Heigh, Size\Bottom - Size\Top)
While WindowEvent() : Wend
Case 2
Size.RECT
Size\Top = GetGadgetState(#Size_Top)
Size\Bottom = Size\Top + GetGadgetState(#Size_Heigh)
Size\Left = GetGadgetState(#Size_Left)
Size\Right = Size\Left + GetGadgetState(#Size_Width)
SetWindowPos_(Window_Size, 0, Size\Left, Size\Top, Size\Right - Size\Left, Size\Bottom - Size\Top, #SWP_NOMOVE)
SetGadgetState(#Size_Right, Size\Right)
SetGadgetState(#Size_Bottom, Size\Bottom)
While WindowEvent() : Wend
EndSelect
EndProcedure
Global Window_Style
Procedure Modifier_Style_Fenetre(hWnd.l)
If IsWindow(2)
CloseWindow(2)
EndIf
If OpenWindow(2, 0, 0, #Largeur2, 200, "Style", #PB_Window_WindowCentered | #PB_Window_SystemMenu, WindowID(0))
Window_Style = hWnd
StickyWindow(2, 1)
ListIconGadget(#Style_Liste, 0, 0, #Largeur2, 200, "Style de le fenêtre", 200 - 24, #PB_ListIcon_CheckBoxes | #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #LVS_NOCOLUMNHEADER)
Style = GetWindowLongPtr_(hWnd, #GWL_STYLE)
Element = -1
ForEach Style()
Element + 1
AddGadgetItem(#Style_Liste, Element, Style()\Text)
If Style & Style()\Value
SetGadgetItemState(#Style_Liste, Element, #PB_ListIcon_Checked)
SetGadgetItemData(#Style_Liste, Element, 1)
Else
SetGadgetItemData(#Style_Liste, Element, 0)
EndIf
Next
While WindowEvent() : Wend
EndIf
EndProcedure
Procedure Modifier_Style()
Element = -1
ForEach Style()
Element + 1
If GetGadgetItemState(#Style_Liste, Element) & #PB_ListIcon_Checked
Selection = 1
Else
Selection = 0
EndIf
If Selection <> GetGadgetItemData(#Style_Liste, Element)
SetGadgetItemData(#Style_Liste, Element, Selection)
If Selection
SetWindowLongPtr_(Window_Style, #GWL_STYLE, GetWindowLongPtr_(Window_Style, #GWL_STYLE) | Style()\Value)
Else
SetWindowLongPtr_(Window_Style, #GWL_STYLE, GetWindowLongPtr_(Window_Style, #GWL_STYLE) & ~Style()\Value)
EndIf
RedrawWindow_(Window_Style, 0, 0, #RDW_UPDATENOW)
EndIf
Next
EndProcedure
Global Window_StyleEx
Procedure Modifier_StyleEx_Fenetre(hWnd.l)
If IsWindow(3)
CloseWindow(3)
EndIf
If OpenWindow(3, 0, 0, #Largeur2, 200, "Style Ex", #PB_Window_WindowCentered | #PB_Window_SystemMenu, WindowID(0))
Window_StyleEx = hWnd
StickyWindow(3, 1)
ListIconGadget(#StyleEx_Liste, 0, 0, #Largeur2, 200, "Style de le fenêtre", 200 - 24, #PB_ListIcon_CheckBoxes | #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #LVS_NOCOLUMNHEADER)
Style = GetWindowLongPtr_(hWnd, #GWL_EXSTYLE)
Element = -1
ForEach StyleEx()
Element + 1
AddGadgetItem(#StyleEx_Liste, Element, StyleEx()\Text)
If Style & StyleEx()\Value
SetGadgetItemState(#StyleEx_Liste, Element, #PB_ListIcon_Checked)
SetGadgetItemData(#StyleEx_Liste, Element, 1)
Else
SetGadgetItemData(#StyleEx_Liste, Element, 0)
EndIf
Next
While WindowEvent() : Wend
EndIf
EndProcedure
Procedure Modifier_StyleEx()
Element = -1
ForEach StyleEx()
Element + 1
If GetGadgetItemState(#StyleEx_Liste, Element) & #PB_ListIcon_Checked
Selection = 1
Else
Selection = 0
EndIf
If Selection <> GetGadgetItemData(#StyleEx_Liste, Element)
SetGadgetItemData(#StyleEx_Liste, Element, Selection)
If Selection
SetWindowLongPtr_(Window_StyleEx, #GWL_EXSTYLE, GetWindowLongPtr_(Window_StyleEx, #GWL_EXSTYLE) | Style()\Value)
Else
SetWindowLongPtr_(Window_StyleEx, #GWL_EXSTYLE, GetWindowLongPtr_(Window_StyleEx, #GWL_EXSTYLE) & ~Style()\Value)
EndIf
RedrawWindow_(Window_StyleEx, 0, 0, #RDW_UPDATENOW)
EndIf
Next
EndProcedure
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, #Largeur, 400 + 24 * 3 + 16, "Window ...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0 Or CreateGadgetList(WindowID(0)) = 0
End
EndIf
StickyWindow(0, 1)
TreeGadget(#Liste, 0, 0, #Largeur, 400)
ButtonGadget(#Figer, 0, 400, #Largeur, 24, "Figer", #PB_Button_Toggle)
GadgetToolTip(#Figer, "Figer les informations obtenus pour permettre la lecture")
ProgressBarGadget(#Barre, 0, 400 + 24, #Largeur, 16, 0, #Temps_Max, #PB_ProgressBar_Smooth)
ButtonGadget(#Actualiser, 0, 400 + 40, #Largeur, 24, "Actualiser")
GadgetToolTip(#Actualiser, "Laisser la souris au dessus du bouton pour actualiser les informations en temps réel")
ButtonGadget(#Copier, 0, 400 + 40 + 24, #Largeur, 24, "Copier")
GadgetToolTip(#Copier, "Copier l'ensemble des informations")
If CreatePopupMenu(#Menu1)
MenuItem(#Menu1_Copier, "Copier")
Else
End
EndIf
If CreatePopupMenu(#Menu2)
MenuItem(#Menu2_Copier, "Copier")
MenuBar()
MenuItem(#Menu2_Modifier, "Modifier")
Else
End
EndIf
AddWindowTimer(0, 1, #Vitesse)
Temps = 0
Repeat
Event = WaitWindowEvent()
Select EventWindow()
Case 0 ;- Fenêtre principale
Select Event
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case #Liste
Select EventType()
Case #PB_EventType_RightClick
Position = GetGadgetState(#Liste)
If Position >= 0
If GetGadgetItemData(#Liste, Position) <> 0
DisplayPopupMenu(#Menu2, WindowID(0))
Else
DisplayPopupMenu(#Menu1, WindowID(0))
EndIf
EndIf
EndSelect
Case #Figer
Figer = GetGadgetState(#Figer)
Case #Copier
Texte.s = ""
For n = 0 To CountGadgetItems(#Liste) - 1
For Niveau = 1 To GetGadgetItemAttribute(#Liste, n, #PB_Tree_SubLevel)
Texte + Chr(9)
Next
Texte + GetGadgetItemText(#Liste, n)
Texte + Chr(13) + Chr(10)
Next
SetClipboardText(Texte)
Case #Actualiser
Analyse_Window(Window)
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case #Menu1_Copier, #Menu2_Copier
Position = GetGadgetState(#Liste)
If Position >= 0
SetClipboardText(GetGadgetItemText(#Liste, Position))
EndIf
Case #Menu2_Modifier
Position = GetGadgetState(#Liste)
If Position >= 0
Select GetGadgetItemText(#Liste, Position)
Case "Size"
Modifier_Size_Fenetre(GetGadgetItemData(#Liste, Position))
Case "Style"
Modifier_Style_Fenetre(GetGadgetItemData(#Liste, Position))
Case "Style Ex"
Modifier_StyleEx_Fenetre(GetGadgetItemData(#Liste, Position))
EndSelect
EndIf
EndSelect
Case #PB_Event_Timer
Select EventTimer()
Case 1
Survol_Souris = WindowFromPoint_(DesktopMouseX() | DesktopMouseY() << 32)
If Survol_Souris = GadgetID(#Actualiser) And Figer = 1
If Temps = #Temps_Actualiser
Analyse_Window(Window)
Temps = 0
ElseIf Temps < #Temps_Actualiser
Temps + 1
EndIf
ElseIf Survol_Souris = Survol_Souris_Memoire And Figer = 0
If Temps = #Temps_Max
Window = Survol_Souris
Analyse_Window(Window)
Temps + 1
ElseIf Temps < #Temps_Max
Temps + 1
SetGadgetState(#Barre, Temps)
EndIf
Else
Temps = 0
SetGadgetState(#Barre, Temps)
Survol_Souris_Memoire = Survol_Souris
EndIf
EndSelect
EndSelect
Case 1 ;- Modifier Size
Select Event
Case #PB_Event_CloseWindow
CloseWindow(1)
Case #PB_Event_Gadget
Select EventGadget()
Case #Size_Left, #Size_Right
Modifier_Size(1)
Case #Size_Top, #Size_Bottom, #Size_Width, #Size_Heigh
Modifier_Size(2)
EndSelect
EndSelect
Case 2 ;- Modifier Style
Select Event
Case #PB_Event_CloseWindow
CloseWindow(2)
Case #PB_Event_Gadget
Select EventGadget()
Case #Style_Liste
Select EventType()
Case #PB_EventType_LeftClick
Modifier_Style()
EndSelect
EndSelect
EndSelect
Case 3 ;- Modifier Style Ex
Select Event
Case #PB_Event_CloseWindow
CloseWindow(3)
Case #PB_Event_Gadget
Select EventGadget()
Case #StyleEx_Liste
Select EventType()
Case #PB_EventType_LeftClick
Modifier_StyleEx()
EndSelect
EndSelect
EndSelect
EndSelect
ForEver