CFileDialog FileDlg( TRUE, NULL, NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("二进制文件(*.bin)|*.bin|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||") ); if( FileDlg.DoModal() ==IDOK ) { CString lpstrName = FileDlg.GetPathName( ); m_strSendFilePathName=lpstrName; m_SedFileNameCtl.SetWindowTextW(m_strSendFilePathName); UpdateData(FALSE); m_bSendFile=FALSE; m_SedFileSedCtl.EnableWindow(true); m_SedFileStopCtl.EnableWindow(false); }
时间: 2024-04-01 20:37:41 浏览: 101
这是一个 MFC 应用程序中的 C++ 代码,用于打开一个文件对话框并让用户选择一个文件。首先,它创建了一个 CFileDialog 对象,用于显示文件对话框。构造函数中的参数说明了文件对话框的一些属性,例如:第一个参数指定对话框模式为打开模式,第二个参数指定默认文件扩展名为 NULL,第三个参数指定默认文件名为 NULL,第四个参数指定对话框的一些选项,例如隐藏只读文件、覆盖提示等等,最后一个参数指定了对话框中显示的文件类型过滤器。如果用户单击了对话框中的“确定”按钮(即 DoModal() 函数返回 IDOK),那么该函数会获取用户选择的文件名,并将其显示在程序界面的一个文本框中。同时,它将一个标志位(m_bSendFile)设置为 FALSE,表示该文件未被发送。最后,它还会启用一个“发送”按钮(m_SedFileSedCtl),并禁用一个“停止”按钮(m_SedFileStopCtl),以便用户可以开始发送文件。
相关问题
dlg.m_ofn.Flags |= OFN_NOCHANGEDIR;
在 MFC 中,dlg.m_ofn 是一个 CFileDialog 对象的成员变量,用于设置文件对话框的选项和标志。Flags 是其中一个标志位,用于设置特定的行为。
`OFN_NOCHANGEDIR` 是一个文件对话框标志,用于禁止在打开或保存文件时改变当前目录。通过将 `OFN_NOCHANGEDIR` 标志与 `Flags` 进行按位或操作,可以将这个标志添加到文件对话框的选项中。
下面是一个示例代码片段,展示了如何使用 `OFN_NOCHANGEDIR` 标志禁止文件对话框改变当前目录:
```cpp
CFileDialog dlg(TRUE, NULL, NULL, OFN_NOCHANGEDIR | OFN_FILEMUSTEXIST, NULL, this);
if (dlg.DoModal() == IDOK)
{
// 处理选择的文件
}
```
在上述代码中,通过按位或操作将 `OFN_NOCHANGEDIR` 标志添加到 `Flags` 中,从而禁止文件对话框改变当前目录。然后使用 `DoModal()` 函数显示文件对话框,并在用户选择文件后进行处理。
请注意,这只是 `OFN_NOCHANGEDIR` 标志的一个示例用法,你可以根据实际需求使用其他标志位或组合多个标志位来定制文件对话框的行为。
void CTimeFrequencyDlg::OnBnClickedOpenFile() { // TODO: 在此添加控件通知处理程序代码 m_address = _T(""); CFileDialog Open(TRUE,_T("*.dat"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("Data Files (*.dat)|*.dat|All Files (*.*)|*.*||"),NULL); if(Open.DoModal()==IDOK) { m_address=Open.GetPathName();//路径获取 } //FilePathIn=1;//filepath already UpdateData(FALSE); }
这是一个 MFC 对话框程序中的响应“打开文件”按钮的函数。该函数会弹出一个文件选择对话框,允许用户选择一个名为“*.dat”的文件。如果用户选择了文件,则会将文件的完整路径存储在成员变量 m_address 中,并将对话框中的文本框更新为该路径。最后,调用 UpdateData(FALSE) 函数将成员变量的值更新到对话框中。
阅读全文