📄 rcdemo.cpp
字号:
#include <windows.h>
#include "resource.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,MAKEINTRESOURCE(IDR_MENU1));
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菜单
MessageBox(hWnd,"你单击了新建菜单项",NULL,NULL);
break;
case IDM_OPEN://点击Open菜单
MessageBox(hWnd,"你单击了打开菜单项",NULL,NULL);
break;
case IDM_SAVE://点击Save菜单
MessageBox(hWnd,"你单击了保存菜单",NULL,NULL);
break;
case IDM_SAVEAS://点击SaveAsn菜单
MessageBox(hWnd,"你单击了另存为菜单",NULL,NULL);
break;
case IDM_CLOSE: //点击Close菜单
MessageBox(hWnd,"你单击了关闭菜单",NULL,NULL);
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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -