刚刚开始学习VC ,我按照书上写的方法加载菜单(api部分)
BOOL CMyWnd::PreCreatWindow(CREATESTRUCT&cs)
{
cs.hMenu =LoadMenu(NULL,MAKEINTRESOURCE(IDR_MENU1));
return CFrameWnd::PreCreateWindow (cs);
}可是为什么运行之后只显示我加载的图片而没有菜单呢

解决方案 »

  1.   

    以下是我写的一个简单的菜单实现的小程序 请帮我看看菜单哪里加载错了,为什么总是不显示菜单
    #include<afxwin.h>
    #include"resource.h"
    class CMyWnd:public CFrameWnd
    {
    CBitmap m_Bitmap;
    int m_nHeight;
    int m_nWidth;
    public:
    CMyWnd();
    BOOL PreCreatWindow(CREATESTRUCT&cs);//载入菜单
    protected:
    afx_msg void OnPaint();
    afx_msg void OnOpen();
    DECLARE_MESSAGE_MAP()
    };
    BEGIN_MESSAGE_MAP(CMyWnd,CFrameWnd)
      ON_WM_PAINT()
       ON_COMMAND(ID_OPEN,OnOpen)
    END_MESSAGE_MAP()
    CMyWnd::CMyWnd()
    {
    m_Bitmap.LoadBitmap (IDB_BITMAP1);
    BITMAP BM;
    m_Bitmap.GetBitmap (&BM);
    m_nWidth=BM.bmWidth ;
    m_nHeight=BM.bmHeight ;
    }
    BOOL CMyWnd::PreCreatWindow(CREATESTRUCT&cs)//载入菜单的实现
    {
    cs.hMenu =LoadMenu(NULL,MAKEINTRESOURCE(IDR_MENU1));
    return CFrameWnd::PreCreateWindow (cs);
    }void CMyWnd::OnOpen()

       Invalidate();
    }
    void CMyWnd::OnPaint()
    { CPaintDC dc(this);
    CDC MemDC;
    MemDC.CreateCompatibleDC (NULL);
    MemDC.SelectObject (&m_Bitmap);
    dc.BitBlt(0,0,m_nWidth,m_nHeight,&MemDC,0,0,SRCCOPY);}class CMyApp:public CWinApp
    {
    public:
    BOOL InitInstance();
    };
    BOOL CMyApp::InitInstance ()
    {
    CMyWnd*pFrame=new CMyWnd;
    pFrame->Create (0,_T("A Cake Move on Screen"));
    pFrame->ShowWindow (SW_SHOWMAXIMIZED);
    pFrame->UpdateWindow ();
    this->m_pMainWnd =pFrame;
    return TRUE;
    }
    CMyApp ThisApp;