首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Win32 LB_GETTEXT返回垃圾

在Win32中,LB_GETTEXT函数用于从列表控件(如CListCtrl)中获取指定的文本。如果成功,则该函数返回被删除或替换的文本的指针。如果失败,则该函数返回NULL。

下面是一个示例代码,用于获取列表控件中的文本并打印输出:

代码语言:txt
复制
// 假设列表控件名为list
char *text = list->GetItemText(list->GetFirstSelectedItemPosition());
if (text)
{
    printf("Selected text: %s\n", text);
    free(text);
}
else
{
    printf("No text selected.\n");
}

如果获取到的文本是一个字符串,可以直接打印输出。如果获取到的文本是一个指针,需要使用free()函数释放该指针占用的内存。

需要注意的是,LB_GETTEXT函数是异步的,需要等待列表控件刷新才能获取最新的文本。因此,如果需要获取最新的文本,应该使用PostMessage()函数向列表控件发送一条消息,以触发其刷新。例如:

代码语言:txt
复制
// 假设列表控件名为list
char *text = list->GetItemText(list->GetFirstSelectedItemPosition());
if (text)
{
    // 发送一条消息以触发列表控件刷新
    SendMessage(list, WM_MY_MESSAGE, 0, 0);
}

在消息处理函数中,可以再次调用LB_GETTEXT函数以获取最新的文本。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

14分17秒

第5章:虚拟机栈/60-方法返回地址的说明

领券