VS2008下用MFC 在下拉框中显示TXT中内容
首先感谢网络资源吧,自动化出身的人不一定要做什么行业,可能是通讯,可能是软件,也可能是电气…总之多学习知识总是好的,本文步骤比较详细,但难免有错误,望指正交流,QQ835323740。 首先启动VS2008,文件——新建——项目(快捷键Ctrl+Shift+N), 项目类型——Visual C++——MFC——模板——MFC应用程序,
● 名称(如ShowTxt)。
● 位置(如桌面下)。
● 解决方案名称(会随着名称自动生成,建议不要修改)
点击确定,进入MFC应用程序向导。
选择下一步,不要直接点完成。选择——基于对话框。
然后下一步,把“关于”框(B)点掉,可以点完成了。
进入界面
把对话框窗口中的静态文本控件,两个按钮控件都删掉,(选中后按Delete键即可),修改后的界面如下图。 在对话框中添加一个下拉框控件(Combo Box)。 界面完成后可以添加代码了,先添加变量,选中combo box控件,单击鼠标右键,选择添加变量:
控件ID(I)——IDC_COMBO;类别(T)——Control;变量名——m_combo_show,完
呼伦贝尔学院学报成。如下图:
接下来添加函数(事件处理程序),鼠标右键单击combo box控件,选择——添加事件处理程序(A),选择SETFOCUS,点击添加编辑,跳转到程序部分,先不要添加。
代码部分是重点:
俄亥俄州
1. 我们在void CShowTxtDlg::OnCbnSetfocusCombo1()中添加下列代码,用于打开和关闭txt文件
void CShowTxtDlg::OnCbnSetfocusCombo1()
{
// TODO: 在此添加控件通知处理程序代码
蔡汶家m_combo_show.ResetContent();
CStdioFile file;
if(!file.Open四川石油管理局(_T(""),CFile::modeRead)) //打开文件
花儿为什么这样红教案
{
AfxMessageBox(_T("unable to open file"));//文件不存在弹出对话框提示
}
CString strLine=_T("");
setlocale( LC_CTYPE, "chs" ); //接受中文
while(file.ReadString(strLine))
{
m_combo_show.AddString(strLine);
}
file.Close();
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
2.我们在ShowTxtDlg添加头文件#include <locale.h>,用于中文显示的头文件。
3.在ShowTxtDlg.h中添加
#include <fstream>
using namespace std;
4.在ShowTxt文件夹下新建一个文件,输入如下内容
5.Ctrl+F5编译,是不是出现了下面的结果。
注:如果想要按照输入到txt中的顺序显示,要把combo box控件的属性修改,如下图,将sort默认的true改成false。另外在mfc程序运行时,修改唐山师范学院学报txt中内容并保存,再次选中控件时,修改的内容会显示上去,不需要将运行中的mfc程序停掉。
修改了sort属性后,运行程序,效果如下:
本文示例已经是很详细了,当然了可能丑了点,不过,如果用到mfc里面的combo box控件,本文还是挺有用的,另外文件放到别的文件夹怎么读,我还没试过,要是你试出来了,欢迎给我发信息:qq835323740 。