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. }  
时间: 2024-10-22 06:10:53

VC 实现视图区背景颜色渐变填充的相关文章

Android特效专辑(二)——ViewPager渲染背景颜色渐变(引导页)

Android特效专辑(二)--ViewPager渲染背景颜色渐变(引导页) 首页:http://blog.csdn.net/qq_26787115/article/details/50439020 首页里面也提到过,自己有意做一款杂七杂八的APP,就是自己喜欢什么就加上面,现在本文说的是引导页,我找了很久才觉得可以的开源项目,自己做了一下修改 开源地址:https://github.com/TaurusXi/GuideBackgroundColorAnimation 先来看看效果图吧! 图片用

CSS控制图片、表格、背景颜色渐变示例

CSS Filter 是 IE 特有的技术,其他浏览器均不支持,所以为了最大的兼容性及标准化,应尽量避免为 IE 单独使用 Filter,如需要其某些特效,应同时考虑其他浏览器, 图片渐变   复制代码 代码如下: <img src="..." width=400 height=300 style="FILTER: Alpha( style=1,opacity=25,finishOpacity=100,startX=50,finishX=100,startY=50,fi

css背景颜色渐变:网页背景颜色渐变代码CSS

对角线渐变:<body >上下渐变:<body leftmargin="0" topmargin="0" >左右渐变:<body leftmargin="0" topmargin="0" > 本文链接http://www.cxybl.com/html/wyzz/CSS/20120708/31792.html

android点击背景颜色变化问题

问题描述 android点击背景颜色变化问题 我现在的情况是,点击一个视图背景颜色改变,但是由于代码5秒更新一次,更新后的代码,视图的背景颜色又变回点击前了,这不是我想要的,我想是代码更新不要影响到我点击视图后的背景颜色,注:代码更新一定要存在,因为在刷新数据.请大神指教帮帮忙,麻烦说的详细点,最好有代码贴出来,谢谢了 解决方案 你可以设置一个变量View保存你点击的view,每次点击的时候将view赋值给变量,然后在刷新的时候判断这个view是否为null,如果不为null,保存的view就是

Word2007:页面背景之渐变颜色设置

  知道了在Word2007文档中如何设置单色页面背景后,会发现,单色页面背景看起来总是单调写,很难让人眼前一亮的效果,那么大家就可以考虑考虑设置简便页面背景颜色.操作方法也很简单. 第1步,打开Word2007文档窗口,切换到"页面布局"选项卡.在"页面背景"分组中单击"页面颜色"按钮,并在打开的页面颜色面板中选择"填充效果"命令. 选择"填充效果"命令 第2步,在打开的"填充效果"对

《HTML5 canvas开发详解(第2版)》——2.8 用颜色和渐变填充对象

2.8 用颜色和渐变填充对象 本章已经在讨论创建基本和复杂形状时,粗略地介绍了颜色和填充样式.本节将深入探讨形状的着色和填充.除了这些简单的着色和填充外,还有很多可用的不同渐变样式.另外,Canvas还可以使用位图来填充形状(参见第4章). 2.8.1 基本填充颜色设置 Canvas fillStyle属性用来设置画布上形状的基本颜色和填充.fillStyle使用简单的颜色名称.这看起来非常简单,例如: context.fillStyle = "red"; 下面是出自HTML4规范的可

python通过pil为png图片填充上背景颜色的方法

 这篇文章主要介绍了python通过pil为png图片填充上背景颜色的方法,实例分析了Python使用pil模块操作png图片的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了python通过pil为png图片填充上背景颜色的方法.分享给大家供大家参考.具体分析如下: png图片有些是没有背景颜色,如果希望以单色(比如白色)填充背景,可以使用下面的代码,这段代码将当前目录下的 jb51.net.png图片填充了白色背景. 使用指定的颜色的背景色即可,然后把该图片用alpha通

VC/MFC如何设置对话框背景颜色

VC/MFC如何设置对话框背景颜色 2007-06-19 19:57 1. 重载OnCtlColor    (CDC*    pDC,    CWnd*    pWnd,    UINT    nCtlColor),即WM_CTLCOLOR消息.      ----    ①在CExampleDlgDlg的头文件中,添加一CBrush的成员变量:        class    CExampleDlgDlg    :    public    CDialog      {...      pro

VC 对话框背景颜色、控件颜色

系统环境:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为对话框设置背景颜色.控件颜色       既然MFC对话框不好开发,那么现在我们来开始美化我们的对话框.为对话框设置背景颜色.控件颜色等等.   对话框背景颜色:   网上流传有四种方法(可能还不止),在VC++2008SP1测试后,发现只有三种可以使用了,其中第一种被废弃了.以下是四种方法: 方法一 (失效):调用CWinApp类的成员函数SetDialogBkColor来实现.       其中函数的第一