Gestion d'onglet dans une application SDI

Signaler
Messages postés
1
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
15 mars 2011
-
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
-
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

Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
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