用C语言制作一个漂亮的窗口程序
由于C语言本身并不支持窗口程序开发,因此需要使用相关的库来实现窗口程序。以下给出在Windows系统下使用Win32 API库实现一个简单的窗口程序的代码:
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
// 注册窗口类
WNDCLASS wc = { 0 };
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND);
wc.lpszClassName = "MyWindowClass";
RegisterClass(&wc);
// 创建窗口
HWND hWnd = CreateWindow("MyWindowClass", "My Window", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL);
// 显示窗口
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
// 消息循环
MSG msg = { 0 };
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_PAINT:
// 绘制窗口内容
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
TextOut(hdc, 50, 50, "Hello, World!", 13);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
// 关闭窗口
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
以上代码实现了一个简单的窗口程序,窗口的标题为"My Window",大小为640x480,窗口中央显示了"Hello, World!"的文本。通过修改代码中的窗口类和窗口参数,可以实现不同样式和功能的窗口程序。
原文地址: http://www.cveoy.top/t/topic/ba6h 著作权归作者所有。请勿转载和采集!