用AfxMessageBox()弹出一个消息给用户看,要用户点确定一下,才能执行AfxMessageBox()下面的语句,我怎样做即使用户不点确定,我也做下面

youg 2002-08-02 06:32:24
用AfxMessageBox()弹出一个消息给用户看,要用户点确定一下,才能执行AfxMessageBox()下面的语句,我怎样做即使用户不点确定,我也做下面的事情呢?
...全文
116 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
In355Hz 2002-08-02
可能一:
将你下面的工作放到OnIdle里执行。
可能二:
重载C*App::DoMessageBox,在这里面仿造MessageBox样式自己创建一个类似的*非模态*对话框,创建后立即返回。
回复
lizmei001 2002-08-02
建议用非模态对话框,在对话框中设定时关闭
回复
lizmei001 2002-08-02
WNDCLASS wcItemFrmWnd; wcItemFrmWnd.cbClsExtra=0;
wcItemFrmWnd.cbWndExtra=0;
wcItemFrmWnd.hbrBackground=(HBRUSH)(COLOR_3DFACE+1);
wcItemFrmWnd.hCursor=::LoadCursor(NULL,IDC_ARROW);
wcItemFrmWnd.hIcon=::LoadIcon(NULL,IDI_APPLICATION);
wcItemFrmWnd.hInstance=::AfxGetInstanceHandle();
wcItemFrmWnd.lpfnWndProc=AfxWndProc;
wcItemFrmWnd.lpszClassName=_T("DLItemFrame");
wcItemFrmWnd.lpszMenuName=NULL;
wcItemFrmWnd.style=CS_CLASSDC;
m_tabMainDisp.GetClientRect(&rect);//m_tabMainDisp也是一个CWnd类,以该类为父窗口,创建子窗口
rect.top+=27;
rect.left+=3;
rect.right-=4;
rect.bottom-=4;
m_ItemFrmWnd.CreateEx(WS_EX_MDICHILD,_T("DLItemFrame"),"myMMM",WS_CHILD|WS_VISIBLE|WS_DISABLED,
rect,&m_tabMainDisp,IDC_ITEMFRMBASE+i);
//创建返回为0,失败,但getlasterror()=0,说是动作完成???????

m_ItemFrmWnd.EnableWindow();

回复
howtotell 2002-08-02
设置一个定时器.
回复
FFXI 2002-08-02
MessageBox()也不行!!

1. 用线程
2. Create一个Modeless对话框
回复
dnyz 2002-08-02
用非模态对话框啰,就是用Create来创建而不是DoModal创建的对话框
回复
bljbljbljblj 2002-08-02
改用MessageBox就行
AfxMessageBox不知道行不行
回复
seanhut 2002-08-02
可以用多线程来解决,在一个线程里执行AfxMessageBox
回复
pp_ipr 2002-08-02
你可以自己create一个modeless对话框
这样自然可以继续你的工作了~~~~~~~~~`
回复
YP2002CN 2002-08-02
把你的AfxMessageBox(放在OnTimer裡面..進去就KillTimer(..你覺得如何?
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告