Création des formulaires en code uniquement [Résolu]

Signaler
Messages postés
14
Date d'inscription
lundi 1 octobre 2007
Statut
Membre
Dernière intervention
23 décembre 2008
-
Messages postés
228
Date d'inscription
mercredi 13 décembre 2000
Statut
Membre
Dernière intervention
8 août 2011
-
salut à tous !!!

voilà mon problème. je voudrais créer un formulaire en vb6 sp6 mais je ne voudrais pas le faire graphiquement.
est il un moyen de créer les formulaires, les boutons, les textbox et tout le reste dans le code.

7 réponses

Messages postés
228
Date d'inscription
mercredi 13 décembre 2000
Statut
Membre
Dernière intervention
8 août 2011

C'est possible. Voici un petit exemple. J'ai fait un formulaire en grande majorité dynamique.

Voilà ma fonction qui cré mes contrôles
Mon code est un peu brouillé, mais il fonctionne.
Et Si tu veux utilisé des controles qui utilise la propriété .text tu n'as qu'à la modifié un peu pour qu'elle vérifie si elle doit utiliser caption ou text.

Exemple d'appel :

AJouterControl "Label", "nomControl", _
                        300, 4000, intPosX, intPosY _
                        , frm, "Description", 0

Public Sub AJouterControl(strType As String, strNom As String, _
            intH As Integer, intL As Integer, intPosX As Integer, _
            intPosY As Integer, frm As Form, ByVal strTexte As String, _
            intAlign As Integer, Optional conteneur As String = "tabScenario", _
            Optional intFontSize As Integer = 8, _            Optional blnBold As Boolean False, Optional strBg As String &H8000000F)
           
Dim nouveauControl As Control
Dim strTest As String
'Comme je travail avec des frames et des sstabs, je met un 3ieme argurment
'À mon crontols.Add. Si c'est pour l'ajouter dans une form sans conteneur
'Ne met pas de troisième argument.
Set nouveauControl = frm.Controls.Add("VB." & strType, strNom & nbControlesCréés, frm.Controls(conteneur))
With nouveauControl
    .Visible = True
    .Left = intPosX
    .Top = intPosY
    .Height = intH
    .Width = intL
    .Caption = strTexte
    .Alignment = intAlign
    .FontSize = intFontSize
    .FontBold = blnBold
    .BackColor = strBg
End With
nbControlesCréés = nbControlesCréés + 1
End Sub




Alors voilà, jespere que ca va t'aider
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
en vb.Net
Dim Form2 As New Form
Messages postés
14
Date d'inscription
lundi 1 octobre 2007
Statut
Membre
Dernière intervention
23 décembre 2008

donc c'est impossible en vb6. ou dois je utiliser les api windows ?
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
as tu éssayé??
Dim Form2 As New Form
Messages postés
45
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
23 juin 2008

salut a toi,

tu peut regarder sur ce lien si tu veut http://www.vbfrance.com/codes/CREER-DYNAMIQUEMENT-FORMULAIRE_26450.aspx

c'est notre amis [auteur/TRAYAK/343422.aspx trayak] qui l'a fait et aparament sa marche impécable

j'espère t'avoir aider

bon courage pour la suite
Messages postés
14
Date d'inscription
lundi 1 octobre 2007
Statut
Membre
Dernière intervention
23 décembre 2008

salut !!!


merci à toi bonjourcheval. ton code marche à merveille.
est-il possible créer un form de la même manière ??

thierylaurent en fait je cherchais un code en vb6 mais comme je développe aussi en vba je vais essayer.
a+
Messages postés
228
Date d'inscription
mercredi 13 décembre 2000
Statut
Membre
Dernière intervention
8 août 2011

Il est certain que ma fonction ne peut pas créer de form. Toutefois, si tu as au moins une form vierge, tu pourrais essayer quelque chose du genre :

Dim c As Form2


Set c = New Form2


c.Height = 4000
c.Width = 4000


c.Caption = "test sur nouvelle form"
AJouterControl2 "label", "SuperNom", 400, 1000, 1, 1, c, "MonSuperTexxte", 1


c.Show

Bon, J'ai tester avec ce code. Si tu as une form vide, tu peux en créer une nouvelle et la modifier comme tu veux. Dans l'exemple je n'ai modifier que la gradeur de la form, mais tu peux faire ce que tu veux après.
Et le control que j'ai ajouter à bien afficher sur la feuille que je venais de créer!

Tu devrais te débrouiller avec ça o.-