Elimy  
日历
<2026年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
统计
  • 随笔 - 0
  • 文章 - 1
  • 评论 - 0
  • 引用 - 0

导航

常用链接

留言簿

文章档案

搜索

  •  

最新评论

 
#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);
long i=0,j=0,m=long(100*sin(18*PI/180)/cos(36*PI/180));      //m是中间五边形的半径
int fan=0;
int cishu=0;
POINT a[
3],b[3],c[3],d[3],e[3];
POINT a1[
3],b1[3],c1[3],d1[3],e1[3];
POINT PIN[
5];
double dfTheta=0,dfRange=100.0;                         
long lCentreX=0,lCentreY=0,lRadious=(long)(0.2*dfRange);
POINT lpSin[
100];

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   
int nCmdShow)
{
    MSG Message;
    HWND hWnd;
    WNDCLASS WndClass;
    WndClass.cbClsExtra
=0;
    WndClass.cbWndExtra
=0;
    WndClass.hbrBackground
=(HBRUSH)(GetStockObject(WHITE_BRUSH));
    WndClass.hCursor
=LoadCursor(NULL,IDC_CROSS);
    WndClass.hIcon
=LoadIcon(NULL,IDI_APPLICATION);
    WndClass.hInstance
=hInstance;
    WndClass.lpfnWndProc
=WndProc;
    WndClass.lpszClassName
="WinFill";
    WndClass.lpszMenuName
=NULL;
    WndClass.style
=0;
    
if(!RegisterClass(&WndClass))
    {
        MessageBeep(
0);
        
return FALSE;
    }
    hWnd
=CreateWindow("WinFill",
                       
"五角星",
                       WS_OVERLAPPEDWINDOW,
                       CW_USEDEFAULT,
                       
0,
                       CW_USEDEFAULT,
                       
0,
                       NULL,
                       NULL,
                       hInstance,
                       NULL);
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);
    
/*for(int j=0;j<100;j++)
    {
        lpSin[j].x=(long)(j*2*PI/100*60);
        lpSin[j].y=(long)(dfRange*sin(j*2*PI/100));
    }
*/
    
while(GetMessage(&Message,0,0,0))
    {
        TranslateMessage(
&Message);
        DispatchMessage(
&Message);
    }
    
return Message.wParam;
}
long WINAPI WndProc(HWND hWnd,
                    UINT iMessage,
                    UINT wParam,
                    LONG lParam)
{
    HDC hDC;
    HBRUSH hBrush;
    HPEN hPen;
    PAINTSTRUCT PtStr;
    
switch(iMessage)
    {    
    
case WM_PAINT:
        hDC
=BeginPaint(hWnd,&PtStr);
        SetWindowOrgEx(hDC,
-200,-200,NULL);
        SetMapMode(hDC,MM_ANISOTROPIC);
        hPen
=CreatePen(PS_SOLID,1,RGB(255,0,0));
        SelectObject(hDC,hPen);    
        
//Polyline(hDC,lpSin,100);
    

           
//第一个外三角形
          a[0].x=lCentreX;                               a[0].y=lCentreY-100;
          a[
1].x=long(lCentreX-100*sin(72*PI/180));     a[1].y=long(lCentreY-100*cos(72*PI/180));
          a[
2].x=long(lCentreX-m*sin(36*PI/180));     a[2].y=long(lCentreY-m*cos(36*PI/180));
         hBrush
=CreateSolidBrush(RGB(fan,100,0)); 
         SelectObject(hDC,hBrush);  Polygon(hDC,a,
3);     
          
          
//第二个外三角形
          b[0].x=lCentreX;                               b[0].y=lCentreY-100;
          b[
1].x=long(lCentreX+m*sin(36*PI/180));     b[1].y=long(lCentreY-m*cos(36*PI/180));
          b[
2].x=long(lCentreX+100*sin(72*PI/180));      b[2].y=long(lCentreY-100*cos(72*PI/180));
          hBrush
=CreateSolidBrush(RGB(100,fan,0)); 
          SelectObject(hDC,hBrush);   
          Polygon(hDC,b,
3);
          
//第三个外三角形
          c[0].x=long(lCentreX+100*sin(72*PI/180));      c[0].y=long(lCentreY-100*cos(72*PI/180));
          c[
1].x=long(lCentreX+100*sin(36*PI/180));      c[1].y=long(lCentreY+100*cos(36*PI/180));
          c[
2].x=long(lCentreX+m*sin(72*PI/180));     c[2].y=long(lCentreY+m*cos(72*PI/180));
          hBrush
=CreateSolidBrush(RGB(100,255,fan));
          SelectObject(hDC,hBrush);  
          Polygon(hDC,c,
3);
          
//第四个外三角形
          d[0].x=long(lCentreX-100*sin(36*PI/180));      d[0].y=long(lCentreY+100*cos(36*PI/180));
          d[
1].x=long(lCentreX+100*sin(36*PI/180));      d[1].y=long(lCentreY+100*cos(36*PI/180));
          d[
2].x=lCentreX;                            d[2].y=lCentreY+m;
          hBrush
=CreateSolidBrush(RGB(100,fan/3,0));
          SelectObject(hDC,hBrush);   
          Polygon(hDC,d,
3);
          
//第五个外三角形
          e[0].x=long(lCentreX-100*sin(36*PI/180));      e[0].y=long(lCentreY+100*cos(36*PI/180));
          e[
1].x=long(lCentreX-100*sin(72*PI/180));      e[1].y=long(lCentreY-100*cos(72*PI/180));
          e[
2].x=long(lCentreX-m*sin(72*PI/180));     e[2].y=long(lCentreY+m*cos(72*PI/180));
          hBrush
=CreateSolidBrush(RGB(100,fan,fan));
          SelectObject(hDC,hBrush);   
          Polygon(hDC,e,
3);
          
//第一个内三角形
          a1[0].x=long(lCentreX-m*sin(36*PI/180));     a1[0].y=long(lCentreY-m*cos(36*PI/180));
          a1[
1].x=lCentreX;                            a1[1].y=lCentreY-100;
          a1[
2].x=long(lCentreX+m*sin(36*PI/180));     a1[2].y=long(lCentreY-m*cos(36*PI/180));
          hBrush
=CreateSolidBrush(RGB(100,0,fan));
          SelectObject(hDC,hBrush);  
          Polygon(hDC,a1,
3);
          
//第二个内三角形
          b1[0].x=long(lCentreX+m*sin(36*PI/180));     b1[0].y=long(lCentreY-m*cos(36*PI/180));
          b1[
1].x=long(lCentreX+100*sin(72*PI/180));   b1[1].y=long(lCentreY-100*cos(72*PI/180));
          b1[
2].x=long(lCentreX+m*sin(72*PI/180));     b1[2].y=long(lCentreY+m*cos(72*PI/180));
          hBrush
=CreateSolidBrush(RGB(0,fan,80));
          SelectObject(hDC,hBrush);  
          Polygon(hDC,b1,
3);
          
//第三个内三角形
          c1[0].x=long(lCentreX+m*sin(72*PI/180));     c1[0].y=long(lCentreY+m*cos(72*PI/180));
          c1[
1].x=long(lCentreX+100*sin(36*PI/180));   c1[1].y=long(lCentreY+100*cos(36*PI/180));
          c1[
2].x=lCentreX;                            c1[2].y=lCentreY+m;
          hBrush
=CreateSolidBrush(RGB(0,fan/3,76));
          SelectObject(hDC,hBrush);  
          Polygon(hDC,c1,
3);
          
//第四个内三角形
          d1[0].x=lCentreX;                            d1[0].y=lCentreY+m;
          d1[
1].x=long(lCentreX-100*sin(36*PI/180));   d1[1].y=long(lCentreY+100*cos(36*PI/180));
          d1[
2].x=long(lCentreX-m*sin(72*PI/180));     d1[2].y=long(lCentreY+m*cos(72*PI/180));
          hBrush
=CreateSolidBrush(RGB(0,100,fan/5));
          SelectObject(hDC,hBrush);  
          Polygon(hDC,d1,
3);
          
//第五个内三角形
          e1[0].x=long(lCentreX-m*sin(72*PI/180));     e1[0].y=long(lCentreY+m*cos(72*PI/180));
          e1[
1].x=long(lCentreX-100*sin(72*PI/180));   e1[1].y=long(lCentreY-100*cos(72*PI/180));
          e1[
2].x=long(lCentreX-m*sin(36*PI/180));     e1[2].y=long(lCentreY-m*cos(36*PI/180));
          hBrush
=CreateSolidBrush(RGB(fan/3,fan/2,0));
          SelectObject(hDC,hBrush);  
          Polygon(hDC,e1,
3);
          
          PIN[
0].x=lCentreX;                           PIN[0].y=lCentreY+m;
          PIN[
1].x=long(lCentreX-m*sin(72*PI/180));    PIN[1].y=long(lCentreY+m*cos(72*PI/180));
          PIN[
2].x=long(lCentreX-m*sin(36*PI/180));    PIN[2].y=long(lCentreY-m*cos(36*PI/180));
          PIN[
3].x=long(lCentreX+m*sin(36*PI/180));    PIN[3].y=long(lCentreY-m*cos(36*PI/180));
          PIN[
4].x=long(lCentreX+m*sin(72*PI/180));    PIN[4].y=long(lCentreY+m*cos(72*PI/180));
          hBrush
=CreateSolidBrush(RGB(fan,fan/2,fan));
          SelectObject(hDC,hBrush);     Polygon(hDC,PIN,
5);  
          fan
+=8;
          fan
%=255;
          cishu
++;

          
          DeleteObject(hPen);
          DeleteObject(hBrush);
          EndPaint(hWnd,
&PtStr);
          Sleep(
10);

          InvalidateRect(hWnd,NULL,
1);
          
return 0;
    
case WM_DESTROY:
            PostQuitMessage(
0);
            
return 0;
    
default:
        
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
    }
}
posted on 2011-09-05 22:54 酒剑仙 阅读(139) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理


 
Copyright © 酒剑仙 Powered by: 博客园 模板提供:沪江博客