我想你应该将线程函数声明成为你的使用该ListCtrl类的友员函数, 并且传递m_list给线程函数, 或者直接传递类实例指针. 否则建议还是老老实实使用WM_TIME算了.
解决方案 »
- CreateDIBSection最大能输出多大的位图呢?
- 如何通过hook CreateCompatibleBitmap实现反截屏
- MFC的多文档程序
- 如何从外部向win32程序加载bitmap位图
- setsockopt函数中SO_DONTROUTE选项是什么意思?
- 语法问题
- 编程爱好者论坛 http://www.programfan.net/club
- 谁有vb发送和接收邮件的源代码?要可以将接收的邮件存在sql中的。
- 如何实现窗口拖拽,就是将一个图标拖拽到窗口的另外一个空白处显示?感谢各位大神!!
- ================我知道了我中了----超级酷的浏览器Myborswer的病毒!谁知道如何解决??严厉辱骂散毒人----bluestar007 !=======================
- 请问如何知道别人在拨号连接我的机器?
- 如何确定动态库!
UINT MyControllingFunction( LPVOID pParam );
为一个全局函数。实际上你所要解决的就是如何让你的窗口类中的成员变量在你的全局函数中亦可见。最简单的做法就是,在创建线程时,把窗口的实例指针带入pParam,在函数中做类型强制转换后,就可以取得窗口的指针,从而引用成员变量。
{
// Construction
public:
// ......
constructor// Dialog Data
//{{AFX_DATA(CTcpDlg)
CListCtrl m_list;
....
};线程定义如下:
UINT TestThread(LPVOID pParam)
{
CMyDlg * pDlg=(CMyDlg *)pParam;
...
pDlg->m_list.InsertItem("The First Item!");
...
}调用时:
CWinThread* pThread=AfxBeginThread(TestThread,(void*)this,THREAD_PRIORITY_NORMAL);