如何获取选项卡项的TCITEM结构?
我已经创建了一个选项卡控件和一些选项卡项。在某个时候,我必须重置选项卡项文本。当然,我始终可以使用以下方法来完成此操作:如何获取选项卡项的TCITEM结构?,c,winapi,tabs,C,Winapi,Tabs,我已经创建了一个选项卡控件和一些选项卡项。在某个时候,我必须重置选项卡项文本。当然,我始终可以使用以下方法来完成此操作: TCITEM tie; tie.mask = TCIF_TEXT | TCIF_IMAGE; tie.iImage = -1; tie.pszText = _T("Start Page"); SendMessage(panel->hwndTab, TCM_SETITEM, tabIndex, (LPARAM)&tie); 但是我想知道我们是否可以得到一个选项卡
TCITEM tie;
tie.mask = TCIF_TEXT | TCIF_IMAGE;
tie.iImage = -1;
tie.pszText = _T("Start Page");
SendMessage(panel->hwndTab, TCM_SETITEM, tabIndex, (LPARAM)&tie);
但是我想知道我们是否可以得到一个选项卡项的TCITEM结构,我们只是重置这个TCITEM的psztext成员?我们可以通过发送
TCM\u GETITEM
消息来获得选项卡项的TCITEM结构吗?如果我理解你的建议,那么不,我认为首先调用TCM\u GETITEM
来填写TCITEM
结构没有任何好处
调用TCM\u GETITEM
将为您提供项目中包含的信息的副本,因此只需更改pszText
指向的字符串,在调用TCM\u SETITEM
并传入新值之前,将不会起任何作用
由于您已经知道要设置的值,因此没有必要先获取当前值,只需继续执行您正在执行的操作即可
我不确定您是否也有意设置图像,但如果您不想这样做,可以删除
TCIF_image
标志,并跳过设置iImage
参数 我的问题是:假设第一次(当我创建选项卡项时),我设置了tie.iImage=-1
;随后,我想重置选项卡项文本,但保持与以前一样的tie.iImage
。因此,如果这次我没有指定tie.iImage=-1
,我只写tie.pszText=\u t(“起始页”)代码>,然后执行连接。iImage
从-1
更改为0
?如果是这种情况,每次我都必须给出完整的信息,这就是为什么我想知道我们是否可以首先获得完整的信息,修改它,然后调用TCM\u SETITEM
。这就是TCITEM结构中的mask字段的用途。它告诉TCM_SETITEM调用哪些内容需要更改,哪些内容需要保留。