MFC的CFileDialog对话框如何中列出文件大小在50以上的文件

枫竹梦 2014-08-25 06:04:08
MFC的CFileDialog对话框如何中列出文件大小在50以上的文件?
已经google过了,给点思路,或者提示。
先谢谢了!
...全文
236 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
信阳毛尖 2014-08-27
  • 打赏
  • 举报
回复
不会啊! 通过设置回调你可以试试 CFileDialog有个公共的成员OPENFILENAME m_ofn,其中LPOFNHOOKPROC OPENFILENAME::lpfnHook可以指定回调函数。 其中LPOFNHOOKPROC就是一个回调函数类型:typedef UINT_PTR (CALLBACK *LPOFNHOOKPROC) (HWND, UINT, WPARAM, LPARAM); 因此在你的代码中得定义类似这样一个函数: int CALLBACK FileDlgHookCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData) 注意:要想使用回调函数,主要要指定m_ofn.lpfnHook = FileDlgHookCallbackProc之外,还必须设置m_ofn.Flags标记 OFN_ENABLEHOOK 和 OFN_ENABLEINCLUDENOTIFY OFN_ENABLEHOOK 激活在lpfnHook成员中指定的钩子函数。 OFN_ENABLEINCLUDENOTIFY 当用户打开一个文件夹时,引起对话框发送CDN_INCLUDEITEM通知消息到你的OFNHookProc程序。对话框为在最近打开的文件夹中的每一个项目发送一个通知。这些消息使你能够控制那些在对话框中显示的文件夹项目的列表

CFileDialog filedlg(TRUE,0,0,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
filedlg.m_ofn.Flags |= (OFN_ENABLEHOOK | OFN_ENABLEINCLUDENOTIFY);
int CALLBACK FileDlgHookCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData)
{
    switch(uMsg)
    {
    case CDN_INCLUDEITEM:
        //doSomething
        break;
    }
}
枫竹梦 2014-08-26
  • 打赏
  • 举报
回复
引用 1 楼 chenlycly 的回复:
是不是设置回调,在回调中控制,没这样用过,帮忙顶一个!
引用 2 楼 Sandrer 的回复:
[quote=引用 1 楼 chenlycly 的回复:] 是不是设置回调,在回调中控制,没这样用过,帮忙顶一个!
我也猜应该是设置回调,如果回调都解决不了的话建议楼主自己写个文件浏览的对话框[/quote] 回调是怎么玩的呢?
Sandrer 2014-08-26
  • 打赏
  • 举报
回复
引用 1 楼 chenlycly 的回复:
是不是设置回调,在回调中控制,没这样用过,帮忙顶一个!
我也猜应该是设置回调,如果回调都解决不了的话建议楼主自己写个文件浏览的对话框
schlafenhamster 2014-08-26
  • 打赏
  • 举报
回复
不记得可以这样用. hook只有: // Notifications when Open or Save dialog status changes #define CDN_INITDONE (CDN_FIRST - 0x0000) #define CDN_SELCHANGE (CDN_FIRST - 0x0001) #define CDN_FOLDERCHANGE (CDN_FIRST - 0x0002) #define CDN_SHAREVIOLATION (CDN_FIRST - 0x0003) #define CDN_HELP (CDN_FIRST - 0x0004) #define CDN_FILEOK (CDN_FIRST - 0x0005) #define CDN_TYPECHANGE (CDN_FIRST - 0x0006) #define CDN_INCLUDEITEM (CDN_FIRST - 0x0007)
Sandrer 2014-08-26
  • 打赏
  • 举报
回复
引用 3 楼 himayan46 的回复:
[quote=引用 1 楼 chenlycly 的回复:] 是不是设置回调,在回调中控制,没这样用过,帮忙顶一个!
引用 2 楼 Sandrer 的回复:
[quote=引用 1 楼 chenlycly 的回复:] 是不是设置回调,在回调中控制,没这样用过,帮忙顶一个!
我也猜应该是设置回调,如果回调都解决不了的话建议楼主自己写个文件浏览的对话框[/quote] 回调是怎么玩的呢?[/quote] 百度 OFN_ENABLEHOOK
dvlinker 2014-08-25
  • 打赏
  • 举报
回复
是不是设置回调,在回调中控制,没这样用过,帮忙顶一个!

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧