Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3137 connectés 

  FORUM HardWare.fr
  Programmation

  [VB6] passer le nom d'un controle par variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB6] passer le nom d'un controle par variable

n°73761
chapi
Downgradé
Posté le 20-11-2001 à 11:26:13  profilanswer
 

Vouala mon soucis...
 
soit le controle text1
 
je voudrais pouvoir passer son nom (text1) dans une function..
 
genre :
 
controlName = text1.name
 
 
public function (controlname as string)
 
controlname.caption = "HFR is Fantastic"
 
Enf function
 
mais forcément, cela ne marche pas.... kelkun a une idée ? il y a une syntaxe spéciale ?
 
Merci d'avance
 
Chapi


---------------
I drive at 88mph ! Just in case...
mood
Publicité
Posté le 20-11-2001 à 11:26:13  profilanswer
 

n°73769
Bloodymary​_
Posté le 20-11-2001 à 11:34:52  profilanswer
 

Ben il suffit de declarer une variable de type control, de la faire pointer sur ton textbox et de passer son .name a ta function
 
vala  ;)

n°73770
chapi
Downgradé
Posté le 20-11-2001 à 11:37:17  profilanswer
 

Merci msieur !


---------------
I drive at 88mph ! Just in case...
n°73824
chapi
Downgradé
Posté le 20-11-2001 à 14:23:22  profilanswer
 

bon j'ai toujours mon chti problème...je n'arrive pas à passer le nom en variable :-(
 
ex:  
 
Dim test As Control
 
rep = InputBox("Nom du controle" )
 
Set test = rep
test.Caption = "HFR is fantastic"
 
 
...ne marche pas.. Ca fonctionne si je mets directos le nom du ocntrole à la place de rep mais ce n'est pas ça que je veux faire moua... je veux vraiment que le nom du controle se ballade et soit exploitable dans une fonction..
 
Merci d'avance !


---------------
I drive at 88mph ! Just in case...
n°74109
Mandrix
Posté le 21-11-2001 à 14:37:19  profilanswer
 

2 solutions :
 
------------------------------------------------------------
'Fonction
Public Sub Titre(Ctl as Control)
  if TypeOf Ctl Is CommandButton
    Ctl.Caption = "Ca marche"
  end if
End Sub
 
'Appel
Titre(BoutonOK)
'-> affiche "Ca marche" comme titre du bouton OK
 
------------------------------------------------------------
'Fonction
Public Sub Titre(ControlName as String)
 Dim tmpCtl as Control
 Set tmpCtl = MaForm.Controls(ControlName)
 If tmpCtl is Nothing then
   msgbox "La feuille MaForm ne contient pas de contrôle " & ControlName
 Else
 if TypeOf tmpCtl is CommandButton then
   tmpCtl.Caption = "Ca marche"
 else
   msgbox "le controle " & controlname & " n'est pas un bouton"
 end if
 end if
End Sub
 
'Appel :
Titre "BoutonOK"
 
Voila qui devrait te permettre de faire ce que tu cherches  
 
a+

n°74111
chapi
Downgradé
Posté le 21-11-2001 à 14:44:33  profilanswer
 

Oki merci, je vais voir ce que ça donne...paske passer par des globales, c'est pas ce que je préfère ;)
 
Controls est une collection, isn't it ?


---------------
I drive at 88mph ! Just in case...
n°74189
Kyle_Katar​n
Posté le 21-11-2001 à 18:54:02  profilanswer
 

oui mais à ton niveau un petit passage par une globale ne doit pas être bien génant.

n°74210
chapi
Downgradé
Posté le 21-11-2001 à 19:34:37  profilanswer
 

Non, j'aime pas les globales, j'en ai deja une 10aine dans un module et quand c'est un prog avec 65 forms, ça commence à être un peu le bordel à gérer...
 
Et mon prof d'algo m'a  disait tjs "les globales c'est caca !" ;)

n°74423
Bloodymary​_
Posté le 22-11-2001 à 14:30:51  profilanswer
 

-----
soit le controle text1  
je voudrais pouvoir passer son nom (text1) dans une function..  
genre :  
controlName = text1.name  
 
public function (controlname as string)  
controlname.caption = "HFR is Fantastic"  
End function  
-----
 
 
dim Ctr as control
 
for each Ctr in me.controls
    ' cette boucle te permet de parcourir tous les controls  
    ' de ta feuille
    ' il te suffit de verifier que tu pointes sur le bon et :  
    if  ----  then call sub(Ctr.name)  ' et hop
 
next

n°74429
Mandrix
Posté le 22-11-2001 à 15:04:47  profilanswer
 

Bloody> Ca marche, mais ca sert strictement à rien :)
 
Tu accède directement a Me.Controls("NomDuControle" ), ca fait pareil et ca va nettement + vite (à coder et à exécuter)
 
(Ou alors, c'est que j'ai pas pigé ce que tu veux faire)

mood
Publicité
Posté le 22-11-2001 à 15:04:47  profilanswer
 

n°74517
Bloodymary​_
Posté le 22-11-2001 à 17:57:38  profilanswer
 

Ouais sauf si t as pas le nom de ton control mais que tu peux l identifier autrement (par son contenu par exemple)
 
Si Chapi avait le nom du control, je pense qu il n aurait pas poster  ;)  
 
Ou alors j ai rien compris   :crazy:  
 
 :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VB6] passer le nom d'un controle par variable

 

Sujets relatifs
[C++] Comment faire un switch avec une variable string?[php] url et variable
Divers controle en Ccontrole d'un gif animé
[SQL server] Passer un tableau en parametre d'une procédure stocké?URGENT ! ! BTS - Maquer une image par le code [VB6]
Dégradé de couleurs en VB6VB6 ???
refresh d'une datagrid sous VB6[C] Type d'1 variable comme paramètre à 1 fonction
Plus de sujets relatifs à : [VB6] passer le nom d'un controle par variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR