Bonjour, j'ai un petit problème :
Sur ma fiche il y a un TPageControl dans lequel j'ajoute dynamiquement des TTabSheet (j'en ajoute à la volée, le nombre n'est pas déterminé).
Dans ce TTabSheet, je veux insérer un ComboBox dynamiquement, et dans ce ComboBox je veux ajouter des items ... dynamiquement encore.
Le TPageControl n'est pas dynamique, il est posé sur la fiche.
Voilà ce à quoi ça ressemble pour le moment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part TPageControl * PageControlY; // Composant géré par l'EDI
La compilation se fait sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 TTabSheet *New_Tab = new TTabSheet(PageControlY); // Nouvel onglet TComboBox *Combo_Valeurs = new TComboBox(new_tab); // Nouvelle ComboBox Combo_Valeurs->Parent = new_tab; // Ensuite, ajout d'un item dans la ComboBox Combo_Valeurs->AddItem("Axe 1", NULL /* Je sais pas ce qu'il veut en second paramètre ! */);
A l'execution, (admettons que c'est un bouton qui execute l'ajout du tabshett et du combox), ça plante dès que ça arrive sur le AddItem.
Le message d'erreur est le suivant :
L'aide de borland sur le AddItem indique :Le projet "MonProjet.exe" a provoqué une classe d'exception EInvalidOperation avec le message 'Le contrôle " n'a pas de fenêtre parente'. Processus Stoppé. Utilisez Pas à pas ou exécuter pour continuer.
Voilà, que dois-je faire ? Je ne sais pas quel TObject il veut. J'ai essayé 'this (soit le TPageControl) mais il n'en veut pas...Appelez AddItem pour ajouter une chaîne et son objet associé à la liste déroulante.
Item représente la chaîne à ajouter à la liste déroulante.
AObject est un objet associé à cette chaîne. Pour y accéder, utilisez la propriété Objects de l'objet TStrings qui implémente la propriété Items.
Partager