[C语言](一)第一个Windows 32 API的窗口程序
生活随笔
收集整理的這篇文章主要介紹了
[C语言](一)第一个Windows 32 API的窗口程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int ICmdShow) {static TCHAR szAppName[] = TEXT("windowOfC");HWND hwnd;//窗體句柄變量MSG msg;//消息變量WNDCLASS wndclass;//窗口類變量//配置窗口類結構wndclass.style = CS_HREDRAW | CS_VREDRAW;wndclass.lpfnWndProc = WndProc;wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hInstance = hInstance;wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);wndclass.hbrBackground = (HBRUSH)COLOR_WINDOW;wndclass.lpszMenuName = NULL;wndclass.lpszClassName = szAppName;//注冊窗口類if (!RegisterClass(&wndclass)) {MessageBox(NULL, TEXT("注冊窗口類失敗!"), szAppName, MB_ICONERROR);return 0;}hwnd = CreateWindow(szAppName,TEXT("C語言調用Windows API創建的窗口"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);ShowWindow(hwnd, ICmdShow);UpdateWindow(hwnd);while (GetMessage(&msg, NULL, 0, 0)) {TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;
};//消息處理方法,windows操作系統的回調函數
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {HDC hdc;PAINTSTRUCT ps;RECT rect;switch (message) {case WM_CREATE:MessageBox(NULL, TEXT("創建窗口了!"), NULL, MB_ICONERROR);return 0;case WM_PAINT:hdc = BeginPaint(hwnd, &ps);GetClientRect(hwnd, &rect);DrawText(hdc, TEXT("hello C windows "), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hwnd, &ps);return 0;case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hwnd, message, wParam, lParam);
};
?
轉載于:https://www.cnblogs.com/sunylat/p/6218871.html
總結
以上是生活随笔為你收集整理的[C语言](一)第一个Windows 32 API的窗口程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: T-SQL 将存储过程结果插入到表中
- 下一篇: 创业团队:找对人就成功了90%