所以我刚开始使用win32图形,因为我想为我正在制作的应用程序开发UI。我基本上想在上面画一个边界,但由于某种原因,这条线只画在上面和左边。如果有人知道发生了什么事,那会有帮助的。
代码:

bool bRet = false;
HPEN pPen = CreatePen(PS_SOLID, Thickness, pColor);
HGDIOBJ hObj = SelectObject(*hDc, pPen);

bRet = MoveToEx(*hDc, pClient->left, pClient->top, 0);

bRet = LineTo(*hDc, pClient->right, pClient->top);
bRet = LineTo(*hDc, pClient->right, pClient->bottom);
bRet = LineTo(*hDc, pClient->left, pClient->bottom);
bRet = LineTo(*hDc, pClient->left, pClient->top);
bRet = LineTo(*hDc, pClient->bottom, pClient->top);

DeleteObject(hObj);
return bRet;

它是什么样子的:

最佳答案

通常情况下,大多数盒式模型中的bottomright关闭1。所以从中减去1。严格地说,边界不包括在“盒子”的大小中。

关于c - 使用MoveToEx和LineTo为窗口制作边框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48978266/

10-11 12:29