自绘菜单OWNDRAW
- 涉及函数
- LoadFrame
- GetMenu
- GetSubMenu
- ModifyMenu
- OnMeasureItem
- OnDrawItem
- Attach
- LoadOEMBitmap
- GetObject
- CreateCompatibleDC
- BitBlt
- DeflateRect
- FillRect
- Detach
- 涉及消息
- ON_WM_CONTEXTMENU()
- ON_WM_MEASUREITEM()
- ON_WM_DRAWITEM()
- 代码与实现
BOOL CMyApp::InitInstance()
{
CMainWind*pFrame= new CMainWind;
m_pMainWnd = pFrame;
/*在InitInstance 函数中直接使用LoadFrame,取代在构造函数中直接使用Create函数,优点是,设置菜单与加速键等资源命名一致,可以一并加载
*/
pFrame->LoadFrame(IDR_FRAMEWND, WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL, NULL);
pFrame->ShowWindow(m_nCmdShow);
pFrame->UpdateWindow();
/*初始化时设置自绘菜单*/
for (int i=0;i<5;i