begin process at 2012 02 14 02:56:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Génération de cadre (shape) aléatoirement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Génération de cadre (shape) aléatoirement

mardi 1 août 2006 à 16:55:47 | Génération de cadre (shape) aléatoirement

Mekhanik

Bonjour,
Je voudrais visualiser graphiquement des projets auquels sont affectés plusieurs phases. J'ai prévu de dessiner dans un cadre de taille fixe symbolisant le projet, plusieurs cadres représentant chacun une phase. Ces cadres sont plus au moins grands en fonction de la durée de la phase. Mon problème est que le nombre de phase n'est pas connu au dépard (l'utilisateur peut en rajouter) et donc je ne sais pas combien de cadre (shape) dessiner. J'aimerais en générer le nombre voulu à la création de la forme puis les placer au bon endroit. Est-ce possible de générer des cadres à la volé ?
Merci beaucoup
mardi 1 août 2006 à 23:59:23 | Re : Génération de cadre (shape) aléatoirement

MPi

Réponse acceptée !
C'est possible, si je comprend bien (...), mais ce n'est pas simple.
Il faut vérifier les débordements d'écran entre autres.
Ensuite, tu devras, si nécessaire, vérifier les index de chaque contrôle pour savoir quoi faire selon le cas.

En fait, je ne suis pas certain de ce que tu entends par cadre. Si c'est un Frame comme je pense, et qui sert de conteneur à certains contrôles, tu dois mettre un index à 0 au Frame de départ ainsi qu'à tous ses contrôles.

Ensuite, tu peux utiliser un code comme celui qui suit.
Dans l'exemple, j'utilise un Frame contenant 2 textbox et un bouton... assez simple...


Private Sub Command1_Click()

'Création d'un nouveau Frame à Index 1 et positionnement
'On pourrait changer le 1 pour un compteur quelconque dans une boucle
    Load Frame1(1)
    Frame1(1).Left = Frame1(0).Left + Frame1(0).Width + 50
    Frame1(1).Top = Frame1(0).Top
    Frame1(1).Caption = "2e Frame"
    Frame1(1).Visible = True

'Création des nouveaux contrôles et affectés au 2e Frame  
    Load Text1(1)
    Set Text1(1).Container = Frame1(1)
    'Text1.Text = "ce que tu veux"
    Text1(1).Visible = True
   
    Load Text2(1)
    Set Text2(1).Container = Frame1(1)
    Text2(1).Visible = True
   
    Load Command2(1)
    Set Command2(1).Container = Frame1(1)
    Command2(1).Visible = True

End Sub

Si ce n'est pas ce que tu cherchais, désolé, mais ça pourra peut-être servir à d'autres... |¬)

MPi
mercredi 2 août 2006 à 12:57:26 | Re : Génération de cadre (shape) aléatoirement

Mekhanik

Salut merci de ta réponse MPI,

Je pense que ça peut m'aider mais ce que je voudais c'est, si on sort de ce contexte, avoir par exemple une form vierge de tout élément sauf un bouton qui quand on clique dessus ajoute un objet shape à la forme et le rende visible. En fait j'arrive à faire tout ça par la techique du Shape.visible = false et true mais je ne sais pas combien de shape je vais avoir sur ma forme donc je voudrais qu'il soit crée dynamiquement c'est possible ? genre Dim sh as new Shape ou quelque chose comme ça

mercredi 2 août 2006 à 23:12:48 | Re : Génération de cadre (shape) aléatoirement

MPi

Tu es en VB ou en VBA ?
Et est-ce important d'utiliser un contrôle Shape ?

MPi
jeudi 3 août 2006 à 09:16:16 | Re : Génération de cadre (shape) aléatoirement

Mekhanik

Je suis en VB6.0 et non ce n'est pas important d'utiliser l'objet shape du moment que je puisse dessiner plusieurs cadres sur ma form

jeudi 3 août 2006 à 12:02:03 | Re : Génération de cadre (shape) aléatoirement

MPi

Voici une autre méthode utilisant Controls.Add

À partir d'un bouton, ça crée et positionne un objet Shape à chaque Click
Si tu veux pouvoir assigner des procédures aux contrôles que tu places, il est plus simple d'utiliser l'autre méthode avec les Index.  Tu pourrais utiliser des Labels si tu veux pouvoir y mettre du texte ou autre contrôle selon tes besoins

Private Sub Command1_Click()
    Static Idx As Integer
    Dim Nom As String
    Dim Shp As Shape
   
    Idx = Idx + 1
    Nom = "Shape" & Idx
    Set Shp = Me.Controls.Add("VB.Shape", Nom)
   
    Shp.Width = 900
    Shp.Left = 1000 + (Idx * 1000)
    Shp.Top = 1000
    Shp.FillStyle = 0
    Shp.FillColor = vbBlue
    Shp.Visible = True
End Sub

Autre piste qui pourra peut-être t'aider ...

MPi
vendredi 4 août 2006 à 09:10:54 | Re : Génération de cadre (shape) aléatoirement

Mekhanik

Je te remercie MPi pour ton aide précieuse, je n'avais pas pu tester ton code mais c'est exactement ce que je cherche à faire Merci beaucoup.

P.S. : Je vais aussi tester ta deuxième proposition, elle peut m'intéresser !



Cette discussion est classée dans : cadres, shape, cadre, génération, phase


Répondre à ce message

Sujets en rapport avec ce message

Ajout dynamique d'un shape dans une picturebox [ par lermite222 ] Bonjour tou(te)s Je tente depuis pal mal de temps d'incorporer dynamiquement un shape dans une pictureBox sans trouver de solution. [^^sad1] Sur la fo probleme de groupbox bizar [ par biboulou ] bonjour j'ai fait un groupboux sur un fond jaune le cadre du groupbox apparait en bleu sous windows xp et part contre le cadre apparait en jaune sou Proportions de deux cercles [ par Cjvg ] Bonjour, J'ai un projet qui représente graphiquement la superficie de deux pays. J'utilise un composant shape (Cercle) de dimension [b]FIXE[/b] pour Génération de règles d'association en VB.net [ par Ma2moun ] Bonjour, Est-ce que quelqu'un peut nous aider à résoudre ce problème en VB.net svp? Nous avons les variables suivantes A, B, C, D, E... et nous dési SOS listBox [ par doudou ] Bonjour,Mon problème est le suivant:Je souhaiterais faire apparaître une zone de liste dans une dia sous powerpoint(cette application doit me permettr Frame (Cadre) transparents [ par Seb ] Bonjour,Je chercher le componsant contenant les frames transparents ou comment rendre la propriété backcolor d'un frame en transparent.(Pas les frames Macro Excel 97 et Graphiques [ par William Hellé ] Je crée dynamiquement des graphiques en VBA Excel, je modifie la taille des graphiques avec les fonctions :Shape(1).Height = 227Shape(1).Width = 657Le deplacer une image dans son cadre [ par FredericPinchon ] bsr, je cherche du code qui me permette de deplacer une image dans son cadre predefini (image ou picture), un peu comme la fameuse main des logiciels Cadre d'objet indépt, feuille de calcul excel [ par Julie ] En vba, comment insérer des données issues de requête dans une feuille de calcul excel créée dans un formulaire(avec l'outil: cadre d'objet indépendan l'asp et le plein écran [ par Fabien ] Bonjour à tous. Débutant en asp, je sollicite votre aide.J'ai une page à faire afficher (en local) avec la date du jour. Le fichier se nomme ac.aspSi


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,716 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales