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

Forum AtoutFox : 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, 18h55
Jean à Grenoble
atoutfox.public.association

pour Alain : exemples de spinner

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

Permalink : http://www.atoutfox.org/nntp.asp?ID=0000017620
20 088 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