📄 menutest.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 + -