钟灵毓秀烨 2024-01-05 09:37 采纳率: 0%
浏览 11
已结题

MFC自定义打开/另存为对话框的.h和.cpp元代码带运行截图

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

img

  • 写回答

14条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-01-05 09:38
    关注

    引自免费微信小程序:皆我百晓生

    对于自定义打开/另存为对话框的需求,你可以通过继承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月9日
  • 修改了问题 1月5日
  • 修改了问题 1月5日
  • 创建了问题 1月5日

悬赏问题

  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写