求这种样式的vc++6.0开发的MFC另存为对话框完整元代码,可运行。(目的是想在此基础上,重写函数,自定义加一些控件)

求这种样式的vc++6.0开发的MFC另存为对话框完整元代码,可运行。(目的是想在此基础上,重写函数,自定义加一些控件)

关注引自免费微信小程序:皆我百晓生
对于自定义打开/另存为对话框的需求,你可以通过继承CFileDialog类来实现。下面是.h和.cpp文件的元代码示例:
CustomFileDialog.h:
#pragma once
class CCustomFileDialog : public CFileDialog
{
public:
CCustomFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL);
virtual BOOL OnInitDialog();
afx_msg void OnFolderChange();
DECLARE_MESSAGE_MAP()
};
CustomFileDialog.cpp:
#include "CustomFileDialog.h"
BEGIN_MESSAGE_MAP(CCustomFileDialog, CFileDialog)
ON_MESSAGE(CDM_FOLDERCHANGE, OnFolderChange)
END_MESSAGE_MAP()
CCustomFileDialog::CCustomFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd)
: CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
}
BOOL CCustomFileDialog::OnInitDialog()
{
// 执行父类的OnInitDialog函数
CFileDialog::OnInitDialog();
// 在这里可以添加你自定义的控件,比如按钮、列表框等
// 可以使用GetParentWnd()获取对话框窗口句柄,然后使用CWnd的成员函数来添加控件
return TRUE;
}
afx_msg LRESULT CCustomFileDialog::OnFolderChange(WPARAM wParam, LPARAM lParam)
{
// 当文件夹改变时的处理函数,可以在这里更新自定义控件的内容
return CFileDialog::OnFolderChange(wParam, lParam);
}
通过继承CFileDialog类,并重写OnInitDialog函数和处理文件夹改变的消息函数,你可以在OnInitDialog函数中添加自定义的控件,同时在OnFolderChange函数中更新自定义控件的内容。
希望这可以帮助到你!