Je trouve que le MessageRequester() affiche des caractère trop petits pour ma vue, alors j'ai créé et conçcu ce programme.
Code : Tout sélectionner
Procedure Aide()
Enumeration
#fenetre_Aide
#Cvs
#Police
#Image
#Bouton_Aide_Ok
EndEnumeration
Global NewList Message$()
Global Dim Texte$(0)
Global i, Largeur, Longueur, Hauteur, Sortir
Global Police = LoadFont(#Police, "Calibri", 14, #PB_Font_Bold)
UsePNGImageDecoder()
i = 0
;Restore Message
; Lire les messages et déterminer la largeur maximale
Repeat
Read.s Texte$(i)
If Texte$(i) = "999"
Break
EndIf
If Len(Texte$(i)) > Largeur
Largeur = Len(Texte$(i))
EndIf
AddElement(Message$()) : Message$() = Texte$(i)
i + 1
ReDim Texte$(i)
ForEver
; Calculer la taille de la fenêtre
Hauteur = (ListSize(Message$()) * 20) + 80
Longueur = Largeur * 10
; Créer la fenêtre
OpenWindow(#fenetre_Aide, 0, 0, Longueur, Hauteur, UCase("MICOUTE système d'aide personnalisé @ 2025"), #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
SetWindowColor(#fenetre_Aide, $FFFFFF)
; Créer le CanvasGadget
CanvasGadget(#Cvs, 0, 0, Longueur, Hauteur - 40)
StartDrawing(CanvasOutput(#Cvs))
DrawingFont(FontID(#Police))
DrawingMode(#PB_2DDrawing_Default)
Box(0, 0, Longueur, Hauteur - 40, $FFFFFF)
; Dessiner les messages
i = 0
ForEach Message$()
DrawText(70, 10 + i * 20, Message$(), 0 ,$FFFFFF)
i + 1
Next
StopDrawing()
; Charger et afficher l'image
CatchImage(#Image, ?Information)
ImageGadget(#Image, 10, 10, 60, 60, ImageID(#Image))
; Créer le bouton OK
ButtonGadget(#Bouton_Aide_Ok, (Longueur / 2) - 30, Hauteur - 40, 60, 30, "&Ok")
SetGadgetFont(#Bouton_Aide_Ok, FontID(#Police))
; Gestion des événements
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #Bouton_Aide_Ok
CloseWindow(#fenetre_Aide)
Sortir = 1
EndSelect
Case #PB_Event_CloseWindow
If EventWindow() = #fenetre_Aide
CloseWindow(#fenetre_Aide)
Sortir = 1
EndIf
EndSelect
Until Sortir = 1
EndProcedure
DataSection
Aucune:
IncludeBinary #PB_Compiler_FilePath + "\Icones\iconeAucune.png"
Erreur:
IncludeBinary #PB_Compiler_FilePath + "\Icones\iconeError.png"
Exclamation:
IncludeBinary #PB_Compiler_FilePath + "\Icones\iconeExclamation.png"
Information:
IncludeBinary #PB_Compiler_FilePath + "\Icones\iconeInformation.png"
Question:
IncludeBinary #PB_Compiler_FilePath + "\Icones\iconeQuestion.png"
Aide:
IncludeBinary #PB_Compiler_FilePath + "\Icones\help.png"
EndDataSection
CompilerIf #PB_Compiler_IsMainFile
;/ ***TEST***
Aide()
; Mettre dans cette DataSection les données de votre message d'aide, la liste s'aggrandira d'elle-même.
DataSection
Message:
Data.s "INFORMATIONS"
Data.s ""
Data.s ""
Data.s " Ce système de messages a été conçu et créé par Micoute"
Data.s ""
Data.s "UTILISATION"
Data.s ""
Data.s " L'utilisation de ce logiciel est très simple."
Data.s " Vous écrivez le message à afficher dans des lignes de données"
Data.s ""
Data.s " Vous indiquez dans votre programme l'icône à afficher"
Data.s ""
Data.s " C'est aussi simple que ça."
Data.s ""
Data.s "Programmation Micoute le 10/03/2025. Programmé avec Pure Basic 6.20 (x64)"
Data.s "999"
EndDataSection
CompilerEndIf