Outil de Saisie d'un StringGadget
Publié : dim. 14/août/2005 8:12
Salut à tous
je vient de me créer un outil pour la saisie des StringGadgets si ca peut
servir aux membres ou si ca peut-etre amélioré faite le moi savoir .
c'est plus clair pour l'utilistateur pour repérer le focus d'un StringGadget
vos critiques seront les biens venues
Cagou-77
je vient de me créer un outil pour la saisie des StringGadgets si ca peut
servir aux membres ou si ca peut-etre amélioré faite le moi savoir .
c'est plus clair pour l'utilistateur pour repérer le focus d'un StringGadget
vos critiques seront les biens venues
Cagou-77
Code : Tout sélectionner
; ; Utilitaire Crée par Cagou-77 le 14/08/2005
Enumeration
#button_annule
#WindArt
#FrameZrecC
;- Constantes Fontes
#Arial8
#Arial8Bold
#Arial10
#Arial16
#Arial14
#Arial12
#Arial24
#Arial48
EndEnumeration
LoadFont( #Arial8, "Arial", 8 )
LoadFont( #Arial8Bold, "Arial", 8, #PB_Font_Bold )
LoadFont( #Arial10, "Arial", 10, #PB_Font_Bold )
LoadFont( #Arial12, "Arial", 12, #PB_Font_Bold )
LoadFont( #Arial14, "Arial", 14, #PB_Font_Bold )
LoadFont( #Arial16, "Arial", 16, #PB_Font_Bold )
LoadFont( #Arial24, "Arial", 24, #PB_Font_Bold )
LoadFont( #Arial48, "Arial", 48, #PB_Font_Bold )
Structure Gadget
IDLibelle.l
IDString.l
IDStringFocus.l
EndStructure
NewList LstGadget.Gadget()
Procedure GadgetSaisie( X.l, Y.l, L.l, H.l, Text.s, Opt.l )
AddElement( LstGadget() )
LgText.l = ( Len( Text ) * 7 )
LstGadget()\IDLibelle = TextGadget( #PB_ANY, X, Y, LgText, H, Text, 0 )
LstGadget()\IDString = StringGadget( #PB_ANY, (X + LgText), Y, L, H, "", 0 )
LstGadget()\IDStringFocus = #FALSE
UseFont(#Arial8)
SetGadgetFont( LstGadget()\IDLibelle, FontID())
SetGadgetColor(LstGadget()\IDLibelle, RGB(161, 87, 22), RGB(233, 245, 244))
SetGadgetColor(LstGadget()\IDString, RGB(65, 20, 92), RGB(218, 236, 245))
EndProcedure
Procedure ColoriageBis( GadgetID.l)
ForEach LstGadget()
If LstGadget()\IDStringFocus = #TRUE
SetGadgetFont( LstGadget()\IDLibelle, FontID())
SetGadgetColor(LstGadget()\IDLibelle, RGB(161, 87, 22), RGB(233, 245, 244))
SetGadgetColor(LstGadget()\IDString, RGB(65, 20, 92), RGB(218, 236, 245))
LstGadget()\IDStringFocus = #FALSE
EndIf
Next
ForEach LstGadget()
If LstGadget()\IDString = GadgetID
UseFont(#Arial8Bold)
SetGadgetFont( LstGadget()\IDLibelle, FontID())
SetGadgetColor(LstGadget()\IDLibelle, RGB(72, 73, 125), RGB(233, 245, 244))
SetGadgetColor(LstGadget()\IDString, RGB(236, 44, 28), RGB(247, 247, 216))
LstGadget()\IDStringFocus = #TRUE
Break
EndIf
Next
UseFont(#Arial8)
EndProcedure
Procedure TestColoriage()
If OpenWindow(#WindArt, 0, 0, 400, 300, #PB_Window_ScreenCentered, "Test de Coloriage du StringGadget Focus")
SetClassLong_(WindowID(#WindArt), #GCL_HBRBACKGROUND, CreateSolidBrush_(RGB(233, 245, 244)))
If CreateGadgetList(WindowID())
Frame3DGadget(#FrameZrecC, 10, 5, 380, 280, "")
GadgetSaisie( 15, 30, 130, 18, "Nom :", 0 )
GadgetSaisie( 15, 60, 130, 18, "Prenom :", 0 )
GadgetSaisie( 95, 120, 70, 18, "Date :", 0 )
EndIf
Repeat
Event = WaitWindowEvent()
WindowID = EventWindowID()
EventType = EventType()
GadgetID = EventGadgetID()
Select Event
Case #PB_EventGadget
ColoriageBis( GadgetID )
EndSelect
Select event
Case #PB_EventGadget
Select GadgetID
Case #button_annule : fermer_window_1 = 1
EndSelect
EndSelect
Until fermer_window_1 = 1
CloseWindow(#WindArt)
While WindowEvent() : Wend
EndIf
EndProcedure
TestColoriage()
End