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

📄 subject_17186.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:17186 发表者:yinqv 发表日期:2002-10-09 11:47:17
<br>主题:请教::关于非模态对话框的问题
<br>内容:我在一个非模态对话框里创建另一个非模态对话框,怎么后一个非模态对话框老是创建失败??<BR>用Create()时失败。
<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>回复者:徐景周 回复日期:2002-10-09 12:07:27
<br>内容:可试试下面方法,不行的话,可以将你的创建放在其它地方试试,不放在OnCreate中,可能是一个非模式创建时,再创建另一个非模式时会出错。<BR><BR>CAdvertise *m_pADdlg ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //广告窗体<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//同时在系统区上面显示广告窗体,只能是无模式对话框<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pADdlg = new CAdvertise(this);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pADdlg-&gt;Create(IDD_DIALOG_ADVERTISE,this);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pADdlg-&gt;ShowWindow(SW_SHOW);<BR>//********************************************************************************<BR>//* 名称:~CTransparentWnd()<BR>//* 作者:徐景周(jingzhou_xu@163.net)<BR>//* 功能:析构涵数,可在此删除创建的变量<BR>//********************************************************************************<BR>CTransparentWnd::~CTransparentWnd()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;//消毁广告窗体<BR>&nbsp;&nbsp;&nbsp;&nbsp;if ( m_pADdlg != NULL )<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete m_pADdlg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pADdlg = NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<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>
回复者:黄飚 回复日期:2002-10-09 12:30:25
<br>内容:1你最好有相关的代码<BR>2编译应该没有问题<BR>3你可以Debug进去<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>
回复者:yinqv 回复日期:2002-10-09 13:17:09
<br>内容:谢谢徐景周 和 黄飚 <BR>1。我的第二个 非模态对话框是在第一个 非模态对话框 接收到一个消息后,在消息处理函数里面创建的 ,相关代码如下:<BR>LRESULT CDlgIdentify::OnPosChange(WPARAM wp,LPARAM lp)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;.....<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(m_pCandiDlg!=NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;delete m_pCandiDlg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg=NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg=new CDlgCandi(this,m_strCandi,m_nScore);//m_strCandi,m_nScore&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//是传到对话框构造函数的参数,分别是CString 和 int<BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL bCreated=m_pCandiDlg-&gt;Create(IDD_DLG_CANDI);//这句创建不成功,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //pCandiDlg指向0<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg-&gt;ShowWindow(SW_SHOW);<BR><BR>}<BR><BR>2。很奇怪,我在第一个 非模态对话框 里加了一个Button,在OnButton1() 却可以正确执行,请问这是为什么??<BR>void CDlgIdentify::OnButton1() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(m_pCandiDlg!=NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete m_pCandiDlg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg=NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rc,rcDlg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;this-&gt;GetWindowRect(&rc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg=new CDlgCandi(this,"01234567890223456789",80);<BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL b=m_pCandiDlg-&gt;Create(IDD_DLG_CANDI);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg-&gt;ShowWindow(SW_SHOW);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg-&gt;GetWindowRect(&rcDlg);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_pCandiDlg-&gt;MoveWindow(rc.left-10,rc.bottom-20,rcDlg.Width(),rcDlg.Height());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_pCandiDlg-&gt;SetWindowPos(&wndTopMost&nbsp;&nbsp; ,0,0,0,0,SWP_SHOWWINDOW);<BR>}<BR><BR>3。若我在一个非模态对话框 里成功创建了第二个 非模态对话框 ,想激活 第二个 非模态对话框 ,或者想在两个 非模态对话框 自由切换,该怎么做???<BR>用m_pCandiDlg-&gt;SetWindowPos(&wndTopMost&nbsp;&nbsp; ,0,0,0,0,SWP_SHOWWINDOW);似乎无效,<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>
回复者:yinqv 回复日期:2002-10-10 13:44:39
<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 + -