• 大小: 1.35MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-15
  • 语言: C/C++
  • 标签: 五边形  

资源简介

1.定义一只红色画笔,绘制一个等边五边形。 2.用不同颜色的线条连接互不相邻的两个点。 3.用不同颜色的画刷填充上述方法形成的每个区域!

资源截图

代码片段和文件信息

#include
#include
#include
#include
#define Pi 3.1415926535

long WINAPI WndProc(HWND hWnd
UINT iMessage
UINT wParam
LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstanceint nCmdShow);
int WINAPI WinMain(HINSTANCE hInstance
   HINSTANCE hPrevInstance
   LPSTR lpCmdLine
   int nCmdShow)
{
MSG Message;
if(!InitWindowsClass(hInstance))
return FALSE;
if(!InitWindows(hInstancenCmdShow))
return FALSE;
while(GetMessage(&Message000))      
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return Message.wParam;
}

long WINAPI WndProc(HWND hWndUINT iMessageUINT wParamLONG lParam)
{
HDC hDC;
HBRUSH hBrushhDefBrush;
HPEN hPenhDefPen;
PAINTSTRUCT PtStr;
double dfRadious0 = 100.0dfRadious1;
POINT lpOuterPoints[5]lpInnerPoints[5];
POINT lpTriangle[3];
    dfRadious1 = dfRadious0*sin(0.1*Pi)/sin(126.0/180*Pi);

for(int i=0;i<5;i++)
{
lpOuterPoints[i].x = (long)(dfRadious0*cos(i*72.0/180*Pi));
lpOuterPoints[i].y = (long)(dfRadious0*sin(i*72.0/180*Pi));
lpInnerPoints[i].x = (long)(dfRadious1*cos(i*72.0/180*Pi+36.0/180*Pi));
lpInnerPoints[i].y = (long)(dfRadious1*sin(i*72.0/180*Pi+36.0/180*Pi));
}

switch(iMessage)
{
case WM_PAINT:
hDC = BeginPaint(hWnd&PtStr);
SetMapMode(hDCMM_ANISOTROPIC);
SetWindowOrgEx(hDC-100-100NULL);
hPen = CreatePen(PS_SOLID1RGB(25500));

hDefPen = (HPEN)Selectobject(hDChPen);
Polygon(hDClpOuterPoints5);
Selectobject(hDChDefPen);
Deleteobject(hPen);

for(i=0;i<5;i++)
{
lpTriangle[0] = lpOuterPoints[i%5];
lpTriangle[1] = lpInnerPoints[i%5];
lpTriangle[2] = lpOuterPoints[(i+1)%5];
hBrush = CreateSolidBrush(RGB(i*10i*50i*30));
hDefBrush = (HBRUSH)Selectobject(hDChBrush);
Polygon(hDClpTriangle3);
lpTriangle[2] = lpInnerPoints[(i+4)%5];
Selectobject(hDChDefBrush);
Deleteobject(hBrush);

hBrush = CreateSolidBrush(RGB((5-i)*40(5-i)*50(5-i)*20));
hDefBrush = (HBRUSH)Selectobject(hDChBrush);
Polygon(hDClpTriangle3);
Selectobject(hDChDefBrush);
Deleteobject(hBrush);
}
hBrush = CreateSolidBrush(RGB(255255255));
hDefBrush = (HBRUSH)Selectobject(hDChBrush);
Polygon(hDClpInnerPoints5);
Selectobject(hDChDefBrush);
Deleteobject(hBrush);


MoveToEx(hDClpOuterPoints[0].xlpOuterPoints[0].yNULL);
for(i=1;i<=5;i++)
{
hPen = CreatePen(PS_SOLID1RGB(0i*200));
hDefPen = (HPEN)Selectobject(hDChPen);
LineTo(hDClpOuterPoints[(i+2)%5].xlpOuterPoints[(i+2)%5].y);
Selectobject(hDChDefPen);
Deleteobject(hPen);
}

EndPaint(hWnd&PtStr);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return(DefWindowProc(hWndiMessagewParamlParam));
}
}
BOOL InitWindows(HINSTANCE hInstanceint nCmdShow)
{
HWND hWnd;
hWnd = CreateWindow(“WinFil

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-05-05 16:43  五边形\
     目录           0  2013-05-05 16:40  五边形\Debug\
     文件      132096  2013-05-05 16:40  五边形\Debug\vc60.idb
     文件       77824  2013-05-05 16:34  五边形\Debug\vc60.pdb
     文件      204859  2013-05-05 16:40  五边形\Debug\源代码.exe
     文件      229748  2013-05-05 16:40  五边形\Debug\源代码.ilk
     文件       18602  2013-05-05 16:40  五边形\Debug\源代码.obj
     文件     3565692  2013-05-05 16:34  五边形\Debug\源代码.pch
     文件      377856  2013-05-05 16:40  五边形\Debug\源代码.pdb
     文件        3920  2013-05-05 13:00  五边形\五边形.dsp
     文件         520  2013-05-05 11:44  五边形\五边形.dsw
     文件       33792  2013-05-05 13:00  五边形\五边形.ncb
     文件       48640  2013-05-05 13:00  五边形\五边形.opt
     文件        3752  2013-05-05 16:34  五边形\源代码.cpp
     文件        3460  2013-05-05 16:42  五边形\源代码.dsp
     文件         520  2013-05-05 16:42  五边形\源代码.dsw
     文件       41984  2013-05-05 16:43  五边形\源代码.ncb
     文件       48640  2013-05-05 16:43  五边形\源代码.opt
     文件         742  2013-05-05 16:40  五边形\源代码.plg

评论

共有 条评论