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);
posted @ 2018-04-09 20:19  不锈钢老鼠  阅读(4088)  评论(0编辑  收藏  举报