各位大虾,帮助呀!!!动态的加载菜单

string11 2006-06-22 10:06:46
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
HINSTANCE hinstance;
HMENU hmenu;
TCHAR szHello[MAX_LOADSTRING];
LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);

switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);

hinstance =(HINSTANCE)GetWindowLong (hWnd, GWL_HINSTANCE) ;
hmenu=LoadMenu(hinstance,"IDR_MENU1");
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
case ID_MENUITEM32771:
SetMenu(hWnd,hmenu);
return 0;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);

RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:

PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}我想动态的加载菜单, 但,不行,一点那个ID_MENUITEM32771.窗口就没有什么也菜单了
...全文
201 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
string11 2006-06-25
  • 打赏
  • 举报
回复
谢谢大家,我在资源描述档中为菜单使用了名称,所以用错了LoadMenu函数
string11 2006-06-24
  • 打赏
  • 举报
回复
lixiaosan(小三)
在之前我也是看了>windows的程序设计>因为不得要领所以才写出了上面的程序.结果是运行时非但不能加载菜单.原来的菜单也不见了.
自己写东西,局限于自己的认识.目前没法找出错误所在.所以请各位大哥大姐,看看我的程序吧.谢谢

很想找一位师傅带 我。如果有愿意的请留下qq方便联系
Kudeet 2006-06-23
  • 打赏
  • 举报
回复
参考下面的改菜单代码:
CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
HMENU hMenu;
CMDIChildWnd *pChildFrame = (CMDIChildWnd *)GetParentFrame();
pChildFrame->SetHandles(hMenu, pChildFrame->m_hAccelTable);
pFrame->DelayUpdateFrameMenu(NULL);
lixiaosan 2006-06-23
  • 打赏
  • 举报
回复
http://www.hcclib.net/online/Winprogramme/10.htm
helldream2002 2006-06-23
  • 打赏
  • 举报
回复
你可以用两个窗体嘛,一个窗体对应一个菜单,程序启动时根据需要加载相应的窗体就可以了
debehe 2006-06-23
  • 打赏
  • 举报
回复
您也可以在窗口类别中指定NULL菜单,并且在CreateWindow呼叫中也指定NULL菜单,然后在窗口被建立后再给窗口指定一个菜单:

SetMenu (hwnd, hMenu) ;

好像Windows程序设计中有个例子,不行你可以去看看。
lixiaosan 2006-06-23
  • 打赏
  • 举报
回复
请参阅
《windows 程序设计》

菜单部分
string11 2006-06-23
  • 打赏
  • 举报
回复
lixiaosan(小三) http://www.hcclib.net/online/Winprogramme/10.htm

网页打不开
string11 2006-06-23
  • 打赏
  • 举报
回复
laiyiling(【陌生人.MVP】) ( ) 信誉:527
我是说的是api怎么实现呀
string11 2006-06-23
  • 打赏
  • 举报
回复
debehe(躯壳)
我上面的函数也是用SetMenu (hwnd, hMenu) ;做的但是加载后不知道怎么加事就是没有菜单。
string11 2006-06-22
  • 打赏
  • 举报
回复
就是程序中需作两套菜单
然后动态加载 用api怎么实现???
谢谢

15,975

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧