Понедельник, Май 25, 2020

Меню Акселератор MFC

#include<afxwin.h>
#include "resource.h"
class CApp:public CWinApp
{
public:
    virtual BOOL InitInstance(void);
};
class CFrame:public CFrameWnd
{
    protected:
    afx_msg void OnPaint(void);
    afx_msg void OnKeyDown(UINT, UINT, UINT);
    DECLARE_MESSAGE_MAP();
public:
    afx_msg void OnFileExit();
};
BOOL CApp::InitInstance(void)
{
    CFrame *pFrame=new CFrame;
    ASSERT_VALID(pFrame);
     // Загрузка ресурсов, регистрация класса окна и создание окна
    BOOL rc = pFrame->LoadFrame( IDR_MENU1 );
    if( !rc )
    {
        TRACE0( "\n Ошибка 1. Метод LoadFrame завершен с ошибкой \n" );
        exit( 1 );
    }

    // Отображение окна
    pFrame->ShowWindow( SW_SHOW );
    // Обновление окна (генерирует WM_PAINT)
    pFrame->UpdateWindow( );
    this->m_pMainWnd=pFrame;
    return TRUE;
}
CApp myApp;
void CFrame::OnPaint(void)
{
    CPaintDC pDC(this);
    pDC.TextOutA(0,0,"Сообщение в окно OnPaint");
}
void CFrame::OnFileExit()
{
     BOOL rc = MessageBeep( -1 );
    if( !rc )
    {
        TRACE0( "\n Ошибка 2. Неверное завершение MessageBeep \n" );
        exit( 2 );
    }
    rc = DestroyWindow( );
    if( !rc )
    {
        TRACE0( "\n Ошибка 3. Окно не было разрушено \n" );
        exit( 3 );
    }

    return afx_msg void( );
}
void CFrame::OnKeyDown(UINT, UINT, UINT)
{
}
BEGIN_MESSAGE_MAP(CFrame,CFrameWnd)
    ON_WM_PAINT()
    ON_WM_KEYDOWN()
    ON_COMMAND(ID_FILE_EXIT, &CFrame::OnFileExit)
END_MESSAGE_MAP()



 

НАЗАД                                                                         ДАЛЬШЕ


Back to Top