Anzeigeproblem bei Registerkarte
-
Ich hab das Problem, das bei mir die einzelnen Dialogfelder falsch angezeigt werden, alle felder werden oben links in der bildschirmecke angezeigt, anstatt unterhalb der registerreiter (tab1, tab2, etc.).
Ich benutz die XTabCtrl Klasse von http://www.fun-soft.de/.
Hier die Funktion die eigentlich dafür sorgen sollte, das die Felder an der richtigen Position angezeigt werden.void CXTabCtrl::SetRec() { CRect tabRec, itemRec; int nX,nY,nXz,nYz; GetClientRect(&tabRec); GetItemRect(0,&itemRec); nX=itemRec.left; nY=itemRec.bottom+1; nXz=tabRec.right-itemRec.left-1; nYz=tabRec.bottom-nY-1; m_tabellenSeite[0]->SetWindowPos(&wndTop,nX,nY,nXz,nYz,SWP_SHOWWINDOW); for (int nZaehler=1; nZaehler<m_Seitennummern; nZaehler++) { m_tabellenSeite[nZaehler]->SetWindowPos(&wndTop,nX,nY,nXz,nYz,SWP_HIDEWINDOW); } }
-
Ich poste das jetzt mal auf die Gefahr hin das es dir nicht weiter hilft, aber hatte gerade das selbe Problem und hab das dann so gemacht:
//Einträge einfügen m_ctlTab.InsertItem(0,"Allgemein"); m_ctlTab.InsertItem(1,"Browser Einstellungen"); m_ctlTab.InsertItem(2,"Relativen Pfad einfügen"); m_ctlTab.InsertItem(3,"Farbcode einfügen"); m_ctlTab.InsertItem(4,"Schlüsselwörter"); //Werte des Tab Steuerelementes RECT rec; m_ctlTab.GetWindowRect(&rec); //Werte des Ersten Reiters RECT ItemRect; m_ctlTab.GetItemRect(0,&ItemRect); //Position des Formview bestimmen RECT NewPos; NewPos.left = 1; NewPos.right = rec.right - rec.left - 4; NewPos.top = ItemRect.bottom+1; NewPos.bottom = rec.bottom - rec.top - NewPos.top -3; //Die einzeilen Formviews allokieren und auf ihre Position setzten m_pPage1 = new CHtmlConfigPage1Dlg; m_pPage1->Create(MAKEINTRESOURCE(IDD_HTMLCONFIGPAGE1),&m_ctlTab); m_pPage1->SetWindowPos(&wndTop,NewPos.left,NewPos.top,NewPos.right,NewPos.bottom,0); m_pPage1->ShowWindow(SW_SHOW); m_pPage2 = new CHtmlConfigPage2Dlg; m_pPage2->Create(MAKEINTRESOURCE(IDD_HTMLCONFIGPAGE2),&m_ctlTab); m_pPage2->SetWindowPos(&wndTop,NewPos.left,NewPos.top,NewPos.right,NewPos.bottom,0); //Hier kommen dann noch die restlichen FormviewsIch hoffe das hilft die ein bissel
.
-
der Dialog muss Child sein