CTabCtrl CRect des Real Client bekommen?



  • Moin,
    ich will mein Dlg im Tab an die größe des Tabs anpassen *kompleziert ausdrück*

    Also ich hab ja im TabCtrl ein Dialog der darin angezeigt wird.
    Wie PAsse ich den nun der TabCtrl- Größe an?

    Hatte folgenes:

    CRect recClientRect;
    	CTabCtrl::GetClientRect(recClientRect);
    	m_pDlg->MoveWindow(recClientRect);
    

    ...Uppps und kann man die Tabs nicht mehr sehen - ist wohl bischen zu groß

    Also ich suche soetwas wie CTabCtrl::GetItemRect nur nicht füs Item sondern für den Raum wo der Inhalt es Tabs dagestellt werden soll. Oder muß ich mir das selber ausrechen - wäre ja nicht grad professionell



  • Keine eine Idee, wie ich den echten ClientRect bekomme. Oder hab ich mich so schlecht ausgedrückt?



  • Guckst du:

    #define SIDESPACE 5 
    
    	CRect tabRect, itemRect;
    
    	GetClientRect(&tabRect);
    	GetItemRect(0, &itemRect);
    
    	m_pInTabCtrlDialog->SetWindowPos(
    			&wndTop,
    			itemRect.left	+ (SIDESPACE/2),
    			itemRect.bottom + SIDESPACE,
    			tabRect.right	- itemRect.left - (SIDESPACE + (SIDESPACE / 2) ),
    			tabRect.bottom	- (itemRect.bottom + SIDESPACE)-SIDESPACE, 
    			SWP_SHOWWINDOW);
    

    SIDESPACE ist der Rand den du zwischen deinem Dlg und Tab haben möchtest

    Jemand n bessere Idee?



  • Ich habe momentan das gleiche Problem...
    so funktioniert das aber nur bei einer bestimmten Auflösung, oder?
    Weiss jemand, wie man das anpassen kann?


Anmelden zum Antworten