关于OnOpenDocument()的问题?? 我用AppWizard创建一个SDI,当点击文件-》打开,会弹出一个CFileDialog的对话框,谁知道这段代码是怎么执行的?我知道,文件-》打开,会调用CXXDocument::OnOpenDocument(),这样会调用CDocument::OnOpenDocument(),我查看CDocument::OnOpenDocument的源码,里面没有出现CFileDialog的定义,这个对话框是怎么出现的呢?迷惑中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 告诉你一个办法,在CWinApp::OnFileNew中设一个断点跟踪一下很容易得到,就该是在文档模板管理器中。 呵呵!以很早时,我遇到与你所说的一样的迷惑。我查msdn找到一些端详。在mfc42.dll中。你可以试试,加一个菜单项,它的id与openfile菜单项的id一样,不写代码与响应函数。只加一个菜单,指定它的id为openfile的id就能用。估计你猜到了吧!呵呵...... CFileDialog的窗口是mfc框架调用的,调用的是OnFileOpen()函数。 我在CXXDocument响应了ID_FILE_OPEN的消息,在消息处理函数中,什么也不添加,这时编译,运行,点file->OPen菜单,CFileDialog对话框就没有出来。我想,如果你映射ID_FILE_OPEN的菜单命令消息,消息机制就会找到相应的消息处理函数,调用执行,如果没有映射消息,则怎么办?我就这里迷糊 哈找到一篇文章,看了以后,顿时豁然开朗了呀,原来是这样的:可以看来这样的消息映射ON_COMMAND(ID_FILE_OPEN,CWinApp::OnFileOpen),如果你没有映射ID_FILE_OPEN消息,就会调用CWinApp::OnFileOpen,否则调用你的消息映射函数。在CWinApp::OnFileOpen中调用CDocManager::OnFileOpen(),这样函数完成以下任务:1。弹出对话框让用户选择待打开的文件,返回该文件的全路径名称, 供下面函数调用时使用2。调用应用程序的OpenDocumentFile(LPCTSTR lpszFileName)。至此,这个对话框的出处就真相大白了。学习 Delphi转入C++ 的困惑,希望各位兄弟帮忙 微软BUG导致ActiveX插件在Windows 2000上安装失败? 大家帮我推荐一些COM方面的学习资料,谢谢! 又开始浮躁了。。。散。。。 100分求BCGSOFT Library 类库,希望各位大哥能成全小弟,实在没有钱呀! 如何删除一个用菜单ADD TO project 加入的属性页面框 如何截获IE网页中IFRAME的滚动事件 怎样获取控件的ID号? MDI中怎么能够实现一个文档对多个视图? DIB的问题(important) 如何判断一个 char * s 指针的内容是否为空? List Control控件整行选中问题。
我查msdn找到一些端详。
在mfc42.dll中。
你可以试试,加一个菜单项,它的id与openfile菜单项的id一样,不写代码与响应函数。只加一个菜单,指定它的id为openfile的id就能用。
估计你猜到了吧!呵呵......
我想,如果你映射ID_FILE_OPEN的菜单命令消息,消息机制就会找到相应的消息处理函数,调用执行,如果没有映射消息,则怎么办?我就这里迷糊
可以看来这样的消息映射ON_COMMAND(ID_FILE_OPEN,CWinApp::OnFileOpen),如果你没有映射ID_FILE_OPEN消息,就会调用CWinApp::OnFileOpen,否则调用你的消息映射函数。在CWinApp::OnFileOpen中调用CDocManager::OnFileOpen(),这样函数完成以下任务:1。弹出对话框让用户选择待打开的文件,返回该文件的全路径名称, 供下面函数调用时使用2。调用应用程序的OpenDocumentFile(LPCTSTR lpszFileName)。至此,这个对话框的出处就真相大白了。
学习