#include <windows.h>
LONG WINAPI WndProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hprevInstance,
LPSTR lpszCmdLine, int nCmdShow)
{
WNDCLASS wc;
HWND hwnd;
MSG msg;
wc.style = 0;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = "MyWndClass";
RegisterClass(&wc);
hwnd = CreateWindow( // 创建窗口
"MyWndClass", // 名字
"SDK Application", // 标题栏中显示的文本
WS_OVERLAPPEDWINDOW, // 窗口样式
CW_USEDEFAULT, // 水平
CW_USEDEFAULT, // 垂直
CW_USEDEFAULT, // 宽
CW_USEDEFAULT, // 高
HWND_DESKTOP, // 父窗口
NULL, // 菜单句柄
hInstance, // 实例句柄
NULL // 指向特定应用程序的指针
);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg, NULL, 0, 0)) // 检查消息队列
{
TranslateMessage(&msg); // 将消息转换为WM_CHAR
DispatchMessage(&msg); // 将消息发送给窗口
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,
LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
Ellipse(hdc, 0, 0, 200, 100);
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}