Page 1 sur 1

Icone de l'EXE

Publié : sam. 06/janv./2007 11:35
par flaith
bonjour,

j'ai recherché (et pas trouvé) d'informations à ce sujet.
Je m'explique, j'indique dans les paramètres de compilation, le nom de mon icône.
Ce que je voudrais c'est récupérer cette image pour ensuite l'afficher dans ma fenêtre "A propos de" par exemple et ceci, sans avoir à faire un "includebinary", car dans ce cas mon exe aura deux fois l'icône.

suis-je clair :roll:

d'avance merci :)

Re: Icone de l'EXE

Publié : sam. 06/janv./2007 12:33
par gnozal
flaith a écrit :bonjour,

j'ai recherché (et pas trouvé) d'informations à ce sujet.
Je m'explique, j'indique dans les paramètres de compilation, le nom de mon icône.
Ce que je voudrais c'est récupérer cette image pour ensuite l'afficher dans ma fenêtre "A propos de" par exemple et ceci, sans avoir à faire un "includebinary", car dans ce cas mon exe aura deux fois l'icône.

suis-je clair :roll:

d'avance merci :)
Comme ceci par exemple (on récupère le handle de l'icône de la fenêtre de l'application avec GetClassLong_(WindowID(#Window), #GCL_HICON))

Code : Tout sélectionner

;{- Enumerations
;{ Windows
Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #ButtonImageGadget_0
EndEnumeration
;}
;}
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 450, 200, 400, 400, "#Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_0))
      ButtonImageGadget(#ButtonImageGadget_0, 113, 92, 161, 143, GetClassLong_(WindowID(#Window_0), #GCL_HICON))
    EndIf
  EndIf
EndProcedure

OpenWindow_Window_0()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #ButtonImageGadget_0
      EndIf
      ; //////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        Break
      EndIf
  EndSelect
ForEver
;}
On peut aussi utiliser la fonction API ExtractIcon_().

Publié : sam. 06/janv./2007 13:06
par flaith
Deux mots : "Merci beaucoup"
:D