c - 所有者绘制选项卡控件 - 选项卡项目的文本

标签 c winapi

我正在尝试进行所有者绘制选项卡控制。在 DRAWITEMSTRUCT 结构中,我获得了有关正在绘制的选项卡项的一些信息,例如其矩形、hDC、hwnd,但我找不到创建它时给出的文本(LPTSTR TCITEM 结构的 LPTSTR pszText 成员) )。

当一个人想要进行所有者绘制时,如何获取选项卡项目的文本?

最佳答案

通用方式记录在SDK article中对于选项卡控件:

By default, the itemData member of DRAWITEMSTRUCT contains the value of the lParam member of the TCITEM structure. However, if you change the amount of application-defined data per tab, itemData contains the address of the data instead. You can change the amount of application-defined data per tab by using the TCM_SETITEMEXTRA message.

因此,您始终可以将指针卡在您添加的 TCITEM 上,并通过 itemData 将其取回。这足以获取有关该选项卡的任何信息,包括您自己维护的数据。

如果您只需要文本,则实际上没有必要。您可以简单地使用 TCM_GETITEM 来获取 TCITEM。传递 DRAWITEMSTRUCT.itemID。

关于c - 所有者绘制选项卡控件 - 选项卡项目的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15928201/

相关文章:

c - 如何交换节点中的值(数组,int)? - C语言

c - C 中等效的代数数据类型

c - gdb 堆栈溢出

c - 尝试使用 semget() 获取信号量集,但我不断收到 EEXIST 错误,即使在创建新 key 后也是如此

c++ - 获取主板序列号

c++ - WM_PAINT 不重绘图形

c++ - 客户端在 BIO_do_connect 上返回 -1

vba - 在 VBA 中使用 WinAPI 创建的列表框不起作用

.net - 如何获取远程网络共享的磁盘使用统计信息?

c++ - Win32 C++ 控制台清屏不闪烁