ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: pour Alain : exemples de spinner   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

lun. 02 mai 2016, 19h40
eddymaue
atoutfox.public.association

Re: pour Alain : exemples de spinner

Allo Jean

met nous un exemple fonctionnel

apres 10 min de tentative.... j'ai abandonné

a+
:
> Bonsoir Alain,

> dans une classe d'impression, j'ai 3 spinners : 2 pour paramétrer " de page X
> à page Y" et le troisième pour indiquer l'opacité du filigranne.

> La contrainte : X ne peut pas être supérieur à Y

> Dans le spinner du filigranne : il change de couleur en fonction de la valeur
> et l'incrément est faible autour de la valeur normale et augmente quand on
> s'en éloigne.

> Essaie de voir ce qu'il te bloque car, à mon humble avis, il n'y a pas plus
> simple qu'un spinner.

> Bonne soirée

> Jean à Grenoble


ADD OBJECT fenimpr.cntcopie.spncopie AS spinner WITH ;
FontBold = .T., ;
FontSize = 11, ;
Height = 24, ;
InputMask = "9", ;
KeyboardHighValue = 9, ;
KeyboardLowValue = 1, ;
Left = 51, ;
Margin = 0, ;
SpinnerHighValue =   9.00, ;
SpinnerLowValue =   1.00, ;
StatusBarText = "nombre d'exemplaires à imprimer ( de 1 à 9)", ;
ToolTipText = "nombre d'exemplaires à imprimer ( de 1 à 9)", ;
Top = 0, ;
Width = 39, ;
Format = "", ;
Value = 1, ;
ControlSource = "ThisForm.nombre_copie", ;
Name = "spncopie"

ADD OBJECT fenimpr.cntpages.spninitial AS spinner WITH ;
Height = 24, ;
InputMask = "9999", ;
KeyboardHighValue = 9999, ;
KeyboardLowValue = 1, ;
Left = 38, ;
SpinnerHighValue = 9999.00, ;
SpinnerLowValue =   1.00, ;
StatusBarText = "Numéro de la première page à imprimer", ;
ToolTipText = "Numéro de la première page à imprimer", ;
Top = 0, ;
Width = 60, ;
Format = "", ;
Value = 1, ;
ControlSource = "ThisForm.page_initiale", ;
Name = "spninitial"

ADD OBJECT fenimpr.cntpages.spnfinal AS spinner WITH ;
Height = 24, ;
InputMask = "9999", ;
KeyboardHighValue = 9999, ;
KeyboardLowValue = 1, ;
Left = 112, ;
SpinnerHighValue = 9999.00, ;
SpinnerLowValue =   1.00, ;
StatusBarText = "Numéro de la dernière page à imprimer", ;
ToolTipText = "Numéro de la dernière page à imprimer", ;
Top = 0, ;
Width = 60, ;
Format = "", ;
Value = 1, ;
ControlSource = "ThisForm.page_finale", ;
Name = "spnfinal"

ADD OBJECT spnfiligrane AS spinner WITH ;
FontBold = .T., ;
FontName = "Courier New", ;
FontSize = 12, ;
Height = 26, ;
Increment =   0.01, ;
InputMask = ".99", ;
KeyboardHighValue = 1, ;
KeyboardLowValue = 0, ;
Left = 16, ;
SpinnerHighValue =   0.99, ;
SpinnerLowValue =   0.00, ;
ToolTipText = "", ;
Top = 238, ;
Width = 65, ;
Value = 0.00, ;
ControlSource = "ThisForm.filigrane_opacite", ;
Name = "spnfiligrane"

PROCEDURE spninitial.InteractiveChange
DODEFAULT()
WITH This.Parent.spnfinal
STORE This.value TO .SpinnerLowValue, .KeyboardLowValue
ENDWITH  && This.Parent.spnfinal
ENDPROC

PROCEDURE spninitial.Valid
DODEFAULT()
WITH This.Parent.spnfinal
STORE This.value TO .SpinnerLowValue, .KeyboardLowValue
IF .value = 9999
.value = This.value
ENDIF && .value = 9999
ENDWITH  && This.Parent.spnfinal
ENDPROC

PROCEDURE spnfinal.InteractiveChange
DODEFAULT()
WITH This.Parent.spninitial
STORE This.value TO .SpinnerHighValue, .KeyboardHighValue
IF This.value < .value
.value = This.value
ENDIF && This.value < .value
ENDWITH  && This.Parent.spninitial
ENDPROC

PROCEDURE spnfinal.Valid
DODEFAULT()
STORE This.value TO This.Parent.spninitial.SpinnerHighValue, ;
This.Parent.spninitial.KeyboardHighValue
ENDPROC

PROCEDURE spnfiligrane.Init
this.ToolTipText = "Opacité du filigrane"CHR(13) + ;
"0.10 < normal < 0.15" + CHR(13)+ "0.00 : pas de filigrane"
DODEFAULT()
ENDPROC

PROCEDURE spnfiligrane.InteractiveChange
IF This.value <=0.10
IF This.value = 0
WAIT WINDOW "pas de filigrane !" NOWAIT
This.BackColor = RGB(255,0,0)
ELSE && This.value = 0
WAIT WINDOW "le filigrane sera très pale !" NOWAIT
This.BackColor = RGB(255,255,0)
ENDIF && This.value = 0
This.Increment = 0.01
ELSE && This.value <=0.10
This.BackColor = RGB(255,255,255)
IF This.value < 0.20
This.Increment = 0.01
ELSE
This.Increment = 0.05
This.BackColor = RGB(255,255,0)
WAIT WINDOW "le filigrane sera très foncé !" NOWAIT
ENDIF
ENDIF && This.value <=0.10
ENDPROC




--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000017621
20 087 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :


www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3