hellowin -windows菜单编程

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

选择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;
		}

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值