Page 1 sur 1

Comment renvoyer toutes les caractéristiques d'un gadget...

Publié : lun. 21/mars/2011 13:52
par dayvid
Bonjour ! :D

Je suis en train de me pencher sur un code pour pouvoir renvoyer
toutes les caractéristique d'un gadget qu'elle qu'il soit "les infos renvoyer change suivent le gadget"

Exemple:

Quand la souris passe sur un gadget, renvoyer toutes les caractéristiques qui lui est associer
X, Y, largeur, Hauteur, Couleur diverses du gadget / texte + style + police

Enfin bref je met pas tous car ya des tonnes de choses a renvoyer suivent le type du gadget
bref je voudrait tous savoir sur le gadget en question :)

Comment puis-je proceder svp :D

Re: Comment renvoyer toutes les caractéristiques d'un gadget

Publié : lun. 21/mars/2011 14:05
par Warkering
Je ne peux pas te répondre complètement puisque je suis présentement en plein cours( :mrgreen: ) mais tu peux déjà obtenir la plupart de ces informations par le biais des commandes de PureBasic sur les gadgets(GadgetX, ...).
Pour le reste, j'irais voir du côté de l'API Windows. Je verrai ça un peu plus tard si j'ai le temps. :wink:

Re: Comment renvoyer toutes les caractéristiques d'un gadget

Publié : lun. 21/mars/2011 14:37
par dayvid
Oui merci beaucoup, effectivement tu as raison :D
seulement (je me complique surement mais bon cher pas)

En faite j'ai commencer a faire un bout de code (je le montrerais quand fini :wink: )
et quand la souris passe sur n'importe quelle gadget et bien les caractéristiques
de ce gadget sons renvoyer, mais sa dépend des gadget (les renvoie d'information ne sons pas les même :wink: )

Pourquoi faire sa ? :?

Bin je ne sais pas, j'ai eu l'idée comme sa, je pence que sa peux servir
par exemple a afficher les informations dans divers gadget

Re: Comment renvoyer toutes les caractéristiques d'un gadget

Publié : mar. 22/mars/2011 14:19
par Kwai chang caine
Tiens Dayvid, un beau jouet qui nous viens du grand NETMAESTRO
http://www.purebasic.fr/english/viewtop ... 60#p224060
Avec ça tu devrais avoir un debut :wink:

Re: Comment renvoyer toutes les caractéristiques d'un gadget

Publié : mer. 23/mars/2011 0:44
par PAPIPP
Bonjour Kcc
Pour PB451 petite modif

Code : Tout sélectionner

;==============================================================
; Program:         Digger
; Author:          Lloyd Gallant (netmaestro)
; Date:            December 20, 2007
; Target OS:       Microsoft Windows All
; Target Compiler: PureBasic 4.0 and later
; License:         Free, unrestricted, use at your own risk
;==============================================================

OpenWindow(0,0,0,440,64,"",#PB_Window_BorderLess|#WS_BORDER|#PB_Window_Invisible)
StickyWindow(0,1)
wclight =  RGB(255,255,223)
wcdark  =  RGB(235,235,203)
SetWindowColor(0,wclight)
ExamineDesktops()
screenw = DesktopWidth(0)
screenh = DesktopHeight(0)
CreateGadgetList(WindowID(0))
TextGadget(0,0,0,100,16,"")
TextGadget(1,60,0,80,16,"Hwnd")
TextGadget(2,140,0,100,16,"Caption")
TextGadget(3,240,0,60,16,"Ctrl ID")
TextGadget(4,300,0,140,16,"Classname")
TextGadget(5,0,16,60,10,"")
TextGadget(6,0,26,60,16,"Window:")
TextGadget(7,0,42,60,22,"   Parent:")
TextGadget(8,60,26,80,16,"")
TextGadget(9,140,26,100,16,"")
TextGadget(10,240,26,60,16,"")
TextGadget(11,300,26,140,16,"")
TextGadget(12,60,42,80,16,"")
TextGadget(13,140,42,100,16,"")
TextGadget(14,240,42,60,16,"")
TextGadget(15,300,42,140,16,"")
For i=0 To 7
  SetGadgetColor(i,#PB_Gadget_BackColor,wcdark)
Next
For i=8 To 15
  SetGadgetColor(i,#PB_Gadget_BackColor,wclight)
Next
HideWindow(0,0)

Repeat
  Delay(1)
  ev=WindowEvent()
  x=DesktopMouseX():y=DesktopMouseY()
  If x > screenw-WindowWidth(0)
    wx = x-WindowWidth(0)
  Else
    wx = x+10
  EndIf
  If y >= screenh-WindowHeight(0)+20
    wy = y-WindowHeight(0)-10
  Else
    wy = y+20
  EndIf
  ResizeWindow(0, wx, wy, #PB_Ignore, #PB_Ignore)
  hwnd = WindowFromPoint_(x|y<<32) ; ***********************************************   ICI MODIF
  If hwnd<>oldhwnd Or ev=#PB_Event_Repaint
    hwnd$ = Hex(hwnd)
    caption$ = Space(100)
    GetWindowText_(hwnd, @caption$, 99)
    ctrlid$ = Str(GetWindowLong_(hwnd, #GWL_ID))
    class$ = Space(140)
    GetClassName_(hwnd, @class$, 139)
    SetGadgetText(8, hwnd$)
    SetGadgetText(9, caption$)
    SetGadgetText(10, ctrlid$)
    SetGadgetText(11, class$)
    parent = GetParent_(hwnd)
    parent$ = Hex(parent)
    caption$ = Space(100)
    GetWindowText_(parent, @caption$, 99)
    ctrlid$ = Str(GetWindowLong_(parent, #GWL_ID))
    class$ = Space(140)
    GetClassName_(parent, @class$, 139)
    SetGadgetText(12, parent$)
    SetGadgetText(13, caption$)
    SetGadgetText(14, ctrlid$)
    SetGadgetText(15, class$)
    oldhwnd = hwnd   
    RedrawWindow_(WindowID(0),0,0,#RDW_UPDATENOW)
  EndIf

Until GetAsyncKeyState_(#VK_RBUTTON) & 32768 

Re: Comment renvoyer toutes les caractéristiques d'un gadget

Publié : mer. 23/mars/2011 14:33
par dayvid
Ouoi !!!!

C'est quoi ce truc de dingue 8O
ouch je sais pas si c'est ce que je voulais, gros code :?

Bien, je vous remerci pour votre tres précieuse aide :)

maintenant je poste ce que j'ai commencer a faire
pour vous donner une petite idée de ce que je souhaiterais

Code : Tout sélectionner

Enumeration #PB_Compiler_EnumerationValue 
  #Fenetre_windows
  #a
  #b
  #c
EndEnumeration

#Alinea = Chr(13) + Chr(10)
#WM_MOUSEWHEEL = $20A
Global delta
Global ClikTurn
Global Evenements$
Global Envoie_message
Global Identiffication_gadget$

UsePNGImageDecoder()

Procedure.l IsMouseOverGadget(Gadget) ; gestion du passge de la souris sur le gadget
  If IsGadget(Gadget)
    GetWindowRect_(GadgetID(Gadget),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 #True 
    Else 
      ProcedureReturn #False 
    EndIf 
  EndIf
EndProcedure 

Procedure.s TypeGadget(Gadget)
  
  TypeGadget = GadgetType(Gadget)
  
  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 Identiffication_gadget()
  For Numero_gadget = 1 To #PB_Compiler_EnumerationValue 
    If IsMouseOverGadget(Numero_gadget)
      Identiffication_gadget$ = ""
      
      If TypeGadget(Numero_gadget) = "Button"
        
        Identiffication_gadget$ + "Le gadget est t-il initialiser = " 
        If IsGadget(Numero_gadget) > 0 
          Identiffication_gadget$ + "Oui" + #Alinea
        Else
          Identiffication_gadget$ + "Non" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "N° ID du gadget = " + Str(GadgetID(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Type de gadget = " + TypeGadget(Numero_gadget) + #Alinea
        Identiffication_gadget$ + "Gadget X = " + Str(GadgetX(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Gadget Y = " + Str(GadgetY(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Largeur du gadget = " + Str(GadgetHeight(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Hauteur du gadget = " + Str(GadgetWidth(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "valeur personnaliser du gadget = "
        
        If GetGadgetData(Numero_gadget) > 0
          Identiffication_gadget$ + Str(GetGadgetData(Numero_gadget)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble avoir aucune valeur personnaliser" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "ID de la police du gadget = " + Str(GetGadgetFont(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Etas du gadget = "
        
        If GetGadgetState(Numero_gadget) > 0
          Identiffication_gadget$ + "pressé" + #Alinea
        Else
          Identiffication_gadget$ + "Normale" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Texte du gadget = " + Chr(34) + GetGadgetText(Numero_gadget) + Chr(34) + #Alinea
        Identiffication_gadget$ + "Couleur du texte du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)))) + #Alinea
          Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Couleur du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        
      ElseIf TypeGadget(Numero_gadget) = "ButtonImage"
        
        Identiffication_gadget$ + "Le gadget est t-il initialiser = " 
        If IsGadget(Numero_gadget) > 0 
          Identiffication_gadget$ + "Oui" + #Alinea
        Else
          Identiffication_gadget$ + "Non" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "N° ID du gadget = " + Str(GadgetID(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Type de gadget = " + TypeGadget(Numero_gadget) + #Alinea
        Identiffication_gadget$ + "Gadget X = " + Str(GadgetX(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Gadget Y = " + Str(GadgetY(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Largeur du gadget = " + Str(GadgetHeight(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Hauteur du gadget = " + Str(GadgetWidth(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Identifiant de l'image affichée par le bouton = "
        
        If GetGadgetAttribute(Numero_gadget, #PB_Button_Image) > 0
          Identiffication_gadget$ + Str(GetGadgetAttribute(Numero_gadget, #PB_Button_Image)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble pas avoir d'image" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Identifiant de l'image affichée par le bouton lorsqu'il est enfoncé = "
        
        If GetGadgetAttribute(Numero_gadget, #PB_Button_PressedImage) > 0
          Identiffication_gadget$ + Str(GetGadgetAttribute(Numero_gadget, #PB_Button_PressedImage)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble pas avoir d'image" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "valeur personnaliser du gadget = "
        
        If GetGadgetData(Numero_gadget) > 0
          Identiffication_gadget$ + Str(GetGadgetData(Numero_gadget)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble avoir aucune valeur personnaliser" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "ID de la police du gadget = " + Str(GetGadgetFont(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Etas du gadget = "
        
        If GetGadgetState(Numero_gadget) > 0
          Identiffication_gadget$ + "pressé" + #Alinea
        Else
          Identiffication_gadget$ + "Normale" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Texte du gadget = " + Chr(34) + GetGadgetText(Numero_gadget) + Chr(34) + #Alinea
        Identiffication_gadget$ + "Couleur du texte du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Couleur du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
      ElseIf TypeGadget(Numero_gadget) = "Calendar"
        
      ElseIf TypeGadget(Numero_gadget) = "CheckBox"
        
      ElseIf TypeGadget(Numero_gadget) = "ComboBox"
        
      ElseIf TypeGadget(Numero_gadget) = "Container"
        
      ElseIf TypeGadget(Numero_gadget) = "Date"
        
      ElseIf TypeGadget(Numero_gadget) = "Editor"
        
      ElseIf TypeGadget(Numero_gadget) = "ExplorerCombo"
        
      ElseIf TypeGadget(Numero_gadget) = "ExplorerList"
        
      ElseIf TypeGadget(Numero_gadget) = "ExplorerTree"
        
      ElseIf TypeGadget(Numero_gadget) = "Frame3D"
        
      ElseIf TypeGadget(Numero_gadget) = "HyperLink"
        
      ElseIf TypeGadget(Numero_gadget) = "Image"
        
      ElseIf TypeGadget(Numero_gadget) = "IPAddress"
        
      ElseIf TypeGadget(Numero_gadget) = "ListIcon"
        
      ElseIf TypeGadget(Numero_gadget) = "ListView"
        
      ElseIf TypeGadget(Numero_gadget) = "MDI"
        
      ElseIf TypeGadget(Numero_gadget) = "Option"
        
      ElseIf TypeGadget(Numero_gadget) = "Panel"
        
      ElseIf TypeGadget(Numero_gadget) = "ProgressBar"
        
      ElseIf TypeGadget(Numero_gadget) = "Scintilla"
        
      ElseIf TypeGadget(Numero_gadget) = "ScrollArea"
        
      ElseIf TypeGadget(Numero_gadget) = "ScrollBar"
        
      ElseIf TypeGadget(Numero_gadget) = "Spin"
        
      ElseIf TypeGadget(Numero_gadget) = "Splitter"
        
      ElseIf TypeGadget(Numero_gadget) = "String"
        
      ElseIf TypeGadget(Numero_gadget) = "Text"
        
      ElseIf TypeGadget(Numero_gadget) = "TrackBar"
        
      ElseIf TypeGadget(Numero_gadget) = "Tree"
        
      ElseIf TypeGadget(Numero_gadget) = "Web"
        
      ElseIf TypeGadget(Numero_gadget) = "Unknown"
        
      EndIf
      
      Identiffication_gadget$ + "N° ID du gadget = " + Str(GadgetID(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "Type de gadget = " + TypeGadget(Numero_gadget) + #Alinea
      Identiffication_gadget$ + "Gadget X = " + Str(GadgetX(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "Gadget Y = " + Str(GadgetY(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "Largeur du gadget = " + Str(GadgetHeight(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "Hauteur du gadget = " + Str(GadgetWidth(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "Couleur du texte de l'élément du gadget = " + Str(GetGadgetItemColor(Numero_gadget, GetGadgetState(Numero_gadget), #PB_Gadget_FrontColor, Colonne)) + #Alinea
      Identiffication_gadget$ + "Couleur de fond de l'élément du gadget = " + Str(GetGadgetItemColor(Numero_gadget, GetGadgetState(Numero_gadget), #PB_Gadget_BackColor, Colonne)) + #Alinea
      Identiffication_gadget$ + "valeur personnaliser de l'element = " + Str(GetGadgetItemData(Numero_gadget, GetGadgetState(Numero_gadget))) + #Alinea
      Identiffication_gadget$ + "valeur personnaliser du gadget = " + Str(GetGadgetData(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "ID de la police du gadget = " + Str(GetGadgetFont(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "Etas du gadget = " + Str(GetGadgetState(Numero_gadget)) + #Alinea
      Identiffication_gadget$ + "Texte du gadget = " + GetGadgetText(Numero_gadget) + #Alinea
      Identiffication_gadget$ + "Couleur du texte du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)) + #Alinea
      Identiffication_gadget$ + "Couleur du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)) + #Alinea
      Identiffication_gadget$ + "Couleur des lignes du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_LineColor)) + #Alinea
      Identiffication_gadget$ + "Couleur du texte du titre du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_TitleFrontColor)) + #Alinea
      Identiffication_gadget$ + "Couleur d'arrièr plant du texte du titre du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_TitleBackColor)) + #Alinea
      Identiffication_gadget$ + "Couleur du texte inactif du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_GrayTextColor)) + #Alinea
      Identiffication_gadget$ + "Couleur des lignes du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_LineColor)) + #Alinea
      
    EndIf
  Next
EndProcedure

Procedure ProcedureCallback(WindowID, Message, wParam, lParam) ; gestion de la molette de la souris
  Resultat = #PB_ProcessPureBasicEvents
  Envoie_message = 1
  
  Identiffication_gadget()
  SetClipboardText(Identiffication_gadget$)
  Debug Identiffication_gadget$
  
  Select Message
    Case 512 ; déplacement de la souris sur la fenêtre
        Evenements$ = "déplacement de la souris sur la fenêtre"
     Case 513 ; bouton gauche appuiler avec la souris sur la fenêtre
      Evenements$ = "bouton gauche appuiler avec la souris sur la fenêtre"
      Clique_gauche_souris = 1
     Case 514 ; bouton gauche relacher avec la souris sur la fenêtre
      Evenements$ = "bouton gauche relacher avec la souris sur la fenêtre"
      Clique_gauche_souris = 0
     Case 515 ; double clique gauche avec la souris sur la fenêtre
      Evenements$ = "double clique gauche avec la souris sur la fenêtre"
      Double_clique_gauche_souris = 1
      Case 516 ; bouton droit appuiler avec la souris sur la fenêtre
        Evenements$ = "bouton droit appuiler avec la souris sur la fenêtre"
        Clique_droit_souris = 1
     Case 517 ; bouton droit relacher avec la souris sur la fenêtre
      Evenements$ = "bouton droit relacher avec la souris sur la fenêtre"
      Clique_droit_souris = 0
     Case 518 ; double clique droit avec la souris sur la fenêtre
      Evenements$ = "double clique droit avec la souris sur la fenêtre"
      Double_clique_droit_souris = 1
     Case 519 ; bouton centrale appuiler avec la souris sur la fenêtre
      Evenements$ = "bouton centrale appuiler avec la souris sur la fenêtre"
      Clique_centre_souris = 1
     Case 520 ; bouton centrale relacher avec la souris sur la fenêtre
      Evenements$ = "bouton centrale relacher avec la souris sur la fenêtre"
      Clique_centre_souris = 0
     Case 521 ; double clique centrale avec la souris sur la fenêtre
      Evenements$ = "double clique centrale avec la souris sur la fenêtre"
      Double_clique_centre_souris = 1
    Case 522 ; déplacement de la molètte de la souris sur la fenêtre"
      
      hi.w=(wParam>>16)
      lo.w=wParam & $FFFF
      
      If lo.w & #MK_MBUTTON ;indique le click de la molette seulement si celle-ci tourne
        ClikTurn = 1
      Else
        ClikTurn = 0
      EndIf
      
      coef=4
      delta=hi*coef
      
      While delta>120
        delta=delta-(120+coef)
      Wend
      
      While delta< -120
        delta=delta+(120+coef)
      Wend
      
        If delta > 0 ; déplacement de la molètte de la souris vers le haut"
          
          If ClikTurn = 1 ; le bouton centrale de la souris est appuiyer
            Evenements$ = "le bouton centrale de la souris est appuiyer + déplacement de la molètte de la souris vers le haut"
          Else
            Evenements$ = "déplacement de la molètte de la souris vers le haut"
          EndIf
          
        Else ; déplacement de la molètte de la souris vers le bas"
          
          If ClikTurn = 1 ; le bouton centrale de la souris est appuiyer
            Evenements$ = "le bouton centrale de la souris est appuiyer + déplacement de la molètte de la souris vers le bas"
          Else
            Evenements$ = "déplacement de la molètte de la souris vers le bas"
          EndIf
          
        EndIf
        
      Default
        
  EndSelect
  
  ProcedureReturn Resultat
EndProcedure

Procedure Fenetre_windows()
  If OpenWindow(#Fenetre_windows, 327, 177, 600, 500, "Fenêtre windows",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    SetWindowCallback(@ProcedureCallback(), #Fenetre_windows)
    
    ButtonGadget(#a, 100, 50, 100, 25, "abc")
    ButtonImageGadget( #b, 100, 100, 100, 25, 0)
    
    
    ListIconGadget(#c, 100, 150, 300, 200, "abcde", 100)
    AddGadgetItem(#c, -1, "aaa")
    AddGadgetItem(#c, -1, "bbb")
    AddGadgetItem(#c, -1, "ccc")
    AddGadgetItem(#c, -1, "ddd")
    AddGadgetItem(#c, -1, "eee")
    AddGadgetItem(#c, -1, "fff")
    
    
    
    Repeat ; Start of the event loop
      
      If Envoie_message = 1
        Debug Evenements$
        Evenements$ = ""
        Envoie_message = 0
      EndIf
      
      Event = WaitWindowEvent(1)        ; This line waits until an event is received from Windows
      WindowID = EventWindow()          ; The Window where the event is generated, can be used in the gadget procedures
      GadgetID = EventGadget()          ; Is it a gadget event?
      EventType = EventType()           ; The event typeEvent
      
      
      If GadgetID = 0
        
      EndIf
      
      
    Until Event = #PB_Event_CloseWindow ; End of the event loop
    
  EndIf
EndProcedure

Fenetre_windows()
 
; jaPBe Version=3.10.9.849
; FoldLines=0012001C001E0065
; Build=0
; Language=0x0000 Language Neutral
; FirstLine=0
; CursorPosition=416
; EnableXP
; ExecutableFormat=Windows
; DontSaveDeclare
; EOF
Je suis loin d'avoir finie la chose mais c'est un truc dans ce style la je pense que je voudrait :D
merci a vous :D

Re: Comment renvoyer toutes les caractéristiques d'un gadget

Publié : mer. 23/mars/2011 15:50
par Kwai chang caine
C'est quoi ce truc de dingue
ouch je sais pas si c'est ce que je voulais, gros code
Avant de brailler....t'as essayé :D
Et pis en parlant de gros code...t'es un rigolo toi...le tiens il est 10 fois plus long :lol:

Le code de NETMAESTRO est un peu comme un hook, il fonctionne sur presque tout window, donc evidemment sur ta fenetre.
Demarre ton code et celui de NET en meme temps et promene ta souris sur ta fenetre tu verras que tu obtiendras des renseignements interessants sur la classe de l'objet etc ...

J'avais bien compris ce que tu voulais, mais peut etre que tu peux mixer les deux.
Enfin moi ce que j'en dit :roll:

Re: Comment renvoyer toutes les caractéristiques d'un gadget

Publié : ven. 25/mars/2011 14:55
par dayvid
Salut :D

Merci pour le code, c'est pas mal en éffets

je poste une petite suite (pas encore fini)
mais déjà c'est pas mal

Code : Tout sélectionner

Enumeration #PB_Compiler_EnumerationValue 
  #Fenetre_windows
  #StatusBar
  #a
  #b
  #ListIcon_0
EndEnumeration

#Alinea = Chr(13) + Chr(10)
#WM_MOUSEWHEEL = $20A
Global delta
Global ClikTurn
Global Evenements$
Global Envoie_message
Global Identiffication_gadget$

UsePNGImageDecoder()


Global NewList LargeurColonne.s()
Global Nombre_colonne

Global WindowMouseX
Global WindowMouseY
        
Global GadgetX
Global GadgetY
        
Global GadgetHeight
Global GadgetWidth

Global Sauvegarde_LargeurColonne$

Global passage_1
Global Sauvegarde_colonne

Global passage_2

Procedure ListIcon_GetColumnCount(Gadget)  
  col.LV_COLUMN\mask = #LVCF_WIDTH  
  Repeat  
    a+1:x=SendMessage_(GadgetID(Gadget),#LVM_GETCOLUMN,a,@col)  
  Until x = 0  
  ProcedureReturn a  
EndProcedure  

Procedure GetSelectionColonne(Gadget)
  
    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 GetMousePosition()
  
    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(#Fenetre_windows) > GadgetX + Minimum + 2 And WindowMouseX(#Fenetre_windows) < GadgetX + Maximum + 2
            Sauvegarde_colonne = Position_element
            ;StatusBarText(#StatusBar, 0, "Colonne n° " + Str(Position_element))
            ProcedureReturn Sauvegarde_colonne
        EndIf
        
      Next LargeurColonne()
      
    EndIf
  
EndProcedure

Procedure.l IsMouseOverGadget(Gadget) ; gestion du passge de la souris sur le gadget
  If IsGadget(Gadget)
    GetWindowRect_(GadgetID(Gadget),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 #True 
    Else 
      ProcedureReturn #False 
    EndIf 
  EndIf
EndProcedure 

Procedure.s TypeGadget(Gadget)
  
  TypeGadget = GadgetType(Gadget)
  
  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 Identiffication_gadget()
  For Numero_gadget = 1 To #PB_Compiler_EnumerationValue 
    If IsMouseOverGadget(Numero_gadget)
      Identiffication_gadget$ = ""
      
      If TypeGadget(Numero_gadget) = "Button"
        
        Identiffication_gadget$ + "Le gadget est t-il initialiser = " 
        If IsGadget(Numero_gadget) > 0 
          Identiffication_gadget$ + "Oui" + #Alinea
        Else
          Identiffication_gadget$ + "Non" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "N° ID du gadget = " + Str(GadgetID(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Type de gadget = " + TypeGadget(Numero_gadget) + #Alinea
        Identiffication_gadget$ + "Gadget X = " + Str(GadgetX(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Gadget Y = " + Str(GadgetY(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Largeur du gadget = " + Str(GadgetHeight(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Hauteur du gadget = " + Str(GadgetWidth(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "valeur personnaliser du gadget = "
        
        If GetGadgetData(Numero_gadget) > 0
          Identiffication_gadget$ + Str(GetGadgetData(Numero_gadget)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble avoir aucune valeur personnaliser" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "ID de la police du gadget = " + Str(GetGadgetFont(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Etas du gadget = "
        
        If GetGadgetState(Numero_gadget) > 0
          Identiffication_gadget$ + "pressé" + #Alinea
        Else
          Identiffication_gadget$ + "Normale" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Texte du gadget = " + Chr(34) + GetGadgetText(Numero_gadget) + Chr(34) + #Alinea
        Identiffication_gadget$ + "Couleur du texte du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)))) + #Alinea
          Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Couleur du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        
      ElseIf TypeGadget(Numero_gadget) = "ButtonImage"
        
        Identiffication_gadget$ + "Le gadget est t-il initialiser = " 
        If IsGadget(Numero_gadget) > 0 
          Identiffication_gadget$ + "Oui" + #Alinea
        Else
          Identiffication_gadget$ + "Non" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "N° ID du gadget = " + Str(GadgetID(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Type de gadget = " + TypeGadget(Numero_gadget) + #Alinea
        Identiffication_gadget$ + "Gadget X = " + Str(GadgetX(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Gadget Y = " + Str(GadgetY(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Largeur du gadget = " + Str(GadgetHeight(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Hauteur du gadget = " + Str(GadgetWidth(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Identifiant de l'image affichée par le bouton = "
        
        If GetGadgetAttribute(Numero_gadget, #PB_Button_Image) > 0
          Identiffication_gadget$ + Str(GetGadgetAttribute(Numero_gadget, #PB_Button_Image)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble pas avoir d'image" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Identifiant de l'image affichée par le bouton lorsqu'il est enfoncé = "
        
        If GetGadgetAttribute(Numero_gadget, #PB_Button_PressedImage) > 0
          Identiffication_gadget$ + Str(GetGadgetAttribute(Numero_gadget, #PB_Button_PressedImage)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble pas avoir d'image" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "valeur personnaliser du gadget = "
        
        If GetGadgetData(Numero_gadget) > 0
          Identiffication_gadget$ + Str(GetGadgetData(Numero_gadget)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble avoir aucune valeur personnaliser" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "ID de la police du gadget = " + Str(GetGadgetFont(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Etas du gadget = "
        
        If GetGadgetState(Numero_gadget) > 0
          Identiffication_gadget$ + "pressé" + #Alinea
        Else
          Identiffication_gadget$ + "Normale" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Texte du gadget = " + Chr(34) + GetGadgetText(Numero_gadget) + Chr(34) + #Alinea
        Identiffication_gadget$ + "Couleur du texte du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Couleur du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
      ElseIf TypeGadget(Numero_gadget) = "Calendar"
        
      ElseIf TypeGadget(Numero_gadget) = "CheckBox"
        
      ElseIf TypeGadget(Numero_gadget) = "ComboBox"
        
      ElseIf TypeGadget(Numero_gadget) = "Container"
        
      ElseIf TypeGadget(Numero_gadget) = "Date"
        
      ElseIf TypeGadget(Numero_gadget) = "Editor"
        
      ElseIf TypeGadget(Numero_gadget) = "ExplorerCombo"
        
      ElseIf TypeGadget(Numero_gadget) = "ExplorerList"
        
      ElseIf TypeGadget(Numero_gadget) = "ExplorerTree"
        
      ElseIf TypeGadget(Numero_gadget) = "Frame3D"
        
      ElseIf TypeGadget(Numero_gadget) = "HyperLink"
        
      ElseIf TypeGadget(Numero_gadget) = "Image"
        
      ElseIf TypeGadget(Numero_gadget) = "IPAddress"
        
      ElseIf TypeGadget(Numero_gadget) = "ListIcon"
        
        
        Identiffication_gadget$ + "Le gadget est t-il initialiser = " 
        If IsGadget(Numero_gadget) > 0 
          Identiffication_gadget$ + "Oui" + #Alinea
        Else
          Identiffication_gadget$ + "Non" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "N° ID du gadget = " + Str(GadgetID(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Type de gadget = " + TypeGadget(Numero_gadget) + #Alinea
        Identiffication_gadget$ + "Gadget X = " + Str(GadgetX(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Gadget Y = " + Str(GadgetY(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Largeur du gadget = " + Str(GadgetHeight(Numero_gadget)) + #Alinea
        Identiffication_gadget$ + "Hauteur du gadget = " + Str(GadgetWidth(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Mode d'affichage du gadget = "
        
        If GetGadgetAttribute(Numero_gadget, #PB_ListIcon_DisplayMode ) > 0
          Attribus = GetGadgetAttribute(Numero_gadget, #PB_ListIcon_DisplayMode)
          If Attribus = #PB_ListIcon_LargeIcon
            Identiffication_gadget$ + "Grandes icônes" + #Alinea
          ElseIf Attribus = #PB_ListIcon_SmallIcon
            Identiffication_gadget$ + "Petites icônes " + #Alinea
          ElseIf Attribus = #PB_ListIcon_List
            Identiffication_gadget$ + "Liste " + #Alinea
          ElseIf Attribus = #PB_ListIcon_Report 
            Identiffication_gadget$ + "Détails" + #Alinea
          EndIf
        Else
          Identiffication_gadget$ + "Ce gadget ne semble pas avoir d'attribus" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "valeur personnaliser du gadget = "
        
        If GetGadgetData(Numero_gadget) > 0
          Identiffication_gadget$ + Str(GetGadgetData(Numero_gadget)) + #Alinea
        Else
          Identiffication_gadget$ + "Ce gadget ne semble avoir aucune valeur personnaliser" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "ID de la police du gadget = " + Str(GetGadgetFont(Numero_gadget)) + #Alinea
        
        Identiffication_gadget$ + "Element sélectionner du gadget = "
        
        If GetGadgetState(Numero_gadget) > 0
          Identiffication_gadget$ + Str(GetGadgetState(Numero_gadget))+ #Alinea
        Else
          Identiffication_gadget$ + "Aucun" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Nombre d'élément du gadget = " + Str(CountGadgetItems(#ListIcon_0)) + #Alinea
        Identiffication_gadget$ + "Nombre de colonne du gadget = " + Str(Nombre_colonne) + #Alinea
        Identiffication_gadget$ + "Titre de la colonne du gadget = " + Chr(34) + GetGadgetItemText(#ListIcon_0, -1, Sauvegarde_colonne) + Chr(34) + #Alinea
        Identiffication_gadget$ + "Texte de l'élément de la colonne du gadget = " + Chr(34) + GetGadgetItemText(#ListIcon_0, GetGadgetState(Numero_gadget), Sauvegarde_colonne) + Chr(34) + #Alinea
        Identiffication_gadget$ + "Couleur du texte de l'élément du gadget = " + Str(GetGadgetItemColor(Numero_gadget, GetGadgetState(Numero_gadget), #PB_Gadget_FrontColor, Sauvegarde_colonne)) + #Alinea
        Identiffication_gadget$ + "Couleur de fond de l'élément du gadget = " + Str(GetGadgetItemColor(Numero_gadget, GetGadgetState(Numero_gadget), #PB_Gadget_BackColor, Sauvegarde_colonne)) + #Alinea
        Identiffication_gadget$ + "Largeur de la colonne du gadget = " + Str(GetGadgetItemAttribute(#ListIcon_0, GetGadgetState(Numero_gadget), #PB_ListIcon_ColumnWidth, Sauvegarde_colonne))+ #Alinea
        
        Identiffication_gadget$ + "Couleur du texte du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Couleur d'arrière plant du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        Identiffication_gadget$ + "Couleur des ligne du gadget = "
        
        If GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor) > -1
          Identiffication_gadget$ + Str(RGB(Red(GetGadgetColor(Numero_gadget, #PB_Gadget_LineColor)), Green(GetGadgetColor(Numero_gadget, #PB_Gadget_LineColor)), Blue(GetGadgetColor(Numero_gadget, #PB_Gadget_LineColor)))) + #Alinea
        Else
          Identiffication_gadget$ + "Aucune" + #Alinea
        EndIf
        
        
        
      ElseIf TypeGadget(Numero_gadget) = "ListView"
        
      ElseIf TypeGadget(Numero_gadget) = "MDI"
        
      ElseIf TypeGadget(Numero_gadget) = "Option"
        
      ElseIf TypeGadget(Numero_gadget) = "Panel"
        
      ElseIf TypeGadget(Numero_gadget) = "ProgressBar"
        
      ElseIf TypeGadget(Numero_gadget) = "Scintilla"
        
      ElseIf TypeGadget(Numero_gadget) = "ScrollArea"
        
      ElseIf TypeGadget(Numero_gadget) = "ScrollBar"
        
      ElseIf TypeGadget(Numero_gadget) = "Spin"
        
      ElseIf TypeGadget(Numero_gadget) = "Splitter"
        
      ElseIf TypeGadget(Numero_gadget) = "String"
        
      ElseIf TypeGadget(Numero_gadget) = "Text"
        
      ElseIf TypeGadget(Numero_gadget) = "TrackBar"
        
      ElseIf TypeGadget(Numero_gadget) = "Tree"
        
      ElseIf TypeGadget(Numero_gadget) = "Web"
        
      ElseIf TypeGadget(Numero_gadget) = "Unknown"
        
      EndIf
      
      ; Identiffication_gadget$ + "N° ID du gadget = " + Str(GadgetID(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "Type de gadget = " + TypeGadget(Numero_gadget) + #Alinea
      ; Identiffication_gadget$ + "Gadget X = " + Str(GadgetX(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "Gadget Y = " + Str(GadgetY(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "Largeur du gadget = " + Str(GadgetHeight(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "Hauteur du gadget = " + Str(GadgetWidth(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "Couleur du texte de l'élément du gadget = " + Str(GetGadgetItemColor(Numero_gadget, GetGadgetState(Numero_gadget), #PB_Gadget_FrontColor, Colonne)) + #Alinea
      ; Identiffication_gadget$ + "Couleur de fond de l'élément du gadget = " + Str(GetGadgetItemColor(Numero_gadget, GetGadgetState(Numero_gadget), #PB_Gadget_BackColor, Colonne)) + #Alinea
      ; Identiffication_gadget$ + "valeur personnaliser de l'element = " + Str(GetGadgetItemData(Numero_gadget, GetGadgetState(Numero_gadget))) + #Alinea
      ; Identiffication_gadget$ + "valeur personnaliser du gadget = " + Str(GetGadgetData(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "ID de la police du gadget = " + Str(GetGadgetFont(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "Etas du gadget = " + Str(GetGadgetState(Numero_gadget)) + #Alinea
      ; Identiffication_gadget$ + "Texte du gadget = " + GetGadgetText(Numero_gadget) + #Alinea
      ; Identiffication_gadget$ + "Couleur du texte du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_FrontColor)) + #Alinea
      ; Identiffication_gadget$ + "Couleur du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_BackColor)) + #Alinea
      ; Identiffication_gadget$ + "Couleur des lignes du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_LineColor)) + #Alinea
      ; Identiffication_gadget$ + "Couleur du texte du titre du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_TitleFrontColor)) + #Alinea
      ; Identiffication_gadget$ + "Couleur d'arrièr plant du texte du titre du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_TitleBackColor)) + #Alinea
      ; Identiffication_gadget$ + "Couleur du texte inactif du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_GrayTextColor)) + #Alinea
      ; Identiffication_gadget$ + "Couleur des lignes du gadget = " + Str(GetGadgetColor(Numero_gadget, #PB_Gadget_LineColor)) + #Alinea
      ; 
    EndIf
  Next
EndProcedure

Procedure ProcedureCallback(WindowID, Message, wParam, lParam) ; gestion de certain evenement de la fenêtre
  Resultat = #PB_ProcessPureBasicEvents
  Envoie_message = 1
  
  Identiffication_gadget()
  ;SetClipboardText(Identiffication_gadget$)
  ;Debug Identiffication_gadget$
  
  Select Message
    Case 512 ; déplacement de la souris sur la fenêtre
        Evenements$ = "déplacement de la souris sur la fenêtre"
     Case 513 ; bouton gauche appuiler avec la souris sur la fenêtre
      Evenements$ = "bouton gauche appuiler avec la souris sur la fenêtre"
      Clique_gauche_souris = 1
     Case 514 ; bouton gauche relacher avec la souris sur la fenêtre
      Evenements$ = "bouton gauche relacher avec la souris sur la fenêtre"
      Clique_gauche_souris = 0
     Case 515 ; double clique gauche avec la souris sur la fenêtre
      Evenements$ = "double clique gauche avec la souris sur la fenêtre"
      Double_clique_gauche_souris = 1
      Case 516 ; bouton droit appuiler avec la souris sur la fenêtre
        Evenements$ = "bouton droit appuiler avec la souris sur la fenêtre"
        Clique_droit_souris = 1
     Case 517 ; bouton droit relacher avec la souris sur la fenêtre
      Evenements$ = "bouton droit relacher avec la souris sur la fenêtre"
      Clique_droit_souris = 0
     Case 518 ; double clique droit avec la souris sur la fenêtre
      Evenements$ = "double clique droit avec la souris sur la fenêtre"
      Double_clique_droit_souris = 1
     Case 519 ; bouton centrale appuiler avec la souris sur la fenêtre
      Evenements$ = "bouton centrale appuiler avec la souris sur la fenêtre"
      Clique_centre_souris = 1
     Case 520 ; bouton centrale relacher avec la souris sur la fenêtre
      Evenements$ = "bouton centrale relacher avec la souris sur la fenêtre"
      Clique_centre_souris = 0
     Case 521 ; double clique centrale avec la souris sur la fenêtre
      Evenements$ = "double clique centrale avec la souris sur la fenêtre"
      Double_clique_centre_souris = 1
    Case 522 ; déplacement de la molètte de la souris sur la fenêtre"
      
      hi.w=(wParam>>16)
      lo.w=wParam & $FFFF
      
      If lo.w & #MK_MBUTTON ;indique le click de la molette seulement si celle-ci tourne
        ClikTurn = 1
      Else
        ClikTurn = 0
      EndIf
      
      coef=4
      delta=hi*coef
      
      While delta>120
        delta=delta-(120+coef)
      Wend
      
      While delta< -120
        delta=delta+(120+coef)
      Wend
      
        If delta > 0 ; déplacement de la molètte de la souris vers le haut"
          
          If ClikTurn = 1 ; le bouton centrale de la souris est appuiyer
            Evenements$ = "le bouton centrale de la souris est appuiyer + déplacement de la molètte de la souris vers le haut"
          Else
            Evenements$ = "déplacement de la molètte de la souris vers le haut"
          EndIf
          
        Else ; déplacement de la molètte de la souris vers le bas"
          
          If ClikTurn = 1 ; le bouton centrale de la souris est appuiyer
            Evenements$ = "le bouton centrale de la souris est appuiyer + déplacement de la molètte de la souris vers le bas"
          Else
            Evenements$ = "déplacement de la molètte de la souris vers le bas"
          EndIf
          
        EndIf
        
      Default
        
  EndSelect
  
  ProcedureReturn Resultat
EndProcedure

Procedure Fenetre_windows()
  If OpenWindow(#Fenetre_windows, 327, 177, 600, 500, "Fenêtre windows",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    CreateStatusBar(#StatusBar, WindowID(#Fenetre_windows))
    AddStatusBarField(8000)
    
    ;SetWindowCallback(@ProcedureCallback(), #Fenetre_windows)
    
    ButtonGadget(#a, 100, 50, 100, 25, "abc")
    ButtonImageGadget( #b, 100, 100, 100, 25, 0)
    
    ListIconGadget(#ListIcon_0, 100, 150, 300, 200, "abcde", 100, #PB_ListIcon_GridLines) ; #PB_ListIcon_GridLines ne fonctionne pas a cause de la ProcedureCallback ???????
    SetGadgetColor(#ListIcon_0, #PB_Gadget_LineColor, RGB(255, 0, 0)) ; ne fonctionne pas a cause de la ProcedureCallback ???????
    
    SetGadgetItemText(#ListIcon_0, -1, "Colonne 1", 0)
    SetGadgetItemAttribute(#ListIcon_0, 0, #PB_ListIcon_ColumnWidth, 65 , 0)
    
    For b = 2 To 4          ; ajouter 3 colonnes supplémentaires
      AddGadgetColumn(#ListIcon_0, b, "Colonne " + Str(b), 65)
    Next
    
    For b = 0 To 5          ; ajouter 4 éléments à chaque ligne des listes avec icônes
      AddGadgetItem(#ListIcon_0, b, "Elément 1"+Chr(10)+"Elément 2"+Chr(10)+"Elément 3"+Chr(10)+"Elément 4")
    Next
    
    SetGadgetItemColor(#ListIcon_0, 2, #PB_Gadget_FrontColor, RGB(255, 255, 0), 0)
    SetGadgetItemColor(#ListIcon_0, 2, #PB_Gadget_BackColor, RGB(0, 0, 255), 0)
    
    Nombre_colonne = ListIcon_GetColumnCount(#ListIcon_0)
    GetSelectionColonne(#ListIcon_0)
    
    GadgetX = GadgetX(#ListIcon_0)
    GadgetY = GadgetY(#ListIcon_0)
    
    GadgetHeight = GadgetHeight(#ListIcon_0)
    GadgetWidth = GadgetWidth(#ListIcon_0)
    
    Repeat ; Start of the event loop
      
      If Envoie_message = 1
        ;Debug Evenements$
        Evenements$ = ""
        Envoie_message = 0
      EndIf
      
      Event = WaitWindowEvent(1)        ; This line waits until an event is received from Windows
      WindowID = EventWindow()          ; The Window where the event is generated, can be used in the gadget procedures
      GadgetID = EventGadget()          ; Is it a gadget event?
      EventType = EventType()           ; The event typeEvent
      
      WindowMouseX = WindowMouseX(#Fenetre_windows)
      WindowMouseY = WindowMouseY(#Fenetre_windows)
      
      If GadgetID = #ListIcon_0
        
        If EventType = #PB_EventType_LeftClick
          Identiffication_gadget()
          GetSelectionColonne(#ListIcon_0)
          Sauvegarde_colonne = GetMousePosition()
          SetClipboardText(Identiffication_gadget$)
          StatusBarText(#StatusBar, 0, "Colonne n° " + Str(Sauvegarde_colonne))
        EndIf
        
      EndIf
      
      
    Until Event = #PB_Event_CloseWindow ; End of the event loop
    
  EndIf
EndProcedure

Fenetre_windows()
 
; jaPBe Version=3.10.9.849
; FoldLines=0027002D002F00410043006500670071007300BA01E30236
; Build=0
; Language=0x0000 Language Neutral
; FirstLine=234
; CursorPosition=396
; EnableXP
; ExecutableFormat=Windows
; DontSaveDeclare
; EOF