Tab control sans MFC

Signaler
Messages postés
1
Date d'inscription
lundi 16 août 2004
Statut
Membre
Dernière intervention
16 août 2004
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Bonjour
j'ai créer en c++ une tab control et deux tab comme indiqué dans l'aide de msdn à l'adresse suivante :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tab/tab.asp

Je n'ai pas utilisé de boite de dialogue mais la première solution qu'ils propose : creating a table controle.

Mon probleme est que je n'arrive pas à accéder à mes deux onglets. Je ne sais pas comment récupérer un de leur handle et y mettre des boutons, champ de texte... etc...

Merci pour votre aide.

5 réponses

Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
Bj

d'après ce que j'ai compris, les onglets n'ont pas de handle
(j'ai cherché à en désactivé et cela c'est avéré impossible)

voici le code que j'utilise pour les initialiser:

/// Algo : Init barre d'onglets
{
/// Algo : init titres
///nota : pb possible en mode release : soluce :
///+ char titre[50]
///+ strcpy(titre,"yyyyyyyy");
///+ tabCtrlItem.pszText = titre;
BString plomp;
// TC_ITEM tabCtrlItem;
// tabCtrlItem.mask=TCIF_TEXT;

MACRO_GET_TXT_LANGUE(plomp,"choixTraitement",false);

// tabCtrlItem.pszText=plomp;
c_tabChoixTrtt.InsertItem( 0,/* &tabCtrlItem */plomp);

MACRO_GET_TXT_LANGUE(plomp,"choixNettoyage",false);

// tabCtrlItem.pszText=_T(plomp);
c_tabChoixTrtt.InsertItem( 1,/* &tabCtrlItem */plomp );
MACRO_GET_TXT_LANGUE(plomp,"choixInfo",false);
// tabCtrlItem.pszText=_T(plomp);
c_tabChoixTrtt.InsertItem( 2,/* &tabCtrlItem */plomp );
MACRO_GET_TXT_LANGUE(plomp,"choixAssistant",false);
// tabCtrlItem.pszText=_T(plomp);
c_tabChoixTrtt.InsertItem( 3,/* &tabCtrlItem */plomp );
MACRO_GET_TXT_LANGUE(plomp,"choixAide",false);
// tabCtrlItem.pszText=_T(plomp);
c_tabChoixTrtt.InsertItem( 4,/* &tabCtrlItem */plomp );
}

-----------------puis----------------------------
/// Algo : init sous fenetres (création amodale)
pChoixTraitement=NULL;
pChoixInfo=NULL; //NULL pour éviter bug crée par l'appel des fonctions de maj... au create...
pChoixDeveloppement=new DChoixDevel(this);
pChoixDeveloppement->Create(IDD_DCHOIX_DEVELOPPEMENT,this);
pChoixDeveloppement->ShowWindow(SW_HIDE);
pChoixInfo=new DChoixInfor(this);
pChoixInfo->Create(IDD_DCHOIX_INFO,this);
pChoixInfo->ShowWindow(SW_HIDE);

-----------------------enfin----------------------------------------
/// Algo : init sous fenetres (positionnement)
{
//getSystemMetric
CRect rectTab;
c_tabChoixTrtt.GetWindowRect(&rectTab);
ScreenToClient(&rectTab);
rectTab.left+=5;
rectTab.top+=25;
// rectTab.right-=5; rectTab.bottom-=10;
unsigned int largeur=rectTab.Width()-10,hauteur=rectTab.Height()-10;
pChoixDeveloppement->SetWindowPos(NULL, rectTab.left , rectTab.top, largeur, hauteur, SWP_NOZORDER);

c_tabChoixTrtt.SetCurSel(iTraitement);

pChoixTraitement->ShowWindow(iTraitement<=1?SW_SHOW:SW_HIDE);

pChoixInfo->ShowWindow(iTraitement==2?SW_SHOW:SW_HIDE);
pChoixDeveloppement->ShowWindow(iTraitement==3?SW_SHOW:SW_HIDE);
c_aide.ShowWindow(iTraitement==4?SW_SHOW:SW_HIDE);
pChoixInfo->setTypeInfo(tmp);
pChoixDeveloppement->UpdateData(false);

....

ce code est partiel mais montre l'exemple de fenetres incluses dans le tab control ou d'activations d'éléments à la meme place
(attention au tabOrder...)

et n'oublie pas de détruire les sous fenetre en sortie de prog

++

Magic Nono: l'informagicien!
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Magic_Nono> tu compliques inutillement les choses a mon gout et a vrai dire je trouve ca plutot inutile! Puis balancer du code sans explication n'a aucun interet!

pocaxe> Regarde dans mes sources ya un exemple simple de tab control SANS MFC.

Shell
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
DeArH...> G chercher pdt plus 6 mois a atteindre le résultat obtenu par ce code alors, si tu as mieu, je t'en prie et tu aurai pu aider plus tot.

et des explic, y en a, s'il ne comprend po qqch, il demande
point.

Magic Nono: l'informagicien!
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
il est vrai, que ce code a été un peu "sorti de son contexte"

mais, les instructiosn importantes sont toutes là et après si il ve se pencher sur l'aide de chacune, il peut

ceci dit, je ne suis pas certain à 200% qu'il n'y ai pas de mfc la dessous. En tt cas, la partie princ est sans et C sur.

sur ce, j'ai vu la question, j'y ai répondu, certes rapidement, car je suis sur 2 gros prj
et que j'aurai souhaité avoir des réponse à certaines de mes question, meme si ces rep etaient incomplètes, cela aurait donner des pistes et permi de préciser les susdites questions

sur ce, ++

Magicalement,
Nono - l'informagicien!
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Oula pas la peine d'etre bienlent dans tes propos.
Commence par lire mon post en entier.

Puis je vois pas ou sont les explications dans ton codes. Mais bon.
Parlons peu, parlons bien.

POCAXE> Dans une de mes sources j'ai fait un exemple de TAB CONTROL SANS MFC. Voici l'URL :
http://www.cppfrance.com/code.aspx?id=21766

Shell