Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取选项卡项的TCITEM结构?_C_Winapi_Tabs - Fatal编程技术网

如何获取选项卡项的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调用哪些内容需要更改,哪些内容需要保留。