📄 subject_44379.htm
字号:
<p>
序号:44379 发表者:烦恼多多 发表日期:2003-06-19 09:50:29
<br>主题:ComBox的疑问,可以给你300分^_^
<br>内容: <BR>在界面上响应button的click事件后,采用m_Combo.AddString(m_Edit);对ComBox添加data,响应combox的dbclick事件采用m_Combo.DeleteString(m_Combo.GetCurSel());删除选中的data,但是当前的窗口关闭,再打开的时候就没有上述添加和删除的data了,所有的还是在上述操作以前的data,该怎么样才能保留操作的结果,使得再次打开combox的时候data是操作以后的结果<BR>谢谢^_^
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:疯子 回复日期:2003-06-19 10:26:02
<br>内容:MFC的窗口没有记忆功能,当对话框关闭之后一切都变成原来的了。<BR>办法倒是有,不过比较麻烦,就是在对话框关闭的时候记录各个控件的状态,对话框再次打开的时候再恢复就行了。<BR><BR>ARX的对话框类倒是有记忆功能,可惜你不能用。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:shenjie 回复日期:2003-06-19 10:27:20
<br>内容:如果你的窗口就是程序的主窗口即你需要程序在第二次开始运行后保持以前的设置,那么只能把你需要的信息存到一个文件里(用CFile的成员函数)如果这不是主窗口,你是需要程序在运行期间能保持住以前的设置,那么你可以把需要的数据设置为主窗口的成员变量。
<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-06-19 11:17:48
<br>内容:shenjie 可以详细一点说明吗?有相应的实例说明更好^_^<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>
回复者:shenjie 回复日期:2003-06-19 13:12:54
<br>内容:映射WM_CLOSE消息:<BR>void CTest1Dlg::OnClose() <BR>{<BR> int num=m_Combo.GetCount();<BR> CString temp;<BR> CFile file("MyProc.dat",CFile::modeCreate|CFile::shareExclusive);<BR> CArchive ar(&file,CArchive::store); <BR> for(int i=0;i<=num-1;i++)<BR> {<BR> temp.Format("%s\r\n",m_Combo.GetItemDataPtr(i));<BR> ar.WriteString(temp);<BR> } <BR> ar.Close();<BR> file.Close();<BR> CDialog::OnClose(); <BR>}<BR>然后在OnInitDialog中相应打开文件读出这些项,用AddString逐条加入。具体函数定义见MSDN。
<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-06-19 15:44:02
<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>
回复者:shenjie 回复日期:2003-06-19 16:18:40
<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-06-19 16:42:42
<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>
回复者:shenjie 回复日期:2003-06-19 18:56:15
<br>内容:修改如下:<BR>1.映射WM_CLOSE消息:<BR>void CShishiDlg::OnClose() <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> int num=m_Combo.GetCount();<BR> CString temp,str;<BR> CFile filesave("MyProc.dat",CFile::modeCreate|CFile::modeWrite|CFile::shareExclusive);<BR> CArchive arsave(&filesave,CArchive::store); <BR> for(int i=0;i<=num-1;i++)<BR> {<BR> m_Combo.GetLBText(i,str);<BR> temp.Format("%s\r\n",str);<BR> arsave.WriteString(temp);<BR> } <BR> arsave.Close();<BR> filesave.Close();<BR> CDialog::OnClose();<BR>}<BR>2.在OnInitDialog最后的return语句只前加上:<BR>……………………<BR> CString str;<BR> CFile fileopen;<BR> if(fileopen.Open("MyProc.dat",CFile::modeRead|CFile::shareExclusive))<BR> {<BR> m_Combo.ResetContent();<BR> CArchive aropen(&fileopen,CArchive::load); <BR> for(;aropen.ReadString(str);)<BR> {<BR> m_Combo.AddString(str);<BR> } <BR> aropen.Close();<BR> fileopen.Close();<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-06-19 20:36:58
<br>内容:不行啊,还是出错,可不可以帮我改好传上来,呵呵<BR>我是初学,不太知道的^_^<BR>谢谢shenjie
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:shenjie 回复日期:2003-06-19 22:52:29
<br>内容:没有改你其它的内容,只是完成了ComboBox的状态记录问题。经测试可以正常运行。
<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-06-20 11:29:53
<br>内容:谢谢你shenjie<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 + -