• VC 实现视图区背景颜色渐变填充


    [cpp] view plaincopy
     
      1. void CSTest1View::OnDraw(CDC* pDC)  
      2. {  
      3.     CSTest1Doc* pDoc = GetDocument();  
      4.     ASSERT_VALID(pDoc);  
      5.     // TODO: add draw code for native data here  
      6.   
      7.     CRect rcClient;  
      8.     GetClientRect(&rcClient);  
      9.     rcClient.DeflateRect(5,5,5,5);  
      10.   
      11.     if(m_nMode==0)  
      12.     {  
      13.         TRIVERTEX        vert[2] ;  
      14.         GRADIENT_RECT    gRect;  
      15.         vert [0] .x      = rcClient.left;  
      16.         vert [0] .y      = rcClient.top;  
      17.         vert [0] .Red    = 0x8000;  
      18.         vert [0] .Green  = 0xc000;  
      19.         vert [0] .Blue   = 0xff00;  
      20.         vert [0] .Alpha  = 0x0000;  
      21.           
      22.         vert [1] .x      = rcClient.right;  
      23.         vert [1] .y      = rcClient.bottom;   
      24.         vert [1] .Red    = 0xff00;  
      25.         vert [1] .Green  = 0xc000;  
      26.         vert [1] .Blue   = 0x8000;  
      27.         vert [1] .Alpha  = 0x0000;  
      28.           
      29.         gRect.UpperLeft  = 1;  
      30.         gRect.LowerRight = 0;  
      31.         GradientFill(pDC->GetSafeHdc(),vert,2,&gRect,1,GRADIENT_FILL_RECT_V);  
      32.     }  
      33.       
      34.     if(m_nMode==1)  
      35.     {  
      36.         TRIVERTEX        vert [4] ;  
      37.         GRADIENT_TRIANGLE    gTri[2];  
      38.         vert [0] .x       =  rcClient.left;  
      39.         vert [0] .y       =  rcClient.top;  
      40.         vert [0] .Red     =  0xff00;  
      41.         vert [0] .Green   =  0xc000;  
      42.         vert [0] .Blue    =  0x8000;  
      43.         vert [0] .Alpha   =  0x0000;  
      44.           
      45.         vert [1] .x       =  rcClient.Width();  
      46.         vert [1] .y       =  rcClient.top;  
      47.         vert [1] .Red     =  0x8000;  
      48.         vert [1] .Green   =  0xff00;  
      49.         vert [1] .Blue    =  0x8000;  
      50.         vert [1] .Alpha   =  0x0000;  
      51.           
      52.         vert [2] .x       =  rcClient.CenterPoint().x;  
      53.         vert [2] .y       =  rcClient.bottom;   
      54.         vert [2] .Red     =  0x8000;  
      55.         vert [2] .Green   =  0xc000;  
      56.         vert [2] .Blue    =  0xff00;  
      57.         vert [2] .Alpha   =  0x0000;  
      58.           
      59.           
      60.         vert [3] .x       =  rcClient.CenterPoint().x;  
      61.         vert [3] .y       =  rcClient.CenterPoint().y;  
      62.         vert [3] .Red     =  0xff00;  
      63.         vert [3] .Green   =  0x0000;  
      64.         vert [3] .Blue    =  0x0000;  
      65.         vert [3] .Alpha   =  0x0000;  
      66.                   
      67.         gTri[0].Vertex1   = 0;  
      68.         gTri[0].Vertex2   = 1;  
      69.         gTri[0].Vertex3   = 2;  
      70.           
      71.         gTri[1].Vertex1   = 0;  
      72.         gTri[1].Vertex2   = 0;  
      73.         gTri[1].Vertex3   = 0;  
      74.         GradientFill(pDC->GetSafeHdc(),vert,4,&gTri,1,GRADIENT_FILL_TRIANGLE);  
      75.   
      76.     }  
      77.       
      78. }  
  • 相关阅读:
    String Kernel SVM
    基因组印记
    用Js的eval解析JSON中的注意点
    struts2中<s:select>标签的使用
    如何在Linux中使用cron命令
    怎样解决MySQL数据库主从复制延迟的问题
    PMON failed to acquire latch, see PMON dump
    java中对List中对象排序实现
    C语言typedef关键字
    企业级内部信息统一搜索解决方案
  • 原文地址:https://www.cnblogs.com/lidabo/p/3701889.html
Copyright © 2020-2023  润新知