Win32中的自绘制不规则图形

HDC hdc;
PAINTSTRUCT ps;
case WM_PAINT:
{
...
		//在当前句柄窗口内作画
		hdc = BeginPaint(hWnd, &ps);
		//背景画刷
		HBRUSH hBrush, hOldBrush;
		//画笔
		HPEN hPen, hOldPen;
		//画笔参数容器
		LOGBRUSH lb;
		//自定义画刷
		hBrush = CreateHatchBrush(HS_BDIAGONAL,RGB(0,255,0));
		//将画刷参数放到hdc
		hOldBrush = (HBRUSH)SelectObject(hdc,hBrush);
		//画笔参数设定
		//颜色
		lb.lbColor = RGB(255,55,125);
		//风格为实心
		lb.lbStyle = BS_SOLID;
		//阴影效果
		lb.lbHatch = HS_BDIAGONAL;
		//创建一个集合类型的画笔
		hPen = (HPEN)ExtCreatePen(PS_GEOMETRIC|PS_SOLID|PS_ENDCAP_FLAT|PS_JOIN_MITER,//dwPenStyle,类型、方式和连接线的组合方式
		4,//画笔宽度
		&lb,//*lplb已设置
		0,//DWORD数组,style bits
		NULL);//lpStyle可选参数DWORD数组
		hOldPen = (HPEN)SelectObject(hdc,hPen);
		//饼图绘制
		Pie(hdc,100,100,300,200,10,30,200,100);
		SelectObject(hdc, hOldBrush);
...
}

demo
最终效果如图

猜你喜欢

转载自blog.csdn.net/hu421160052/article/details/86499243