我做了一个继承CFileDialog的对话框,在对话框的右侧增加了一个edit控件,只要鼠标点击一张图片,右侧的EDIT控件就可以实时的显示出图片,现在的问题是我怎么样得到鼠标选中的文件的文件名,然后再做显示处理,谁有这方面的资料,代码能给我看一下吗?谢谢了,工具是VC6.0,显示工作可以用GDI+处理。
邮箱:[email protected],各位大哥帮帮忙!

解决方案 »

  1.   

    就是一个ListView32控件,标准的LVN_ITEMCHANGED消息
      

  2.   

    我不用MFC,因此不知道CFileDialog内部是怎么实现的。要实现你所说的功能,调用打开文件对话框时需要在参数OPENFILENAME结构中使Flags字段包含OFN_ENABLEHOOK值及填写lpTemplateName字段为对话框标识,lpfnHook字段为对话框窗口过程,然后在这个窗口过程里面处理WM_NOTIFY消息,其lParam参数为OFNOTIFY结构指针,((LPOFNOTIFY)lParam)->hdr.code == CDN_SELCHANGE时表示用户选择了不同文件(但没按下确定按钮),这时向父窗口(打开文件对话框)发送CDM_GETFILEPATH消息就可以获取文件名。
    其他通知消息有:CDN_FILEOK, CDN_FOLDERCHANGE, CDN_HELP, CDN_INITDONE, CDN_SHAREVIOLATION, CDN_TYPECHANGE等,自己看MSDN吧。