MFC: How do you Paint a CTabView Background When no tabs exist?

125 Views Asked by At

I what to display some text, probably using DrawText() on to the CTabView client area when no tabs exist to explain why they don't exist. However, CTabView::OnPaint() is not called except once at the app startup. Also when all tabs hidden the CTabView::OnDraw() is not called. I suppose the CMFCTabCtrl may be the one getting the OnPaint() callbacks? But nonetheless, how do you output something to that row/col of a CSplitterWnd occupied by a CTabView when all tabs are not shown (hidden via CMFCTabCtrl::ShowTab()). ??

TIA!!

1

There are 1 best solutions below

0
On

The tab control works that way that all tab views are hidden - except the one which is open.

Where no tab view is open, none will receive a paint message (nor WM_ERASEBACKGROUND).

You could try implementing your paint stuff in the tab control's OnPaint handler.