gpt4 book ai didi

winapi - 在 WinAPI C++ 中绘制形状

转载 作者:行者123 更新时间:2023-12-04 23:56:22 28 4
gpt4 key购买 nike

我正在学习 WinAPI C++ 的绘图形状
我试图在 WM_PAINT 上用一些代码绘制 2 个椭圆:

PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
HPEN hPen = CreatePen(PS_DASHDOTDOT, 2, NULL);SelectObject(hdc, hPen);
Ellipse(hdc, 100, 200, 400, 400);
Ellipse(hdc, 300, 300, 500, 510);

DeleteObject(hPen);
EndPaint(hWnd, &ps);

但输出是:

enter image description here
我期望的结果是两个形状都不是另一个形状。边框是虚线点点。
谁能告诉我我的错误?我很感激你的帮助。

最佳答案

Ellipse() (像所有 GDI 形状函数一样)使用当前画笔填充形状,这就是您的输出看起来像这样的原因。有关详细信息,请参阅 setting pen and brush colors .

如果你只想要没有填充的椭圆,首先选择一个空画笔:
SelectObject( hdc, GetStockObject( NULL_BRUSH ) );

关于winapi - 在 WinAPI C++ 中绘制形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15793330/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com