控件
编辑框
编辑框可以输入输出字符串,可以编辑获取用户输入等等。
编辑框的变量
变量的创建
第一种方法:
在控件浏览页面中,选中编辑框控件,右键添加变量
第二种方法:
CEdit File_Edit_Ctl;//创建一个编辑框控件变量
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_Edit_File, File_Edit_Ctl);//将该控件与编辑框ID进行绑定即可
变量的使用
变量一共有两类,一类是控件,一类是值,控件类型变量的使用后续介绍。
值类型的变量
即一个CString变量,更改该变量的内容再使用下列函数即可更新和获取编辑框内容。
CString File_Edit_Cs;//文件显示编辑框文本内容
File_Edit_Cs=CString("File_Edit_Cs");//需要显示的内容
UpdateData(FALSE);//更新编辑框内容
UpdateData(TRUE);//获取编辑框内容
控件类型变量
控件类型变量可以对该控件进行操作,它可以看作为是该控件的一个对象.如:
Out_Edit_Ctl.SetWindowTextW(Out_Edit_Cs);//在编辑窗口中输出字符串
Out_Edit_Ctl.SetSel(-1);//光标移动至最后一行
在不使用控件变量的情况下也可以对控件的操作
HWND TEXT_Edit = ::GetDlgItem(this->m_hWnd, IDC_Edit_Out);//通过控件ID获取该控件的句柄
::SetWindowText(TEXT_Edit, TEXT("串口打开成功"));//通过该句柄对控件进行操控
Button按钮控件
基本操作
Test_Button.SetWindowText(TEXT("结束测试"));//修改按钮显示文本
GetDlgItem(IDC_Serial)->SetWindowText(TEXT("打开串口"));//使用控件ID修改按钮Caption
Combo Box控件
基本操作
Serial_Stop_Bit_Ctl.AddString(TEXT("1"));//新增选项
Serial_Stop_Bit_Ctl.SetCurSel(0);//设置选中位置
Serial_Stop_Bit_Ctl.GetCurSel();//获取选中行
Serial_Port_DCB.GetLBText(Serial_Port_DCB.GetCurSel(),//获取选中行的字符串
Serial_DCB_Set_Value);//存储位置
(DWORD)(_ttoi(Serial_DCB_Set_Value)//字符串转10进制
MFC消息映射
控件事件与消息的关联
DECLARE_MESSAGE_MAP()//在声明事件响应函数的类中必须使用该宏定义
afx_msg void OnBnClickedButton3();//声音事件响应函数,必须使用fax_msg前缀声明
BEGIN_MESSAGE_MAP(CMFCApplication1Dlg, CDialogEx)//规定格式,开始消息绑定
ON_BN_CLICKED(IDC_Serial,
&CMFCApplication1Dlg::OnBnClickedButton3)//根据控件ID绑定单击事件响应函数
END_MESSAGE_MAP()//结束绑定
当每次单击一下按钮时,就会自动调用OnBnClickedButton3函数.ON_BN_CLICKED表示单击事件
窗口
弹出消息对话框
::MessageBox(NULL, TEXT("串口已打开"), TEXT("提示消息"), MB_OK | MB_ACTIVE);
//弹出消息提示对话框,前一个字符串为具体内容,后一个为窗口标题,最后一个参数设置对话框样式
控件样式设置
第一种方法:
在资源视图中拖动控件,修改其大小位置属性等.
第二种方法:
通过代码的方式进行修改
通过该文件,可以设置控件或者窗口的具体大小及具体位置,显示的内容,控件样式等等.
打开文件及其对话框
TCHAR szFilters[] =
_T("AT_Command (*.BR)|*.BR|AT_Command (*.txt)|*.txt|All Files (*.*)|*.*||");
//文件筛选格式
/*字符串对中的第一个字符串描述筛选器; 第二个字符串指示要使用的文件名扩展名。
可以使用分号(';'字符)作为分隔符来指定多个扩展。 字符串以两个"|"字符结束,后跟 NULL 字符。*/
/*设置打开文件对话框模板*/
CFileDialog SourceFile(TRUE, _T(".BR"), _T("AT_Cmd.BR"),
OFN_FILEMUSTEXIST| OFN_HIDEREADONLY| OFN_NOCHANGEDIR,
szFilters,this,0,TRUE);//设置对话框样式
if (IDOK==SourceFile.DoModal()){
//打开对话框.并且用户单击了确定
SourceFile.GetFileName();//获取文件名+后缀
SourceFile.GetFolderPath();//获取文件路径
CFile *AT_File = new CFile;
AT_File->Open(AT_Cmd_File_PathName,//打开文件
CFile::modeRead| CFile::typeBinary | CFile::shareDenyNone,//仅仅可读,二进制读
&File_Error);
File_Lenght = AT_File->GetLength();//获取文件长度
AT_File->Read(File_Buff, (UINT)File_Lenght);//读取File_Lenght长度的文件
}
CFileDialg函数说明(转)
CFileDialg类
CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能,该类的派生层次如下:
从上图中,可以看出这个类也是对话框的类,显示对话框可以使用DoModal函数来完成;
要使用CFileDialog,需要先用CFileDialog构造函数构造一个对象,其构造函数如下:
CFileDialog(BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL
);
参数:
bOpenFileDialg
如果为TRUE, 则创