这个问题折磨我一天了,我想在多线程中使用listctrl把多线程中获取的数据写到listctrl的各个子项中,百度也没找到相关的资料,
其他的控件可以sendmessage发送类似WM_SETTEXT消息,当然listctrl也可以发送类似LVM_INSERITEM,来插入一个项,在用sendmessage发送LVM_SETITEMTEXT,把多线程中获取的数据设置到对于的各个子项中,现在问题来了,这个一直没办法LVM_INSERITEM插入,一设置LVM_INSERITEM,就会触发DrawItem重绘然后就出错了现在请问怎么来设置这个LVM_INSERITEM,然后重绘的时候不会报错!int InsertIteme(HWND hWnd,UINT nMask, int nItem, LPCTSTR lpszItem, UINT nState, UINT nStateMask,
int nImage, LPARAM lParam)
{
ASSERT(::IsWindow(hWnd));
LVITEM item;
item.mask = nMask;
item.iItem = nItem;
item.iSubItem = 0;
item.pszText = (LPTSTR)lpszItem;
item.state = nState;
item.stateMask = nStateMask;
item.iImage = nImage;
item.lParam = lParam;
return SendMessage(hWnd,LVM_INSERTITEM,0,(LPARAM) &item);
}
就设置这个总是会调用CListCtrl::DrawItem()接着就报错了!
直接调用这个类还是出错!蛋疼啊
其他的控件可以sendmessage发送类似WM_SETTEXT消息,当然listctrl也可以发送类似LVM_INSERITEM,来插入一个项,在用sendmessage发送LVM_SETITEMTEXT,把多线程中获取的数据设置到对于的各个子项中,现在问题来了,这个一直没办法LVM_INSERITEM插入,一设置LVM_INSERITEM,就会触发DrawItem重绘然后就出错了现在请问怎么来设置这个LVM_INSERITEM,然后重绘的时候不会报错!int InsertIteme(HWND hWnd,UINT nMask, int nItem, LPCTSTR lpszItem, UINT nState, UINT nStateMask,
int nImage, LPARAM lParam)
{
ASSERT(::IsWindow(hWnd));
LVITEM item;
item.mask = nMask;
item.iItem = nItem;
item.iSubItem = 0;
item.pszText = (LPTSTR)lpszItem;
item.state = nState;
item.stateMask = nStateMask;
item.iImage = nImage;
item.lParam = lParam;
return SendMessage(hWnd,LVM_INSERTITEM,0,(LPARAM) &item);
}
就设置这个总是会调用CListCtrl::DrawItem()接着就报错了!
直接调用这个类还是出错!蛋疼啊
解决方案 »
- WH_CALLWNDPROC钩子怎么删除一个消息?
- VC2005如何添加事件和虚函数
- 我想问下
- 如何将Html文件中的数据写入到word文档?
- 如何按时间,或名称排序查找出一个目录下的所有文件
- CEdit中如何在程序里选择某几个字符,使其便色
- 请问:在MFC中如何使用数学函数??
- 最近写个软件“QQ追踪者”支持所有版本的QQ,欢迎试用,提意见,一定加分!!!
- 我是做工控软件行业程序的新手,请问各位朋友,如何用vc开发opc server/client?国内有没有opc的开发工具?在哪里能买到?
- 有关web上的时间格式的问题?
- CreateBitmap方法无法成功创建CBitmap图片
- 如何实现状态栏提示信息的多行显示?
vc6当然可以了。以前vb6也不区分
你只要把对话框那个类传递进去不就行了