WndProc在win32程序中报错
#include<windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrveIntance, PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAPPName[] = TEXT("MyWindows");
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)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAPPName;
if (!RegisterClass(&wndclass))
{
MessageBox(NULL, TEXT("RESULT"), szAPPName, MB_OK | MB_ICONWARNING);
return 0;
}
hwnd = CreateWindow(szAPPName,
TEXT("空间"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd, iCmdShow);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WhdProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
DrawText(hdc, TEXT("大家好"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
EndPaint(hwnd, &ps);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}

...全文
相关推荐
Python使用Windows API创建窗口示例【基于win32gui模块】
主要介绍了Python使用Windows API创建窗口操作,结合实例形式分析了Python基于win32gui模块调用Windows API创建窗口具体操作步骤与相关实现技巧,需要的朋友可以参考下
C语言连连看源码解析:从VC6迁移到VS2022的Win32游戏开发实战
Win32 API是Windows桌面程序开发的基础,通过消息循环和窗口过程实现交互。在游戏开发中,资源加载、鼠标事件处理和状态机设计是关键。C语言结合Win32 API可以构建完整的桌面游戏,如连连看,涉及图形绘制、音效播放和连通性算法。这类技术广泛应用于课程设计和轻量级游戏开发。本文以一份VC6时代的连连看源码为例,详细讲解如何迁移到VS2022,并剖析其窗口过程、游戏状态机和资源加载机制,帮助初学者从控制台过渡到窗口程序开发。
简单win32绘图程序
简单win32绘图程序
Win32 SDK 实例
主要是SDK API函数的联系,初期的Windows编程
win32数字时钟
一个WIN32数字时钟的简单代码,非常实用,可以用来练习


