Probleme pour appeller un form à partir d'une variable 'As Form' de fonction
cs_magicgus
Messages postés206Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention14 septembre 2011
-
22 juil. 2008 à 21:36
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
24 juil. 2008 à 00:25
Bonjour à tous,
Préambule:
J'ai un petit souci technique que je n'arrive malheureusement pas à résoudre tout seul, peut être pourriez-vous m'aider.
Je vais faire un déscriptif complet pour que vous ayez tous les élements afin de mieux pouvoir me répondre.
Le concept : Créer un 'Form' d'information, genre infobulle au dessus de l'horloge Windows (semblable à celui de Windows Live Messenger) afin d'informer l'utilisateurs de choses diverses.
Pour cela j'ai créer un 'Form' contenant une fonction de lancement avec les paramètres à prendre en compte.
Le problème :Alors que j'ai un 'Label' genre lien hypertexte qui doit me renvoyer au 'Form' désiré, renseigné au préalable dans <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid= "la 'Function'">la 'Function'</st1:personname> d'ouverture de mon 'Form' d'information (... Form As Form), je ne peut acceder au propriété de cet objet qu'a l'interieur de la procedure elle même, alors que la procédure d'ouverture du 'Form' désiré en est celle du clique sur le 'Label' lien hypertexte.
Ce que j'ai essayé :
J'ai essayer de créer ma variable 'Dim Form As Form' et d'attribuer le prefixe 'ByRef' pour le 'Form As Form' de ma 'Function'. Ne fonctionne pas.
J'ai essayer de créer une nouvelle variable 'Form' dans le général pour lui attribué le transformer dans ma fonction en copie de mon 'Form As...'. Ne fonctionne pas non plus.
J'ai essayer plein d'autres choses bien que je ne m'en souviene à présent plus.
Public
Function ShowMessage(Titre As String, Message As String, DureeSecondes As Long, _
Optional LinkString As String, Optional ByRef LinkForm As Form)
Load LinkForm
MsgBox LinkForm.Caption
Duree = DureeSecondes * 1000
LblTitre.Caption = Titre
LblMessage.Caption = Message
LblLink.Caption = LinkString If LinkString vbNullString Then LblLink.Visible False
Me.Show
End Function
'Fin de la fonction
<hr align="center" width="100%" size="2" />
'Procedure 'MouseUp' de mon 'Label'
Private Sub LblLink_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
LblLink.ForeColor = &HFF0000
MsgBox LinkForm.Caption
End If
End Sub
'Fin de la procedure
<hr align="center" width="100%" size="2" />
Ma question :
Comment puis-je faire en de controler mon 'Form' désiré en dehors de la fonction qui l'enregistre, ou plutop comment puis-je faire en sorte que ma variable de fonction soit public et utilisable dans les autres procédures ?
Merci d'avance pour votre aide.
<sup>
Guillaume
</sup>
A voir également:
Probleme pour appeller un form à partir d'une variable 'As Form' de fonction
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 23 juil. 2008 à 00:22
salut,
une "form' est un objet de type "toutes les form", ce que tu as besoin ici est un type "ta_form_bulle"
passe Duree en public
ajoute un module standart
mets-y ceci :
'procédure à appeller à partir d'un autre 'Form'
Publicsub ShowMessage(Titre As String, Message As String, DureeSecondes As Long, _
Optional LinkString As String)
dim f as new FrmInfoBulle
'Load LinkForm
'MsgBox LinkForm.Caption
f.Duree = DureeSecondes * 1000
f.LblTitre.Caption = Titre
f.LblMessage.Caption = Message
if lenb(LinkString) then f.LblLink.Caption LinkString else f.LblLink.Visible False
f.Show
set f = nothing
End sub
reste peut-être à adapter mais dans l'idée c'est çà ;)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp