@Dobro,
ton programme de colorisation est une très bonne idée, ça va rendre la lecture des codes plus agréables.
Voici une astuce qui va permettre d'améliorer ton programme :
-> quand l'utilisateur lance Colorer, le bouton est désactivé.
-> quand l'utilisateur copie un texte dans le presse-papiers, le bouton s'active.
-> quand l'utilisateur presse sur le bouton, celui-ci se désactive.
Cela donne à l'utilisateur une indication visuelle pour bien l'utiliser ton programme.
Enumeration
#Window
EndEnumeration
Enumeration
#Button_colorise
#Image_0
#Text
EndEnumeration
Procedure Open_Window()
If OpenWindow ( #Window , 346, 153, 279, 149, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , " Colorer ")
If CreateGadgetList (WindowID())
ButtonGadget ( #Button_colorise , 60, 100, 100, 40, " Met en couleur ")
ImageGadget ( #Image_0 , 210, 0, 64, 148, Image0)
TextGadget ( #Text , 30, 0, 160, 20, " Colorer by Dobro ", #PB_Text_Center )
SetGadgetFont( #Text , FontID2)
Endif
Endif
EndProcedure
;******************************
Procedure WindowCallback(WindowID, message, wParam, lParam)
Resultat = #PB_ProcessPureBasicEvents
If message = #WM_DRAWCLIPBOARD
DisableGadget ( #Button_colorise , 0)
Endif
ProcedureReturn Resultat
EndProcedure
ClearClipboard ()
Open_Window()
SetWindowPos_( WindowID (), #HWND_TOPMOST , 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE )
SetWindowCallback (@WindowCallback())
SetClipboardViewer_( WindowID ())
DisableGadget ( #Button_colorise , 1)
Repeat
Event = WaitWindowEvent ()
If Event = #PB_EventGadget
Select EventGadgetID ()
Case #Button_colorise
DisableGadget ( #Button_colorise , 1)
EndSelect
Endif
Until Event = #PB_Event_CloseWindow