📄 subject_50496.htm
字号:
<p>
序号:50496 发表者:鱼儿小小 发表日期:2003-08-21 18:28:34
<br>主题:怎么用VC写个最简单的能处理对话框消息的程序
<br>内容:<BR>我想写个这样的程序:<BR>在主框架窗口的菜单上点一下,让它出来一个对话框,哪怕这个对话框只有一个OK按钮,不过点OK按钮后执行的是自己的代码(MFC默认的代码是关闭对话框),比如不关闭对话框,而是用MESSAGEBOX弹出一个消息框等等<BR>看了很多书,也自己写了一些,但总是有错误,无奈,只有求助大家了<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:shenjie 回复日期:2003-08-21 20:10:26
<br>内容:在OnOK函数中的CDialog::OnOK之前插入自己的代码应该肯定不会出错的.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鱼儿小小 回复日期:2003-08-21 20:15:31
<br>内容:下面是我写的代码,不过有问题:<BR>#include <afxwin.h><BR>#include "resource.h"<BR><BR>class CMyApp :public CWinApp<BR>{<BR> virtual BOOL InitInstance();<BR><BR>};<BR><BR>class CMyFrame :public CFrameWnd<BR>{<BR> DECLARE_DYNCREATE(CMyFrame)<BR>public:<BR> afx_msg void OnHelp();<BR> DECLARE_MESSAGE_MAP()<BR>};<BR><BR>class CMyDialog :public CDialog<BR>{public:<BR> enum{IDD=IDR_DIALOG1};//IDR_DIALOG1是对话框资源标识<BR><BR> CMyDialog(CWnd* pWnd=NULL){CDialog(IDD,pWnd);};<BR> ~CMyDialog(){};<BR>public:<BR> afx_msg void OnMyOK();<BR> DECLARE_MESSAGE_MAP()<BR><BR>};<BR>IMPLEMENT_DYNCREATE(CMyFrame,CFrameWnd)<BR><BR>BEGIN_MESSAGE_MAP(CMyDialog,CDialog)<BR>ON_COMMAND(ID_OK,OnMyOK)//ID_OK是对话框上的OK按钮的资源标识<BR>END_MESSAGE_MAP()<BR><BR>void CMyDialog::OnMyOK()<BR>{<BR> OnOK();<BR>}<BR>BEGIN_MESSAGE_MAP(CMyFrame,CFrameWnd)<BR>ON_COMMAND(IDM_ABOUT,OnHelp)//IDM_ABOUT为主窗口About菜单项的资源标识<BR>END_MESSAGE_MAP()<BR><BR>void CMyFrame::OnHelp()//应该显示对话框的,但就是不出来,错在哪?<BR>{<BR> CMyDialog dlgAbout;<BR> dlgAbout.DoModal();<BR>}<BR><BR>BOOL CMyApp::InitInstance()<BR>{<BR> CMyFrame *pWnd=new CMyFrame;<BR> pWnd->Create(NULL,_T("test Dialog"),WS_OVERLAPPEDWINDOW,<BR> CRect(0,0,640,480),NULL,MAKEINTRESOURCE(IDR_MENU1));<BR> m_pMainWnd=pWnd;<BR> pWnd->ShowWindow(m_nCmdShow);<BR> pWnd->UpdateWindow();<BR> return TRUE;<BR>}<BR>CMyApp theApp;<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鱼儿小小 回复日期:2003-08-21 20:59:07
<br>内容:谢谢大家,我自己解决了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:茜茜 回复日期:2003-08-21 21:06:19
<br>内容:怎么解决的???可不可以把代码贴出来,或者发过来<BR>xzx4941030@sina.com
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鱼儿小小 回复日期:2003-08-21 22:01:25
<br>内容:问题在CMyDialog的构造函数<BR>CMyDialog(CWnd* pWnd=NULL){CDialog(IDD,pWnd);};<BR>我把它改成了:<BR>CMyDialog(CWnd* pWnd=NULL):CDialog(IDD,pWnd){};<BR>就可以了<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -