WINDOWS中的画图,边框和边框内部是分开处理的,画笔是负责画边界的点的,画刷是负责填充内部区域的,所以只要把空心画刷选入设备,就能画出空心图形,如空心矩形或者空心圆角矩形,用SetROP2(R2_NOTXORPEN)的模式也能画出空心矩形,但是由于背景的原因,边界的颜色不好控制。
以下是代码,很简单:
HBRUSH hBrush
=
(HBRUSH)::GetStockObject(NULL_BRUSH);
// 把空心画刷选入设备
::SelectObject(hDC, hBrush);
// 把画笔选入设备
::SelectObject(hDC, hPen);
// 以下就可以画图了
..............
// 把空心画刷选入设备
::SelectObject(hDC, hBrush);
// 把画笔选入设备
::SelectObject(hDC, hPen);
// 以下就可以画图了
..............
以上代码在WINDOWS XP VC6.0下测试通过