Code : Tout sélectionner
;/Constantes Window
Enumeration
#Window_0
EndEnumeration
;/Constantes Gadget
Enumeration
#Edit
#Fnt
#Btn_Quit
EndEnumeration
#GA_ROOTOWNER = $00003
Structure WINPROPERTIES
Border.s
Caption.s
Child.s
Childwindow.s
ClipChildren.s
ClipSiblings.s
Disabled.s
Dlgframe.s
Group.s
HScroll.s
Iconic.s
Maximize.s
MaximizeBox.s
Minimize.s
MinimizeBox.s
Overlapped.s
OverlappedWindow.s
Popup.s
PopupWindow.s
SizeBox.s
SysMenu.s
TabStop.s
ThickFrame.s
Tiled.s
TiledWindow.s
Visible.s
VScroll.s
EndStructure
NewList Prop.WINPROPERTIES()
CurPos.POINT
Global WinName$,ClassName$,HRoot
Procedure DisplayProperties()
ClearGadgetItemList(#Edit)
AddGadgetItem(#Edit,-1,"Propriétés :")
AddGadgetItem(#Edit,-1,"")
AddGadgetItem(#Edit,-1,"Titre : "+ WinName$)
AddGadgetItem(#Edit,-1,"Classe : "+ ClassName$)
AddGadgetItem(#Edit,-1,"Handle : "+ Str(HRoot))
AddGadgetItem(#Edit,-1,"=============================")
AddGadgetItem(#Edit,-1,"Style de la fenêtre :")
AddGadgetItem(#Edit,-1,"")
SelectElement(Prop(),0) : If Prop()\Border : AddGadgetItem(#Edit,-1,Prop()\Border) :EndIf
SelectElement(Prop(),1) : If Prop()\Caption : AddGadgetItem(#Edit,-1,Prop()\Caption) :EndIf
SelectElement(Prop(),2) : If Prop()\Child : AddGadgetItem(#Edit,-1,Prop()\Child) :EndIf
SelectElement(Prop(),3) : If Prop()\Childwindow : AddGadgetItem(#Edit,-1,Prop()\Childwindow) :EndIf
SelectElement(Prop(),4) : If Prop()\ClipChildren : AddGadgetItem(#Edit,-1,Prop()\ClipChildren) :EndIf
SelectElement(Prop(),5) : If Prop()\ClipSiblings : AddGadgetItem(#Edit,-1,Prop()\ClipSiblings) :EndIf
SelectElement(Prop(),6) : If Prop()\Disabled : AddGadgetItem(#Edit,-1,Prop()\Disabled) :EndIf
SelectElement(Prop(),7) : If Prop()\Dlgframe : AddGadgetItem(#Edit,-1,Prop()\Dlgframe) :EndIf
SelectElement(Prop(),8) : If Prop()\Group : AddGadgetItem(#Edit,-1,Prop()\Group) :EndIf
SelectElement(Prop(),9) : If Prop()\HScroll : AddGadgetItem(#Edit,-1,Prop()\HScroll) :EndIf
SelectElement(Prop(),10) : If Prop()\Iconic : AddGadgetItem(#Edit,-1,Prop()\Iconic) :EndIf
SelectElement(Prop(),11) : If Prop()\Maximize : AddGadgetItem(#Edit,-1,Prop()\Maximize) :EndIf
SelectElement(Prop(),12) : If Prop()\MaximizeBox : AddGadgetItem(#Edit,-1,Prop()\MaximizeBox) :EndIf
SelectElement(Prop(),13) : If Prop()\Minimize : AddGadgetItem(#Edit,-1,Prop()\Minimize) :EndIf
SelectElement(Prop(),14) : If Prop()\MinimizeBox : AddGadgetItem(#Edit,-1,Prop()\MinimizeBox) :EndIf
SelectElement(Prop(),15) : If Prop()\Overlapped : AddGadgetItem(#Edit,-1,Prop()\Overlapped) :EndIf
SelectElement(Prop(),16) : If Prop()\OverlappedWindow : AddGadgetItem(#Edit,-1,Prop()\OverlappedWindow) :EndIf
SelectElement(Prop(),17) : If Prop()\Popup : AddGadgetItem(#Edit,-1,Prop()\Popup) :EndIf
SelectElement(Prop(),18) : If Prop()\PopupWindow : AddGadgetItem(#Edit,-1,Prop()\PopupWindow) :EndIf
SelectElement(Prop(),19) : If Prop()\SizeBox : AddGadgetItem(#Edit,-1,Prop()\SizeBox) :EndIf
SelectElement(Prop(),20) : If Prop()\SysMenu : AddGadgetItem(#Edit,-1,Prop()\SysMenu) :EndIf
SelectElement(Prop(),21) : If Prop()\TabStop : AddGadgetItem(#Edit,-1,Prop()\TabStop) :EndIf
SelectElement(Prop(),22) : If Prop()\ThickFrame : AddGadgetItem(#Edit,-1,Prop()\ThickFrame) :EndIf
SelectElement(Prop(),23) : If Prop()\Tiled : AddGadgetItem(#Edit,-1,Prop()\Tiled) :EndIf
SelectElement(Prop(),24) : If Prop()\TiledWindow : AddGadgetItem(#Edit,-1,Prop()\TiledWindow) :EndIf
SelectElement(Prop(),25) : If Prop()\Visible : AddGadgetItem(#Edit,-1,Prop()\Visible) :EndIf
SelectElement(Prop(),26) : If Prop()\VScroll : AddGadgetItem(#Edit,-1,Prop()\VScroll) :EndIf
EndProcedure
If OpenWindow(#Window_0, 300, 300, 300, 500, #PB_Window_SystemMenu|#PB_Window_ScreenCentered, "Propriétés",0)
hWnd = WindowID()
If CreateGadgetList(hWnd)
EditorGadget(#Edit,0,0,300,WindowHeight()-55)
ButtonGadget(#Btn_Quit, 100, WindowHeight()-30, 100, 25, "Quitter")
EndIf
SetTimer_(hWnd, 1, 10, 0)
Repeat
GetCursorPos_(CurPos)
HObjet = WindowFromPoint_(CurPos\x, CurPos\y)
HRoot = GetAncestor_(HObjet, #GA_ROOTOWNER)
WinName$ = Space(128)
GetWindowText_(HRoot, @WinName$, 128)
ClassName$ = Space(64)
GetClassName_(HRoot, @ClassName$, 64)
Style = GetWindowLong_(HRoot, #GWL_STYLE)
Select WaitWindowEvent()
Case #WM_TIMER
ClearList(Prop())
AddElement(Prop())
If Style & #WS_BORDER :Prop()\Border = "#WS_BORDER" : EndIf
If Style & #WS_CAPTION :Prop()\Caption = "#WS_CAPTION" : EndIf
If Style & #WS_CHILD :Prop()\Child = "#WS_CHILD" : EndIf
If Style & #WS_CHILDWINDOW :Prop()\Childwindow = "#WS_CHILDWINDOW" : EndIf
If Style & #WS_CLIPCHILDREN :Prop()\ClipChildren = "#WS_CLIPCHILDREN" : EndIf
If Style & #WS_CLIPSIBLINGS :Prop()\ClipSiblings = "#WS_CLIPSIBLINGS" : EndIf
If Style & #WS_DISABLED :Prop()\Disabled = "#WS_DISABLED" : EndIf
If Style & #WS_DLGFRAME :Prop()\Dlgframe = "#WS_DLGFRAME" : EndIf
If Style & #WS_GROUP :Prop()\Group = "#WS_GROUP" : EndIf
If Style & #WS_HSCROLL :Prop()\HScroll = "#WS_HSCROLL" : EndIf
If Style & #WS_ICONIC :Prop()\Iconic = "#WS_ICONIC" : EndIf
If Style & #WS_MAXIMIZE :Prop()\Maximize = "#WS_MAXIMIZE" : EndIf
If Style & #WS_MAXIMIZEBOX :Prop()\MaximizeBox = "#WS_MAXIMIZEBOX" : EndIf
If Style & #WS_MINIMIZE :Prop()\Minimize = "#WS_MINIMIZE" : EndIf
If Style & #WS_MINIMIZEBOX :Prop()\MinimizeBox = "#WS_MINIMIZEBOX" : EndIf
If Style & #WS_OVERLAPPED :Prop()\Overlapped = "#WS_OVERLAPPED" : EndIf
If Style & #WS_OVERLAPPEDWINDOW :Prop()\OverlappedWindow = "#WS_OVERLAPPEDWINDOW" : EndIf
If Style & #WS_POPUP :Prop()\Popup = "#WS_POPUP" : EndIf
If Style & #WS_POPUPWINDOW :Prop()\PopupWindow = "#WS_POPUPWINDOW" : EndIf
If Style & #WS_SIZEBOX :Prop()\SizeBox = "#WS_SIZEBOX" : EndIf
If Style & #WS_SYSMENU :Prop()\SysMenu = "#WS_SYSMENU" : EndIf
If Style & #WS_TABSTOP :Prop()\TabStop = "#WS_TABSTOP" : EndIf
If Style & #WS_THICKFRAME :Prop()\ThickFrame = "#WS_THICKFRAME" : EndIf
If Style & #WS_TILED :Prop()\Tiled = "#WS_TILED" : EndIf
If Style & #WS_TILEDWINDOW :Prop()\TiledWindow = "#WS_TILEDWINDOW" : EndIf
If Style & #WS_VISIBLE :Prop()\Visible = "#WS_VISIBLE" : EndIf
If Style & #WS_VSCROLL :Prop()\VScroll = "#WS_VSCROLL" : EndIf
If HRoot <> hTmp : hTmp = HRoot
DisplayProperties()
EndIf
Case #PB_EventGadget : Select EventGadgetID() : Case #Btn_Quit : quit = 1 : EndSelect
Case #PB_EventCloseWindow : quit = 1
EndSelect
Until quit = 1
End
EndIf

Chris
