0
我已經創建了基於MFC框架的MDI應用程序,但CMFCTabCtrl
的樣式不符合我們的要求。我想改變標籤高度,顏色和添加一些圖片和按鈕。如何自定義MFC MDI CMFCTabCtrl
但我不知道如何。有任何例子或文章能幫助我嗎?
我已經創建了基於MFC框架的MDI應用程序,但CMFCTabCtrl
的樣式不符合我們的要求。我想改變標籤高度,顏色和添加一些圖片和按鈕。如何自定義MFC MDI CMFCTabCtrl
但我不知道如何。有任何例子或文章能幫助我嗎?
您可以輕鬆定製您的MFC選項卡控件。有很多選擇。
要啓用關閉按鈕,你只需要調用m_TabControl.EnableActiveTabCloseButton();
確保在你的子窗口中添加WM_CLOSE
消息處理程序:
void CMyTabWindow::OnClose()
{
CMFCTabCtrl *pTab = static_cast<CMFCTabCtrl*>(GetParent());
pTab->RemoveTab(pTab->GetActiveTab());
}
可以使用SetTabBkColor()
或SetAutoColors()
自定義顏色。
您還可以使用SetImageList()
設置圖像。
高度還可以使用SetTabsHeight()
來定製。
感謝您的回覆。我發現這些方法基於MDI應用程序框架風格。有沒有辦法自定義沒有所有樣式的選項卡控件?我想要自定義選項卡控件,如通過OnDraw方法中的GDI繪製一些矩形。但是我不能在我的子框架類中覆蓋WM_DRAWITEM消息。我已經創建了我自己的選項卡控件,它是從標準選項卡控件類派生而來的。並把它放在MDI客戶端上面。響應WM_LBUTTONDOWN消息來激活視圖。但它不是我想要使用的方法。 –
如果您想要完整的所有者繪製解決方案,您需要重新實施整個控制。而且你還必須創建自己的MDI框架。我不會推薦這麼做。 MS UI標準由專業設計人員開發並經過許多用戶的測試。 –