資源簡介
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
- 上一篇:魔法學院的奇幻之旅:用 GoC 編程繪圖.基礎篇前3課樣稿
- 下一篇:影碟出租系統
評論
共有 條評論