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.窗口就没有什么也菜单了
{
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.窗口就没有什么也菜单了
解决方案 »
- 已知Pagecontrol句柄及tabsheet句柄怎样使第一个tabsheet激活
- 急!急!急!急!关于位图的创建和存储的问题!
- 如何增加亮度
- GDI+中用GraphicsPath中的Clone方法获得路径对象的指针,用完后是否需要delete掉该指针指向的内存空间?
- 分析设计高手进来
- 在用CSocket时怎样得到客户的IP,回就给分,谢谢大家,没分了
- 请问一个文件传输的问题?????
- 送分 !求助!关于CString 对象放到结构体里.........
- 再问,如何动态创建模式对话框
- 那位好心人帮帮忙,如果有换皮肤的原代码,给我一份,或者给我介绍一个网址也好!谢!!!!!!!!!!!!!
- 我用VC建立了一个对话框的应用程序,怎样控制这个对话框程序一启动,窗体自动隐藏?
- [求助]在主框架控制栏内用代码添加了一个CEditCtrl,实现当在编辑框控件内回车时,把编辑框CEditCtrl内的字符传出,并赋给一个变量!请多
然后动态加载 用api怎么实现???
谢谢
CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd();
HMENU hMenu;
CMDIChildWnd *pChildFrame = (CMDIChildWnd *)GetParentFrame();
pChildFrame->SetHandles(hMenu, pChildFrame->m_hAccelTable);
pFrame->DelayUpdateFrameMenu(NULL);
我上面的函数也是用SetMenu (hwnd, hMenu) ;做的但是加载后不知道怎么加事就是没有菜单。
我是说的是api怎么实现呀
《windows 程序设计》 菜单部分
在之前我也是看了>windows的程序设计>因为不得要领所以才写出了上面的程序.结果是运行时非但不能加载菜单.原来的菜单也不见了.
自己写东西,局限于自己的认识.目前没法找出错误所在.所以请各位大哥大姐,看看我的程序吧.谢谢很想找一位师傅带 我。如果有愿意的请留下qq方便联系