註意:無論那種方法,都要先設置Tab控制項的Style屬性為fixed width.第一種方法MFC,tabcontrol控制項改變標簽大小 - CSDN博客 https://blog.csdn.net/u012702039/article/details/22668161CSize size, siz... ...
註意:無論那種方法,都要先設置Tab控制項的Style屬性為fixed width.
第一種方法
MFC,tabcontrol控制項改變標簽大小 - CSDN博客 https://blog.csdn.net/u012702039/article/details/22668161
CSize size, size1; size.cx = 150; size.cy = 40; size1 = m_tab.SetItemSize(size);
第二種方法
MSDN:About Tab Controls (Windows) https://msdn.microsoft.com/en-us/library/bb760550(v=vs.120).aspx
進入MSDN 關於Tab Control 的官方頁面,找到我們需要的修改標簽位置和尺寸。
通過SetItemSize函數可以精確的設置Tab標簽的尺寸。
點擊進入這個函數的說明:
這一頁沒有實質的內容,繼續點擊進入詳情頁,終於有了說明:
於是在程式里這麼寫:
TabCtrl_SetItemSize(m_tab, 150, 40);
其中m_tab是控制項關聯的變數。
註意要設置Tab控制項區域中子對話框rs.top的數值要與設置的Tab標簽高度一致:
這裡都設置為40,否則會出現留白或者標簽的字被遮擋。
//獲得IDC_TABTEST客戶區大小 CRect rs; m_tab.GetClientRect(&rs); //CWnd *pWnd = GetDlgItem(IDC_TAB_MAIN); //pWnd->GetWindowRect(&rs);//獲取控制項的屏幕坐標 //cout << "Tab: " << rs.top << "," << rs.left << "," << rs.Width() << "," << rs.Height() << endl; //調整子對話框在父視窗中的位置 rs.top += 40; rs.bottom -= 1; rs.left -= 1; rs.right -= 1; //Tab m_tab.InsertItem(0, _T(" 通訊 \n")); m_ControlDlg.Create(IDD_DIALOG_CONTROL, GetDlgItem(IDC_TAB_MAIN)); //設置子對話框尺寸並移動到指定位置 m_ControlDlg.MoveWindow(&rs);