我不知道这样表达是否合适,问题就是利用向导生成的单文档菜单的“打开”按钮的代码在哪里添加,我看了好像没有找到消息响应函数,不知道这是为什么,希望大家指点下,谢谢。

解决方案 »

  1.   

    是继承基类的功能, 如果你要修改, 则需重载文档的 OnOpenDocument 事件.
      

  2.   

    我下载了一个小的程序,它好像修改了“打开”响应事件,但是我也没有找到OnOpenDocument
      

  3.   

    类向导里class name选择文档(DOC)类,Object IDs选文档类,不要选择ID,在右边messages拖动列表框便能看到OnOpenDocument,选中,点击增虽函数便OK。
      

  4.   

    可以在VC界面上方搜索框里输入OnOpenDocument,在整个工程里面搜索。
      

  5.   

    非常谢谢你!我找到OnOpenDocument了,我的问题是:“打开”是用来打开一个位图,很明显“打开”的功能是改变了,因为向导生成的是不能打开位图的,但是OnOpenDocument现在还是一个没有添加的函数,所以我就有点奇怪了。
      

  6.   

    就是我下载了一个位图读写类(MYDIB),里面附带了一个小例子,功能是打开或者保存一幅位图,在这个小例子中,文件-打开的功能就是用来打开一幅位图的,但是我怎么没有找到“打开”的相应代码到底在哪里?而且OnOpenDocument还是一个未添加的函数,就是小例子中根本就没有OnOpenDocument,所以我就不明白这个小例子中的“打开”功能到底在什么地方实现的。
      

  7.   

    你的目标是打开一个位图文件。按照文档-视图的惯例,你应该在你的文档类CXxxDoc里添加一个成员变量,如:m_FileData。当文件读到m_FileData变量里时,通知CXxxView类去显示它。
    因此,你要打开文件,需要重载CXxxDoc类的虚函数:OnOpenDocument(LPCTSTR lpszPathName)
    具体做法是:到类视图选项卡里,右键单击你的CXxxDoc类,选择Add Virtual Function(添加虚函数),选择OnOpenDocument,点OK,就添加好了,VC会给你生成个类似下边的函数,你在里边读文件就可以了:
    BOOL CXxxDoc::OnOpenDocument(LPCTSTR lpszPathName) 
    {
    if (!CDocument::OnOpenDocument(lpszPathName))
    return FALSE;

    // TODO: Add your specialized creation code here
    return TRUE;
    }
      

  8.   

    如果可以的话,给我传份代码看下?
    [email protected]
      

  9.   

    你打开的处理函书应该是OnFileOpen(),(ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen))
                                                                  ________________
    他调用了CWinApp的OnFileOpen,所以在MyDib.h中应该包含#include <afxwin.h>
    在你的MyDib.h中有以下定义:
    #ifndef __AFXWIN_H__                                        
    #error include 'stdafx.h' before including this file for PCH
      

  10.   

    唉,难道利用MFC向导生成的单文档应用程序里面的文件--打开它本身就可以实现位图的显示吗?据我所知不可以,但是我不明白的是“打开”位图的功能的代码到底在哪里???
      

  11.   

    在MyDib.rc资源文件的260行有以下代码:
    IDR_MAINFRAME           "MyDib\n\nMyDib\nMyDib 文件 (*.txt)\n.bmp\nMyDib.Document\nMyDib Document"
    这行代码所起的作用!
      

  12.   

    上面的("MyDib\n\nMyDib\nMyDib 文件 (*.txt))是我测试时修改的。你的程序是*.bmp.
                                      --------
      

  13.   

    就是我下载了一个位图读写类(MYDIB),里面附带了一个小例子,功能是打开或者保存一幅位图,在这个小例子中,文件-打开的功能就是用来打开一幅位图的,但是我怎么没有找到“打开”的相应代码到底在哪里?"你还要在你打开文档的函数中修改,修改后你的视图中也要能"接受"打开的文件"这个到底要怎么做啊。谢了!