CTabCtrl

cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010 - 4 sept. 2007 à 13:26
cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010 - 15 oct. 2007 à 17:01
J’ai un control Tab  qui possède 2 onglets (2 Boites de dialogues : Dlg1 et Dlg2)


Dans Dlg1  j’ai un bouton


Dans Dlg2  j’ai une list  (ListCtrl)



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Ce que je cherche :


Sur longlet1 (Dlg1) quand je clic sur le bouton, je veut qu’une nouvelle ligne s’ajoute dans la liste du 2° onglet (Dlg2)

7 réponses

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
5 sept. 2007 à 08:46
un début,
au click
prendre la fenêtre parent qui contient le pointeur de la boite de dialogue 2 à laquelle on rajoute une fonction publique pour ajouter une ligne dans le listctrl

louis14
0
cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010
5 sept. 2007 à 09:22
est ce que c'est possible d'être plus clair!!! je ne comprend pas. 


merci
0
kts_system Messages postés 25 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 27 novembre 2018
10 sept. 2007 à 11:52
Ca depent comment tu utilise ton tab control mais bon je supose que tu a un tableau de dlg du style m_Dialog[nbdetab] :

dans le on click de ta dlg1

CTabCtrl * pTab = (CTabCtrl*)GetParent();
if (pTab) m_Dialog[1]->PostMessage(...); //en supposant que  m_Dialog[1] pointe sur ta dlg2

ds la dlg

Intercepte le message (ON_MESSAGE(...)) ds la message map 
et voila ecrit ton code dans la fct assosié au msg
0
cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010
10 sept. 2007 à 19:42
J’explique :


J’ai une boite de dialogue  Dlg


Dans cette boite, j’ai inséré un control  TabCtrl :  dont la classe de base : CTabCtrlx


Dans cette classe (CTabCtrlx) 



-        
j’ai déclaré 3 instances de 3 dialogues différents



-        
une fonction pour la création des onglets, affichage, et traitement du clic sur l’onglet



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




dans la boite de dialogue Dlg1 (onglet 1), j’ai un bouton,  le clic sur ce bouton  permet l’ajout d’une nouvelle ligne dans une liste dans <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la Dlg">la Dlg</st1:personname>2 (onglet2)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kts_system Messages postés 25 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 27 novembre 2018
11 sept. 2007 à 12:10
je recommence:

dans ton tabctrl il faut que tu ai un ptr sur ta dlg2 (je ne connait pas CTabCtrlx)
Mais au pire tu rajoute un attribut CDlg2 * pDlg2 a la classe CTabCtrlx et tu créé un fct pour lui
passer le ptr (mais c'est un peu barbare).

Ensuite ds ta dlg2 tu fait une fct public par ex AddItemToListCtrl (c'est mieux un PostMessage mais c'est plus compliquer)

ensuite ds dlg1 sur le du click du boutton

CTabCtrl * pTab = (CTabCtrl*)GetParent();
if (pTab)
{
    pTab->pDlg2->AddItemToListCtrl();  (pDlg2 et un ptr sur ta dlg2)
}

Attention le ptr pDlg2 doit etre du type de ta dlg par ex : CDlg2 (et pas un ptr de type CDialog sinon tu est obliger de caster ou d'utiliser PostMessage)
et voila, bien sur il faudrat que tu passe des params a la fct (texte de l'item...)
0
cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010
11 sept. 2007 à 17:47
pour le principe, c'est clair, mais  ça ne marche pas chez moi.
0
cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010
15 oct. 2007 à 17:01
dans mon tabctrl j'ai rajoute un attribut CDlg2 * pDlg2

mais dans quel niveau je lui passe le pointeur .??
0
Rejoignez-nous