hellowin -windows菜单编程

来源:互联网 发布:mac 涂层膜脱落 编辑:程序博客网 时间:2024/05/06 21:06

在工程文件下右键-添加-资源,

选择menu 新建即可进入可视化的菜单资源编辑,

我们可以看到在头文件下多出一个resource.h的头文件,

资源文件下看到多出一个扩扩展名为.rc的资源文件,可将它拖到源文件下。

******************************************************************************************

*发现resource.h头文件打开的情况下进入重新编辑打开我们的菜单"***.rc"

会出现一个"在另一个编辑器中打开"的错误,先将头文件resource.h关掉即可。

*****************************************************************************************

加载菜单:(转自:*点击打开链接*)

第一种加载方式(类设计时):

WNDCLASS wndclass;....wndclass.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);//这里省略了窗体类创建时需要填写的其他信息.



第二种加载方式(窗体创建时):

HMENU hmenu;WNDCLASS wndclass;....wndclass.lpszMenuName=NULL;//这里省略了一些窗体类的必要信息填写,和注册窗口类等操作//加载菜单到菜单句柄中hmenu=LoadMenu(hInstance,MAKEINTRESOURCE(IDR_MENU1));//在创建窗体时候载入菜单hwnd=CreateWindow("text","hellow world",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,    CW_USEDEFAULT,CW_USEDEFAULT,NULL,hmenu,hInstance,NULL);



第三种加载方式(窗体创建后):

HMENU hmenu;WNDCLASS wndclass;....wndclass.lpszMenuName=NULL;//这里省略了一些窗体类的必要信息填写,和注册窗口类等操作//创建窗体hwnd=CreateWindow("text","hellow world",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,    CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);//加载菜单到菜单句柄中hmenu=LoadMenu(hInstance,MAKEINTRESOURCE(IDR_MENU1));//动态的加载菜单到窗体中去SetMenu(hwnd,hmenu);

************************************************************************************************

如何使用我们创建的菜单

在LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 函数中switch(message)case WM_COMMAND:{switch (LOWORD(wParam)){case ID_ADDNEW: //ID_ADDNEW 为我们创建的菜单下各menu的ID下同//MessageBox(NULL,L"addNew",L"add", MB_OK);break;case ID_OPEN:        //MessageBox(NULL, L"Hello_string", L"szCaptionMain", MB_OK);//CFileDialog();//CFileDialog dlg(bOpen, "*.csv", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "CSV (逗号分隔符)(*.csv)|*.csv|All files (*.*)|*.*||");break;case ID_EXIT: DestroyWindow(hwnd);//退出窗口break;}}





0 0
原创粉丝点击