注意:无论那种方法,都要先设置Tab控件的Style属性为fixed width.

第一种方法
MFC,tabcontrol控件改变标签大小 - 优快云博客
MFC,tabcontrol控件改变标签大小_帆帆郑的博客-优快云博客_mfc tabcontrol大小
CSize size, size1;
size.cx = 150;
size.cy = 40;
size1 = m_tab.SetItemSize(size);
第二种方法
MSDN:About Tab Controls (Windows) About Tab Controls - Win32 apps | Microsoft Docs
进入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);
本文介绍了在MFC中如何调整TabControl控件的标签大小,提供了两种方法:一种是通过调用SetItemSize函数,另一种是使用TabCtrl_SetItemSize API。详细步骤包括设置固定宽度、调整子对话框的位置和尺寸,确保标签显示正常。
2440

被折叠的 条评论
为什么被折叠?



