⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menutest.cpp

📁 c++从入门到精通
💻 CPP
字号:
#include <windows.h>
#include "menutest.h"

//窗口过程函数声明
long WINAPI WndProc(HWND hWnd,UINT iMessage,
					WPARAM wParam,LPARAM lParam);
//对话框处理函数声明
BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM);		

HWND hDlg;				//定义对话框句柄
HINSTANCE hInst;		//定义应用程序实例句柄

int WINAPI WinMain(HINSTANCE hInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpCmdLine,
				   int nCmdShow)	
{
	MSG Message;					//定义消息变量
	HWND hWnd;						//定义窗口句柄
	WNDCLASS WndClass;				//定义窗口类
	WndClass.cbClsExtra=0;			//无窗口类扩展
	WndClass.cbWndExtra=0;			//无窗口实例扩展
	//背景为白色
	WndClass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
	WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);//光标为为箭头
	WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//采用缺省图标
	WndClass.hInstance=hInstance;		  //当前实例
	WndClass.lpfnWndProc=WndProc;		  //消息处理函数
	WndClass.lpszClassName="MenuInstance";//窗口类名称
	WndClass.lpszMenuName=NULL;//无菜单
	WndClass.style=0;//缺省窗口风格

	HMENU hmenu;
	hmenu=LoadMenu(hInstance,"menu");
	
	if(!RegisterClass(&WndClass))//注册窗口.
	{
		MessageBeep(0);			//注册失败发出警告声.
		return FALSE;
	}

	hWnd=CreateWindow("MenuInstance",		//窗口类名称
					"菜单设计程序",		 	//标题栏名称
					WS_OVERLAPPEDWINDOW,	//窗口样式.有标题栏和最大最小化按钮
					CW_USEDEFAULT,			//窗口左上角坐标
					0,
					CW_USEDEFAULT,			//采用自定义的高度和宽度
					0,
					NULL,					//无父窗口
					hmenu,					//自定义的菜单
					hInstance,				//当前应用实例句柄
					NULL);					//指向传递给窗口的参数的指针

	ShowWindow(hWnd,nCmdShow);				//显示窗口
	UpdateWindow(hWnd);						//刷新用户区
	hInst=hInstance;						//将应用程序句柄传递给全局变量

	while(GetMessage(&Message,0,0,0))
	{
		//若是对话框消息,发往对话框处理函数
		if(!IsDialogMessage(hDlg,&Message))		
		{
			TranslateMessage(&Message);	//消息循环
			DispatchMessage(&Message);
		}
	}
	return Message.wParam;
}

long WINAPI WndProc(HWND hWnd,
					UINT iMessage,
					WPARAM wParam,
					LPARAM lParam)
{
	switch(iMessage)
	{
	case WM_COMMAND:
		/*switch(LOWORD(wParam))
		{
		case IDM_NEW://点击New菜单
			//显示模态对话框
			DialogBox(hInst,"New",hWnd,(DLGPROC)DlgProc);
			break;
		
		case IDM_OPEN://点击Open菜单
			//显示模态对话框
			DialogBox(hInst,"Open",hWnd,(DLGPROC)DlgProc);	
			break;
		case IDM_SAVE://点击Save菜单
			if(hDlg)
				DestroyWindow(hDlg);
			//显示非模态对话框
			hDlg=CreateDialog(hInst,"Save",hWnd,(DLGPROC)DlgProc);
			break;
		case IDM_SAVEAS://点击SaveAsn菜单
			if(hDlg)
				DestroyWindow(hDlg);
			//显示非模态对话框
			hDlg=CreateDialog(hInst,"SaveAs",hWnd,(DLGPROC)DlgProc);
			break;
		case IDM_CLOSE:	//点击Close菜单
			if(hDlg)
				DestroyWindow(hDlg);//删除非模态对话框
			break;
		case IDM_EXIT://点击Exit菜单
			SendMessage(hWnd,WM_DESTROY,0,0);//发送退出消息
			break;
		}
		break;*/
	case WM_DESTROY://退出
		PostQuitMessage(0);
		break;
	default:
		return(DefWindowProc(hWnd,iMessage,wParam,lParam));
	}
	return 0;
}
/*
//对话框窗口处理函数
BOOL CALLBACK DlgProc(HWND hdlg,
					  UINT message,
					  WPARAM wParam,
					  LPARAM lParam)
{
    switch(message)
	{
    case WM_INITDIALOG://初始化对话框 
		return 1;
	 
	case WM_COMMAND://处理对话框消息
		switch (LOWORD(wParam))
		{
		case IDOK:
			EndDialog( hdlg, 0) ;//关闭对话框  
			return 1;
		}
		break ;
    case WM_CLOSE:
        EndDialog( hdlg, 0) ;
        return 1;
	}
    return 0;
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -