⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_50496.htm

📁 vc
💻 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 &lt;afxwin.h&gt;<BR>#include "resource.h"<BR><BR>class CMyApp :public CWinApp<BR>{<BR>&nbsp;&nbsp;virtual BOOL InitInstance();<BR><BR>};<BR><BR>class CMyFrame :public CFrameWnd<BR>{<BR>&nbsp;&nbsp;DECLARE_DYNCREATE(CMyFrame)<BR>public:<BR>&nbsp;&nbsp;afx_msg void OnHelp();<BR>&nbsp;&nbsp;DECLARE_MESSAGE_MAP()<BR>};<BR><BR>class CMyDialog :public CDialog<BR>{public:<BR>&nbsp;&nbsp;enum{IDD=IDR_DIALOG1};//IDR_DIALOG1是对话框资源标识<BR><BR>&nbsp;&nbsp;CMyDialog(CWnd* pWnd=NULL){CDialog(IDD,pWnd);};<BR>&nbsp;&nbsp;~CMyDialog(){};<BR>public:<BR>&nbsp;&nbsp;afx_msg void OnMyOK();<BR>&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;CMyDialog dlgAbout;<BR>&nbsp;&nbsp;dlgAbout.DoModal();<BR>}<BR><BR>BOOL CMyApp::InitInstance()<BR>{<BR>&nbsp;&nbsp;CMyFrame *pWnd=new CMyFrame;<BR>&nbsp;&nbsp;pWnd-&gt;Create(NULL,_T("test Dialog"),WS_OVERLAPPEDWINDOW,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CRect(0,0,640,480),NULL,MAKEINTRESOURCE(IDR_MENU1));<BR>&nbsp;&nbsp;m_pMainWnd=pWnd;<BR>&nbsp;&nbsp;pWnd-&gt;ShowWindow(m_nCmdShow);<BR>&nbsp;&nbsp;pWnd-&gt;UpdateWindow();<BR>&nbsp;&nbsp;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 + -