我已经创建了一个选项卡控件和一些选项卡项目。在某些时候,我必须重置选项卡项目文本。当然,我总是可以使用以下方法来做到这一点:

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_GETITEM消息来获取选项卡项目的TCITEM结构吗?

最佳答案

如果我理解您的建议,那么不会,我认为先调用TCM_GETITEM填写TCITEM结构不会有任何好处。

调用TCM_GETITEM将为您提供项目中包含的信息的副本,因此仅更改pszText指向的字符串将无济于事,直到您调用TCM_SETITEM并传入新值。

由于您已经知道要设置的值,因此先获取当前值是没有意义的,只需继续执行您要执行的操作即可。

我不确定您是否也有意设置图像,但是如果您不想这样做,则可以删除TCIF_IMAGE标志,而跳过设置iImage参数。

关于c - 如何获得选项卡项目的TCITEM结构?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11711587/

10-08 23:03