为什么循环跳不出去啊!

wyf605081231 2013-05-07 01:54:43
LRESULT CMyReceiveDlg::OnDrawItem(WPARAM wparam, LPARAM lparam)
{
CMyProgressDlg dlg;
HWND pHwnd = this->GetSafeHwnd();

CWnd *pWnd=FindWindow(NULL,"Progress");
if(wparam == 1)
{
dlg.m_message = "正在连接邮箱服务器,\n请稍后……";
dlg.DoModal();
}
else if(wparam == 2)
{
pWnd->SendMessage(WM_CLOSE);
dlg.m_message = "连接成功,\n正在获取邮件……";
dlg.DoModal();
}
else if(wparam == 3)
{
pWnd->SendMessage(WM_CLOSE);
}
else if( wparam == 4)
{
int nListItem = m_list.InsertItem(i, (const char*)g_bstrFrom);
m_list.SetItem(nListItem, 1, LVIF_TEXT, (const char*)g_bstrSubject, 0, 0, 0, NULL);
m_list.SetItem(nListItem, 2, LVIF_TEXT, (const char*)g_oleDate.Format("%Y-%m-%d"), 0, 0, 0, NULL);
UpdateData(FALSE);
}
return 0;
}
...全文
201 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lfm13720 2013-05-07
  • 打赏
  • 举报
回复
居然在OnDrawItem里面弹出模态对话框,真奇葩的代码,楼主还要多看书啊。
yaozhiyong110 2013-05-07
  • 打赏
  • 举报
回复
引用 3 楼 wyf605081231 的回复:
@immigrator 变量wparam 的值为1-4,但是为什么到4之后又变回1了!
那是下一次消息来了吧
wyf605081231 2013-05-07
  • 打赏
  • 举报
回复
@immigrator 变量wparam 的值为1-4,但是为什么到4之后又变回1了!
hust_wangyajun 2013-05-07
  • 打赏
  • 举报
回复
楼主有循环吗?
SONG_CA 2013-05-07
  • 打赏
  • 举报
回复
dlg.DoModal();之后,已经进入对话框的循环了(模式对话框),只有对话框退出后,才能执行dlg.DoModal();后面的语句。但如果是非模式对话框,是不会停在那里的

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧