app类中怎么获取dlg的资源

zhg0624 2008-04-02 03:19:30
我在app中做了一个线程接受组播,现在想每接受到一条就往对话框的listbox中addstring一条,不知如何去做。
以前的做法是做一个开关,用ontimer函数驱动,但这样做相应的时间会有一定的延时,而且当组播一多时,会出现来不及写到listbox就已经接收到下一条的问题。
...全文
142 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cnzdgs 2008-04-07
不过最好还是在创建线程的时候传指针或者句柄过去。
回复
cnzdgs 2008-04-07
如果你不是用AfxBeginThread创建的线程最好不要在线程里面用Afx开头的函数。
dlg = (CMyDlg *)AfxGetMainWnd();
改为
dlg = (CMyDlg *)theApp.m_pMainWnd;
回复
shakaqrj 2008-04-07
你作为参数传进去,就不要再AfxGetMainWnd()了
用app的成员
回复
Eleven 2008-04-07
[Quote=引用 9 楼 cnzdgs 的回复:]
不过最好还是在创建线程的时候传指针或者句柄过去。
[/Quote]
回复
scq2099yt 2008-04-07
计算机不至于很慢吧
回复
zhg0624 2008-04-06
自己顶一下
回复
zhg0624 2008-04-05
我在app中加入了如下代码:
CMyDlg *dlg;
dlg = (CMyDlg *)AfxGetMainWnd();
dlg->m_listbox.AddString(buffer);
但是编译后会出现错误:
0xC0000005: 读取位置 0x000000d8 时发生访问冲突
回复
ouyh12345 2008-04-02
在生成对话框时,把对话框的CWnd指针放到app类里,然后,app的线程用这个指针发消息
回复
zhg0624 2008-04-02
但是我已经传递了一个this到线程中了
回复
zhg0624 2008-04-02
是在创建线程的地方吗?
回复
shakaqrj 2008-04-02
作为参数传递
句柄,指针貌似都行
回复
菜牛 2008-04-02
将控件句柄作为线程参数传递进去,然后发消息。
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-04-02 03:19
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……