能力值:
( LV2,RANK:10 )
|
-
-
2 楼
把主窗口的句柄传给worker thread,当worker thread完成时,PostMessage给主窗口
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
最好是把整个主窗口的this指针作为worker thread的参数,在worker thread里填充接收到的信息[比如存放到主窗口的一个Public变量里],下载完毕后,发消息回去,通知主窗口创建控件,显示信息......
|
能力值:
( LV6,RANK:80 )
|
-
-
4 楼
[QUOTE=xiejienet;1094231]最好是把整个主窗口的this指针作为worker thread的参数,在worker thread里填充接收到的信息[比如存放到主窗口的一个Public变量里],下载完毕后,发消息回去,通知主窗口创建控件,显示信息......[/QUOTE]
三克油,目前就是用的这个方式,开个线程来读取数据,读取完毕后通知对话框(PostMessage)然后在消息中创建对话框来完成数据显示操作,这里仍然不能够让人满意,假如数据有100条甚至更多的情况,此时创建100来个控件来显示数据,包括控制控件的位置等繁琐的操作都会有些耗时,会显的稍微有点点卡(当控件显示数据的那个时刻),请问这里有没有什么解决办法?
我想过另开一个线程来处理创建控件,显示读取到的数据。。。。然而在MFC中用AfxBeginThread创建线程,在线程中创建控件总是发生断言失败,也查询了一些资料,没有找到更加好的方法。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
不知道你界面是什么样的,每个软件都要动态生成控件?
我觉得ListCtrl更合适,而且一个就够了.
|
能力值:
( LV6,RANK:80 )
|
-
-
6 楼
类似这样的界面,前面是个图片(www.xxx.xx网络上的图片),还包括了超链接,按钮等几类控件。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
继承 CListCtrl,然后在 DrawItem() 中自己画界面。这样做效果要好过你创建许多控件。
示例代码可以参考 http://blog.sina.com.cn/s/blog_48f93b530100cwih.html 以及 eMule 代码中的 MuleListCtrl.cpp。
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
一般这样的程序最好用纯SDK,最好不要用MFC。
|
能力值:
( LV6,RANK:80 )
|
-
-
9 楼
为何?理由是?
|
|
|