关注公众号程序猿从入门到入土查询更方便哦
//按钮
#include<Windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) {
WNDCLASS wndclass;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hIcon = NULL;
wndclass.hInstance = hInstance;
wndclass.lpfnWndProc = WndProc;
wndclass.lpszClassName = "win";
wndclass.lpszMenuName = NULL;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
if (!RegisterClass(&wndclass)) {
return 0;
}
HWND hwnd = CreateWindow("win",
"Buttons",
WS_OVERLAPPEDWINDOW,
400,
400,
800,
600,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) {
case WM_COMMAND:
switch (LOWORD(wParam)) {
case 1001:
if (HIWORD(wParam) == BN_CLICKED) {
MessageBox(hwnd, "Button_1 Clicked", "提示", MB_OK | MB_ICONINFORMATION);
}
break;
case 1002:
{
HWND hButton_radio = (HWND)lParam;
if (SendMessage(hButton_radio, BM_GETCHECK, 0, 0) == BST_CHECKED) {
MessageBox(hwnd, "Button_2 selected", "提示", MB_OK | MB_ICONINFORMATION);
}
}
break;
case 1003:
{
HWND hButton_Check = (HWND)lParam;
if (SendMessage(hButton_Check, BM_GETCHECK, 0, 0) == BST_CHECKED) {
MessageBox(hwnd, "Button_3 selected", "提示", MB_OK | MB_ICONINFORMATION);
}
else if (SendMessage(hButton_Check, BM_GETCHECK, 0, 0) == BST_UNCHECKED) {
MessageBox(hwnd, "Button_3 unselected", "提示", MB_OK | MB_ICONINFORMATION);
}
}
break;
}
break;
case WM_CREATE: {
HWND hButton_1 = CreateWindow(
"Button",
"Button_1",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
25,5,
120,35,
hwnd,
(HMENU)1001,
((LPCREATESTRUCT)lParam)->hInstance,
NULL);
HWND hButton_2 = CreateWindow(
"Button",
"Button_2_1",
WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
25, 55,
120, 35,
hwnd,
(HMENU)1002,
((LPCREATESTRUCT)lParam)->hInstance,
NULL);
HWND hButton_22 = CreateWindow(
"Button",
"Button_2_2",
WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
225, 55,
120, 35,
hwnd,
(HMENU)1002,
((LPCREATESTRUCT)lParam)->hInstance,
NULL);
HWND hButton_3 = CreateWindow(
"Button",
"Button_3",
WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,
25, 105,
120, 35,
hwnd,
(HMENU)1003,
((LPCREATESTRUCT)lParam)->hInstance,
NULL);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default :
break;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
//timer
#include<Windows.h>
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) {
WNDCLASS wndclass;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hIcon = NULL;
wndclass.hInstance = hInstance;
wndclass.lpfnWndProc = WndProc;
wndclass.lpszClassName = "win";
wndclass.lpszMenuName = NULL;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
if (!RegisterClass(&wndclass)) {
return 0;
}
HWND hwnd = CreateWindow("win",
"Timer",
WS_OVERLAPPEDWINDOW,
400,
400,
800,
600,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
static BOOL iFlag = 0;
RECT rect;
HDC hdc;
PAINTSTRUCT pt;
HBRUSH hBrush;
switch (message) {
case WM_CREATE:
SetTimer(hwnd, 1, 200, NULL);
return 0;
case WM_TIMER:
iFlag = !iFlag;
InvalidateRect(hwnd, NULL, FALSE);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_PAINT:
hdc = BeginPaint(hwnd, &pt);
GetClientRect(hwnd, &rect);
hBrush = CreateSolidBrush(iFlag ? RGB(255, 0, 0) : RGB(0, 0, 255));
FillRect(hdc, &rect, hBrush);
EndPaint(hwnd, &pt);
DeleteObject(hBrush);
ReleaseDC(hwnd, hdc);
return 0;
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}