Aide - Recherche - Membres - Calendrier
Version complète : alimentation field.txt
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS > Développement HB++
hugonoof
Bonjours,
j'ai un field (toto) dans frmMain et un usercontrol.
En cliquant sur mon UC, je debranche dans la fonction UserControl_PenDown de mon UC, et de la j'aimerais mettre a jours mon champ toto.text de mon frmMain.
Forcement a la compile il ne connait pas toto.text
Comment faire?
snark
Parent.Toto.Text
hugonoof
CITATION(snark @ 01/06/2007 à 12:48 ) *
Parent.Toto.Text


Il me repond
CODE
error #2208 : 'Form' has no member named 'Toto'
Payalba
A mon avis, il faut que tu signales l'existence de ton edit à ton UC.

Pour cela, je fait des truc comme cela :
le usercontrol


CODE
dim eV as Field

public property set e(ee as Field)
    set eV = ee
End Property

public property get e() as Field
    set e = eV
End Property


Private Sub UserControl_PenDown(ByVal x As Integer, ByVal y As Integer)
    if not eV is nothing then
        e.Text = "tap"
    end if
End sub


Private Sub UserControl_Paint()
    me.ForeColor = htmlcolor("black")
    me.Rectangle 0,0,me.Width-1,me.Height-1,hbRectBorderSolid
End Sub


Le code de la fenetre (j'ai posé un uc usercontrol11 et un champ field1)

CODE
Private Sub Form_Load()
     set userControl11.e = field1
End Sub
poolpy
La solution de Payalba fonctionne, mais je la trouve pas tip-top.

En fait, une autre solution est de ne pas faire la modification du field dans ton UC, mais de juste lever un event (avec RaiseEvent) pour signaler le changement. Ce sera à la form qui inclut le usercontrol de gérer cet event pour mettre à jour le field.

L'intérêt, c'est que si un jour tu veux utiliser le même user control pour éditer une valeur qui sera à la fin stockée dans un autre type de contrôle (pourquoi pas une caption un jour, ou un élément d'une liste, ou une grid...), tu ne devras pas modifier le code de ton user control ! Les events sont donc un bon moyen de "découpler" des éléments de ton programme.
Payalba
Peut être pas tip top, mais je réponds à la question. anim_grin.gif

En général d'ailleurs je lance un évenement 'click'
hugonoof
Merci beaucoup pour vos reponses.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.