Ouvrir une fiche avec c++ builder

Signaler
Messages postés
140
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
15 mai 2008
-
Messages postés
140
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
15 mai 2008
-
Cedric :question) [mailto:cedbillard@voila.fr Me contacter]

Salut,
J'ai besoin d'aide pour c++ builder.
J'aimerai ouvrir une deuxieme fiche que j'ai créer à partir d'un bouton placé dans la première fiche. La première fiche se fermera.

1 ere fiche : option (fiche principal)
2 eme fiche : start

le bouton est un bitbtn au paramètre "mrOK"

Tout l'aide est attendu, je ne fait que débuter sur c++ builder (et le c++ sous windows également)

Quel code inserer ? il y a un exemple fournit mais je n'arrive pas a la faire marcher et je ne le comprend pas.

le code de l'exemple est :

void __fastcall TForm1::Button1Click(TObject* /*Sender*/)
{
TForm2 *Form2;
Form2 = new TForm2(Application);
Form2->ShowModal();
delete Form2;
}

MERCI D'AVANCE !!!!!!!! :question)

4 réponses

Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Bonjour,

si toutes tes classes de fenêtres (ou dialog) sont créées dans la fonction winmain avec Application->CreateForm
un simple
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->ShowModal();
}

devrais marcher

A+

Fred
Messages postés
140
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
15 mai 2008
1
Cedric :question) [mailto:cedbillard@voila.fr Me contacter]

Merci ca marche mais a quoi sert les autres lignes ?

Sinon j'ai reessayer le code de l'exemple :

{
TForm2 *Form2;
Form2 = new TForm2(Application);
Form2->ShowModal();
delete Form2;
}

Ce qui ne marcher pas c'est "Application" que j'ai remplacer par NULL comme dans le fichier d'aide de borland.....et ca marcher. mais comme showmodal suffit j'ai supprimer les autre ligne. Encore merci !
Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
TForm2 *Form2;
Form2 = new TForm2(Application);
Form2->ShowModal();

est utilisé si la fiche n'est pas créer dans winmain.
cela arrive notament pour des dialogues pas souvent utilisé dans l'application. dans ce cas il faut dire dans les options du projet que cette fiche n'estcréer au démarrage.
j'utilise fréquament cela pour la boite "a propos de..."

nota : le paramètre fourni au constructeur de TForm est son propriétaire (Owner) pour les fenêtre on met en général soit Application soit la fenêtre principale. ATTENTION : ne pas confondre propriétaire et parent ce sont deux chose bien différente. propriétaire est au niveau de la classe vcl c'est celui qui va se charger de la destruction automatique si besoin est. Le parent est au sens Windows (fenêtre parent vs fenêtre fille)

A+
Fred
Messages postés
140
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
15 mai 2008
1
Cedric :question) [mailto:cedbillard@voila.fr Me contacter]

Salut !
Je me remet sur un autre programme et je n'arrive plus a ouvrir une fiche.

Je créer un bouton bitbtn et j'insere le "lenomdela2emefiche->ShowModal();" et ca ne marche plus.

Erreur : Undefinined value : "lenomdela2emefiche"

Pourtant il s'agit bien du nom de ma deuxieme fiche inscrit dans Name. Pourquoi !

Je réessaye a chaque fois et c'est pareil

Merci !