填充实现:
HDC hdc=GetDC(hwnd);//获取HDC
//创建以point为左上角顶点的矩形资源
HRGN hrgn=CreateRectRgn(point.x,point.y,point.x+40,point.y+20);
//创建画刷:
HBRUSH
hbrush=CreateSolidBrush(RGB(100,100,100))//RGB三原色为参数
//选择画刷,返回先前指定类型的选择对象,再绘制完毕后应该重新选择之前的对象
HBRUSH hbrush_old=(HBRUSH)SelectObject(hdc,Hbrush);
//绘制
PaintRgn(hdc,hrgn);
//释放资源,非常重要,因为windows中资源的数量是有限的,所以要及时释放
(HBRUSH)SelectObject(hdc,hbrush_old);
DeleteObject(hbrush);
DeleteObject(hrgn);
DeleteDC(hdc);
在创建的资源中可以调用不同函数创建矩形,椭圆,圆三角形等区域资源,进行绘制。切记每次绘制完要及时选择原来的选择对象,同时删除资源。
描边实现:
HBRUSH image_brush_red = CreateSolidBrush(RGB(255, 0, 0));
HRGN hrgn_rect = CreateRectRgn(point.x,point.y,point.x+40,point.y+20);
//最后两个参数为帧区域宽度,帧区域厚度
FrameRgn(hdc, hrgn_rect, image_brush_red, 2, 2);
//资源删除
DelectDC(hdc);