📄 rctest.cpp
字号:
#include <windows.h>
#include "resource.h"
long WINAPI WndProc(HWND hWnd,UINT iMessage,
WPARAM wParam,LPARAM lParam);
HDC hdc;
HDC hdcmem;
HBITMAP hBitmap;
HINSTANCE hInt;
BITMAP bm;
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(hInstance,MAKEINTRESOURCE(IDI_ICON1));
WndClass.hInstance=hInstance; //当前实例
WndClass.lpfnWndProc=WndProc; //消息处理函数
WndClass.lpszClassName="MenuInstance";//窗口类名称
WndClass.lpszMenuName=NULL;
WndClass.style=0; //缺省窗口风格
hInt=hInstance;
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); //指向传递给窗口的参数的指针
hBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
GetObject(hBitmap,sizeof(BITMAP),(LPVOID)&bm);
//刷新用户区
ShowWindow(hWnd,nCmdShow); //显示窗口
UpdateWindow(hWnd);
while(GetMessage(&Message,0,0,0))
{
//若是对话框消息,发往对话框处理函数
TranslateMessage(&Message); //消息循环
DispatchMessage(&Message);
}
return Message.wParam;
}
long WINAPI WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
PAINTSTRUCT ps;
switch(iMessage)
{
case WM_CREATE:
hdc=GetDC(hWnd); //获取设备环境句柄
hdcmem=CreateCompatibleDC(hdc); //获取内存设备环境句柄
ReleaseDC(hWnd,hdc); //释放设备环境句柄
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDM_NEW: //点击New菜单
MessageBox(hWnd,"你单击了新建菜单",NULL,NULL);
break;
case IDM_EXIT: //点击New菜单
SendMessage(hWnd,WM_DESTROY,0,0);//发送退出消息
break;
}
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
GetObject(hBitmap,sizeof(BITMAP),&bm);
SelectObject(hdcmem,hBitmap);
BitBlt(hdc,100,100,bm.bmWidth,bm.bmHeight,hdcmem,0,0,SRCCOPY);
DeleteDC(hdcmem);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY://退出
DeleteObject(hBitmap);
PostQuitMessage(0);
break;
default:
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -