Ouvrir une fiche avec c++ builder

cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 - 20 juil. 2003 à 23:38
cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 - 19 sept. 2003 à 20:08
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

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
21 juil. 2003 à 10:00
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
0
cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 1
21 juil. 2003 à 10:58
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 !
0
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
21 juil. 2003 à 12:01
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
0
cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 1
19 sept. 2003 à 20:08
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 !
0