Gestion d'onglet dans une application SDI

gregiris49 Messages postés 1 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 15 mars 2011 - 15 mars 2011 à 11:00
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 - 17 mars 2011 à 09:55
Bonjour,
Je suis en projet comme beaucoup d'élève de BTS Iris (et oui encore un) ..
Je dois créer une application avec des onglets, donc j'ai longuement cherché, et j'ai trouvé un tuto me permettant d'utiliser les onglets(http://www.codersource.net/mfc/mfc-tutorials/ctabctrl.aspx).

Cela fonctionne mais le problème c'est que le tuto se fait dans un projet basé sur les boîtes de dialogue et non dans une application SDI. Je n'arrive donc pas à intégrer mon projet boîtes de dialogue à un projet SDI (intégration) ce qui est normal vu que ce n'est pas la même chose mais en essayant de faire directement des onglet dans une application SDI, cela ne fonctionne pas ..

Bout de code qui pose problème en SDI :
int nSel = GetCurSel();
  if(m_Dialog[nSel]->m_hWnd)
     m_Dialog[nSel]->ShowWindow(SW_HIDE);

  CRect l_rectClient;
  CRect l_rectWnd;

  GetClientRect(l_rectClient);
  AdjustRect(FALSE,l_rectClient);
  GetWindowRect(l_rectWnd);
  GetParent()->ScreenToClient(l_rectWnd);
  l_rectClient.OffsetRect(l_rectWnd.left,l_rectWnd.top);
  for(int nCount=0; nCount < m_nPageCount; nCount++){
     m_Dialog[nCount]->SetWindowPos(&wndTop, l_rectClient.left, l_rectClient.top, l_rectClient.Width(), l_rectClient.Height(), SWP_HIDEWINDOW);
  }
  m_Dialog[nSel]->SetWindowPos(&wndTop, l_rectClient.left, l_rectClient.top, l_rectClient.Width(), l_rectClient.Height(), SWP_SHOWWINDOW);

  m_Dialog[nSel]->ShowWindow(SW_SHOW);


J'utilise CTabCtrl, les erreurs viennent de mes GetParent() ou encore GetCurSel() et je n'arrive pas à les résoudre.

Si quelqu'un a un peu de temps pour m'aider, ce serait sympa :)
Merci
Cordialement,
Grég.

1 réponse

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
17 mars 2011 à 09:55
Bonjour,

Il y a surement des projets sur ce site. Si tu travaille sous VS2008 ou 2010, il y a la possibilité de créer un projet de ce type directement ( style VS2008);
Sinon voilà une adresse d'un projet plus simple :
http://www.codeproject.com/KB/docview/tabbedmdi.aspx

Sur ce site il y a d'autres projets en cherchant avec les mots clés MDI et TAB

Bon Stage


louis
0
Rejoignez-nous