SDK编程中画刷的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 05:51:59
#include<windows.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define PI 3.1415926
long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam);
POINT lpSin[6]; //定义点坐标结构体

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
MSG Message;
HWND hWnd;
WNDCLASS WndClass; //生成窗口类
double theta=PI*54/180;//将54度化为弧度制
double s=sin(theta);//sin 54
double c=cos(theta);
double t=tan(theta);//tan 54
double len=300.0; //边长
double a(600.0),b(10.0);
lpSin[0].x=a; lpSin[0].y=b;
lpSin[1].x=a-len*s; lpSin[1].y=b+len*c;
lpSin[2].x=a-len/2; lpSin[2].y=b+len/2*(1/c+t);
lpSin[3].x=a+len/2; lpSin[3].y=b+len/2*(1/c+t);
lpSin[4].x=a+len*s; lpSin[4].y=b+len*c;
lpSin[5].x=a; lpSin[0].y=b;//(1)

//定义窗口类

画多边形用Polygon吧,Polyline只是画一系列线段。另外,你的第6个点初始化不正确。

单纯的画线polyline就行
要是需要画一个区域就要用polygon,可以指定画刷,默认是白色

应该用Polygon函数吧,Polyline是画线的,不能当成面看待,Polygon才是跟你的Ellipse相近。不闭合不知道是怎么看出来的,没连起来?