MFC TabCtrl 控件修改標簽尺寸


注意:無論那種方法,都要先設置Tab控件的Style屬性為fixed width.

image

第一種方法

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 的官方頁面,找到我們需要的修改標簽位置和尺寸。

image

通過SetItemSize函數可以精確的設置Tab標簽的尺寸。

image

點擊進入這個函數的說明:

image

這一頁沒有實質的內容,繼續點擊進入詳情頁,終於有了說明:

image

於是在程序里這么寫:

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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM