求这种样式的vc++6.0开发的MFC另存为对话框完整元代码,可运行。(目的是想在此基础上,重写函数,自定义加一些控件)
MFC自定义打开/另存为对话框的.h和.cpp元代码带运行截图
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
14条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
对于自定义打开/另存为对话框的需求,你可以通过继承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函数中更新自定义控件的内容。
希望这可以帮助到你!
解决 1无用
悬赏问题
- ¥100 连续两帧图像高速减法
- ¥15 组策略中的计算机配置策略无法下发
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写