Code : Tout sélectionner
;- -------------------------------------
;- Générateur MessageRequester
;- Necro et Venom
;- le 04/11/2008 en purebasic 4.20
;- -------------------------------------
Procedure IconExtract(File.s,Icon.l)
ProcedureReturn ExtractIcon_(0,File,Icon)
EndProcedure
;- Window Constants
Enumeration
#windows_0
EndEnumeration
;- Gadget Constants
Enumeration
#Frame_0
#String_titre
#String_message
#Frame_1
#Text_0_deusiemeetape
#Text_1_deusiemeetape
#Radio_OK
#Radio_OUINON
#Radio_OUINONANNULER
#Radio_ICONE1
#Button_ICONE1
#Radio_ICONE2
#Button_ICONE2
#Radio_ICONE3
#Button_ICONE3
#Radio_ICONE4
#Frame_3
#String_AFFICHELECODE
#Button_APPERCU
#Button_COPIER
EndEnumeration
;- Fonts
Global FontID1
FontID1 = LoadFont(1, "Comic Sans MS", 10, #PB_Font_Bold) ;- on choisis une police de caractere
chemain$ = Left(GetHomeDirectory(), 3) + "WINDOWS\explorer.exe" ;- on montre le chemain ou se trouve les icones
Count = IconExtract(chemain$, -1) ;- on extrait les icones
;- on ouvre la fenetre ainci que les gadgets
If OpenWindow(#windows_0, 0, 0, 600, 355, "GMRequester", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#windows_0))
Frame3DGadget(#Frame_0, 10, 10, 580, 100, "etape 1", 0)
StringGadget(#String_titre, 20, 30, 560, 20, "Titre de votre MessageRequester...")
StringGadget(#String_message, 20, 70, 560, 20, "Message a afficher...")
Frame3DGadget(#Frame_1, 10, 120, 580, 150, "etape 2", 0)
TextGadget(#Text_0_deusiemeetape, 20, 140, 560, 20, "Boutons a mettre dans le MessageRequester", #PB_Text_Center)
SetGadgetFont(#Text_0_deusiemeetape, FontID1)
TextGadget(#Text_1_deusiemeetape, 20, 190, 560, 20, "icone a mettre dans le MessageRequester", #PB_Text_Center)
SetGadgetFont(#Text_1_deusiemeetape, FontID1)
OptionGadget(#Radio_OK, 20, 160, 130, 20, "Afficher le bouton OK")
OptionGadget(#Radio_OUINON, 168, 160, 160, 20, "Afficher les boutons OUI / NON")
OptionGadget(#Radio_OUINONANNULER, 348, 160, 230, 20, "Afficher les boutons OUI / NON / ANNULER")
CheckBoxGadget(#Radio_ICONE1, 20, 230, 20, 20, "")
ImageGadget(#Button_ICONE1, 40, 225, 48, 48, IconExtract(chemain$, 7))
CheckBoxGadget(#Radio_ICONE2, 180, 230, 20, 20, "")
ImageGadget(#Button_ICONE2, 200, 225, 48, 48, IconExtract(chemain$, 8))
CheckBoxGadget(#Radio_ICONE3, 358, 230, 20, 20, "")
ImageGadget(#Button_ICONE3, 380, 225, 48, 48, IconExtract(chemain$, 9))
CheckBoxGadget(#Radio_ICONE4, 528, 230, 20, 20, "")
SetGadgetState(#Radio_OK, 1) ;- permet de selectionner le gadget #Radio_OK
SetGadgetState(#Radio_ICONE4, 1) ;- permet de selectionner le gadget #Radio_ICONE4
Frame3DGadget(#Frame_3, 10, 280, 580, 60, "etape 3", 0)
ButtonGadget(#Button_APPERCU, 20, 305, 185, 20, "Aperçu du MessageRequester")
ButtonGadget(#Button_COPIER, 390, 305, 185, 20, "Copier le code dans le presse papier")
StringGadget(#String_AFFICHELECODE, 0, 370, 10, 20, "", #PB_String_ReadOnly) ;- #PB_String_ReadOnly permet de crée un stringgadget mais seulement en lecture et non pas en ecriture
EndIf
EndIf
;- on ouvre la boucle d'evenement
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Radio_ICONE1 ;- cette fonction permet de lancer #Radio_ICONE1 quand on clic dessus
SetGadgetState(#Radio_ICONE2, 0) ;- si #Radio_ICONE1 est cliquer on efface le logo de selection du gadget #Radio_ICONE2
SetGadgetState(#Radio_ICONE3, 0) ;- si #Radio_ICONE1 est cliquer on efface le logo de selection du gadget #Radio_ICONE3
SetGadgetState(#Radio_ICONE4, 0) ;- si #Radio_ICONE1 est cliquer on efface le logo de selection du gadget #Radio_ICONE4
Case #Radio_ICONE2 ;- cette fonction permet de lancer #Radio_ICONE2 quand on clic dessu
SetGadgetState(#Radio_ICONE1, 0) ;- si #Radio_ICONE2 est cliquer on efface le logo de selection du gadget #Radio_ICONE1
SetGadgetState(#Radio_ICONE3, 0) ;- si #Radio_ICONE2 est cliquer on efface le logo de selection du gadget #Radio_ICONE3
SetGadgetState(#Radio_ICONE4, 0) ;- si #Radio_ICONE2 est cliquer on efface le logo de selection du gadget #Radio_ICONE4
Case #Radio_ICONE3 ;- cette fonction permet de lancer #Radio_ICONE3 quand on clic dessus
SetGadgetState(#Radio_ICONE1, 0) ;- si #Radio_ICONE3 est cliquer on efface le logo de selection du gadget #Radio_ICONE1
SetGadgetState(#Radio_ICONE2, 0) ;- si #Radio_ICONE3 est cliquer on efface le logo de selection du gadget #Radio_ICONE2
SetGadgetState(#Radio_ICONE4, 0) ;- si #Radio_ICONE3 est cliquer on efface le logo de selection du gadget #Radio_ICONE4
Case #Radio_ICONE4 ;- cette fonction permet de lancer #Radio_ICONE4 quand on clic dessus
SetGadgetState(#Radio_ICONE1, 0) ;- si #Radio_ICONE4 est cliquer on efface le logo de selection du gadget #Radio_ICONE1
SetGadgetState(#Radio_ICONE2, 0) ;- si #Radio_ICONE4 est cliquer on efface le logo de selection du gadget #Radio_ICONE2
SetGadgetState(#Radio_ICONE3, 0) ;- si #Radio_ICONE4 est cliquer on efface le logo de selection du gadget #Radio_ICONE3
Case #Button_APPERCU ;- cette fonction permet de lancer #Button_APPERCU quand on clic dessus
;- message OK
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE1) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE1 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_Ok | #MB_ICONINFORMATION)
EndIf
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE2) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE2 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_Ok | #MB_ICONWARNING)
EndIf
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE3) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE3 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_Ok | #MB_ICONERROR)
EndIf
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE4) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE4 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_Ok)
EndIf
;- message OUI NON
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE1) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE1 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNo | #MB_ICONINFORMATION)
EndIf
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE2) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE2 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNo | #MB_ICONWARNING)
EndIf
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE3) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE3 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNo | #MB_ICONERROR)
EndIf
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE4) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE4 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNo)
EndIf
;- message OUI NON ANNULER
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE1) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE1 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNoCancel | #MB_ICONINFORMATION)
EndIf
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE2) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE2 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNoCancel | #MB_ICONWARNING)
EndIf
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE3) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE3 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNoCancel | #MB_ICONERROR)
EndIf
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE4) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE4 ont cree le messagerequester en fonction
MessageRequester(GetGadgetText(#String_titre), GetGadgetText(#String_message), #PB_MessageRequester_YesNoCancel)
EndIf
Case #Button_COPIER ;- cette fonction permet de lancer #Button_COPIER quand on clic dessus
;- message OK
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE1) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE1 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_Ok|#MB_ICONINFORMATION)")
EndIf
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE2) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE2 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_Ok|#MB_ICONWARNING)")
EndIf
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE3) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE3 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_Ok|#MB_ICONERROR)")
EndIf
If GetGadgetState(#Radio_OK) = 1 And GetGadgetState(#Radio_ICONE4) = 1 ;- si le gadget #Radio_OK et selectionner ainci que #Radio_ICONE4 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_Ok)")
EndIf
;- message OUI NON
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE1) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE1 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNo|#MB_ICONINFORMATION)")
EndIf
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE2) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE2 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNo|#MB_ICONWARNING)")
EndIf
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE3) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE3 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNo|#MB_ICONERROR)")
EndIf
If GetGadgetState(#Radio_OUINON) = 1 And GetGadgetState(#Radio_ICONE4) = 1 ;- si le gadget #Radio_OUINON et selectionner ainci que #Radio_ICONE4 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNo)")
EndIf
;- message OUI NON ANNULER
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE1) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE1 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNoCancel|#MB_ICONINFORMATION)")
EndIf
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE2) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE2 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNoCancel|#MB_ICONWARNING)")
EndIf
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE3) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE3 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNoCancel|#MB_ICONERROR)")
EndIf
If GetGadgetState(#Radio_OUINONANNULER) = 1 And GetGadgetState(#Radio_ICONE4) = 1 ;- si le gadget #Radio_OUINONANNULER et selectionner ainci que #Radio_ICONE4 ont cree le messagerequester en fonction
SetGadgetText(#String_AFFICHELECODE, "MessageRequester(" + Chr(34) + GetGadgetText(#String_titre) + Chr(34) + "," + Chr(34) + GetGadgetText(#String_message) + Chr(34) + "," + "#PB_MessageRequester_YesNoCancel)")
EndIf
Resultat$ = GetGadgetText(#String_AFFICHELECODE) ;- on verrifie l'etat du #String_AFFICHELECODE si il y a du texte ou non
If Resultat$ ;- si oui on continue
ClearClipboard() ;- on vide le presse papier
SetClipboardText(GetGadgetText(#String_AFFICHELECODE)) ;- ensuite on copie le contenue du #String_AFFICHELECODE dans le presse papier
MessageRequester("information", "Voila le code vien d'étre copier dans le presse papier. Clic droit puis coller pour le placez ou vous le souhaitez.", 0) ;- messagebox pour prevenir que sa a bien etait copier
EventID = #PB_Event_CloseWindow ;- du coup on ferme le logiciel
Else ;- par contre si le #String_AFFICHELECODE est vide
MessageRequester("information", "Il n'y a rien a copier dans le presse papier. Verifiez si vous avez bien appuiez sur le bouton Générer le code pour purebaisc avant de continuer", #MB_ICONWARNING) ;- on met un messagebox pour prevenir que rien n'a pu etre copier dans le presse papier
EndIf ;- on laisse donc l'application ouverte pour corriger le probleme
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow ;- ferme l'application quand ont appuie sur la croix rouge