Last Updated 2002/11/13
Programming Tips Visual C++ MFC メニュー  索 引 
システムメニューの変更
2002/11/13

システムメニューに独自のメニューを追加して,そのメニューが選択された処理を実行するサンプルコード.

*** MainFrame.cpp ***

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
    //{{AFX_MSG_MAP(CMainFrame)
    ON_WM_CREATE()
        ON_WM_SYSCOMMAND()
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    CMenu* pMenu = GetSystemMenu( FALSE );
    int i;

    for( i = 0; i < 6; i++ ) {
        pMenu->DeleteMenu( 0, MF_BYPOSITION );
    }

    pMenu->AppendMenu( MF_SEPARATOR );
    pMenu->AppendMenu( MF_ENABLED | MF_STRING, ID_ADD_SMENU, "ADDMENU" );
}


void CMainFrame::OnSysCommand( UINT nID, LPARAM lParam )
{
    if( nID == ID_ADD_SMENU ) {
        MessageBox( "ADDMENU Proc");
    }
    CFrameWnd::OnSysCommand( nID, lParam );
}


*** mainframe.h ***

afx_msg void OnSysCommand( UINT nID, LPARAM lParam );


*** resource.h ***

#define ID_ADD_SMENU     61204


参照
メニュー項目動的追加
前後のTips
システムメニューの変更

DSS ProgrammingTipsCGI Ver2.02