我需要用 C 语言而不是 C++ 语言创建一个 WinAPI 窗口。在C中,当我制作窗口时,它在调整大小时遇到问题。当我将其尺寸调整得更大时,它会形成一个黑色背景,其中有奇怪的白色斑点。解决这个问题的唯一方法就是将其设置为原始大小。C++ 不会发生这种情况。我怎样才能解决这个问题?它编译没有错误。
正常尺寸: 正确显示
最大化: 它会产生奇怪的效果。
代码:
wmain.h
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
const wchar_t* szWndClassName = L"WindowClass"; const wchar_t* szWndName = L"Notepad";
int width = 600, height = 400;
HINSTANCE hInst; HWND hWnd;
WNDCLASS wc;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
RECT rect;
int CenterWindow(HWND parent_window, int width, int height)
{
GetClientRect(parent_window, &rect);
rect.left = (rect.right / 2) - (width / 2);
rect.top = (rect.bottom / 2) - (height / 2);
return …Run Code Online (Sandbox Code Playgroud)