一、接受绘图消息
case WM_PAINT:
绘图(hWnd);
break;
二、实现绘图方法
void 绘图(HWND hWnd)
{
PAINTSTRUCT p = {};//创建画笔
HDC hdc = BeginPaint(hWnd, &p);//画笔句柄
画个点(hdc);
EndPaint(hWnd, &p);
}
三、实现画点、线、面
void 画个点(HDC hdc)
{
SetPixel(hdc, 100, 100, RGB(255, 255, 255));//相对于客户区.画一个点
for (int i=0;i<100;i++)
{
SetPixel(hdc, 200+i, 200+i, RGB(0, 0, 255));//通过点画条斜线
}
for (int i = 0; i < 100; i++)
{
for (int j=0;j<100;j++)
{
SetPixel(hdc, 300 + i, 300 + j, RGB(255, 0, 0));//通过点画方块
}
}
}
四、运行结果
五、直接画线
void 画线(HDC hdc)
{
MoveToEx(hdc, 100, 100, NULL);//开始点的位置
LineTo(hdc, 200, 200);//画到的位置,下个点从这里开始
LineTo(hdc, 100, 200);
}
六、画矩形
void 画矩形(HDC hdc)
{
Rectangle(hdc, 100, 100, 300, 300);//300宽,300高
RoundRect(hdc,100, 100, 300, 300, 200, 200);//200是弧度,圆角矩形,都是200,所以是个圆
}
七、画圆
void 画圆(HDC hdc)
{
Ellipse(hdc, 100, 100, 400, 300);
}
八、画弧,四分之一圆
void 画弧(HDC hdc)
{
Arc (hdc, 100, 100, 400, 400,150,50,50,150);//150,50 开始点,50,,150结束点,逆时针画
}
九、画扇形
void 画扇形(HDC hdc)
{
Pie(hdc, 100, 100, 400, 400, 300, 50, 50, 300);
}