AboutRequester

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

AboutRequester

Message par Dr. Dri »

je suis tombé par hasard sur la boite de dialogue "About" de windows alors voila un chtit code pour l'utiliser comme un requester PB ^^

Code : Tout sélectionner

Procedure.l AboutRequester(Title.s, Text.s = #NULL$, Window.l = #PB_Any, Beep.l = #MB_ICONINFORMATION)
  Protected About.l, WindowID.l, IconID.l, Word.w
  
  If Not IsWindow(Window) : Window = EventWindow() : EndIf
  If IsWindow(Window) : WindowID = WindowID(Window) : EndIf
  
  MessageBeep_(Beep)
  
  IconID = ExtractAssociatedIcon_(GetModuleHandle_(#Null), ProgramFilename(), @Word)
  About  = ShellAbout_(WindowID, Title, Text, IconID)
  
  If IconID : DestroyIcon_(IconID) : EndIf
  
  ProcedureReturn About
EndProcedure

AboutRequester("AboutRequester")
Dri
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Excellent :D
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

merci je fais essayer de modifier pour le personaliser
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

pour ca tu peux ajouter la possibilité de choisir l'image mais il faut t'assurer que c'est une icône.

J'ai posté un exemple ici
http://purebasic.hmt-forum.com/viewtopic.php?p=50359



Dri
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Une autre solution, en utilisant directement l'API
Ca prend une seule ligne et l'icône est automatiquement récupérée.

exemple :

Code : Tout sélectionner

Enumeration 
#Window
#Btn_About
EndEnumeration 
FlagWin = #PB_Window_SystemMenu| #PB_Window_ScreenCentered |#PB_Window_TitleBar
If OpenWindow(#Window,0,0, 200, 100, "ABOUT",FlagWin)=0 Or CreateGadgetList(WindowID(#Window))=0  
    End 
EndIf  
ButtonGadget(#Btn_About, 25,30,150,40,"About Windows")
  Repeat
    Event = WaitWindowEvent() 
    If Event = #PB_Event_Gadget
      Select EventGadget() 
      
        Case #Btn_About : ShellAbout_(WindowID(#Window),"WINDOWS ABOUT REQUESTER","Copyright "+Chr(169)+" 2006 - PB4. Tous droits réservés.",0)
        
      EndSelect  
    EndIf 
  Until Event = #PB_Event_CloseWindow
  End 
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Re: AboutRequester

Message par Dr. Dri »

Dr. Dri a écrit :voila un chtit code pour l'utiliser comme un requester PB
Si je file le code c'est pour laisser le choix entre utiliser ma fonction telle quelle, ou piocher ce qui t'intéresse dedans

Dri ;)
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

C'est tout l'avantage des "chtits bouts de code" :wink:
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

moi j'ai mis un bout de code
aussi
voir section debutant
Répondre