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. CRect rcClient;
    7. GetClientRect(&rcClient);
    8. rcClient.DeflateRect(5,5,5,5);
    9. if(m_nMode==0)
    10. {
    11. TRIVERTEX        vert[2] ;
    12. GRADIENT_RECT    gRect;
    13. vert [0] .x      = rcClient.left;
    14. vert [0] .y      = rcClient.top;
    15. vert [0] .Red    = 0x8000;
    16. vert [0] .Green  = 0xc000;
    17. vert [0] .Blue   = 0xff00;
    18. vert [0] .Alpha  = 0x0000;
    19. vert [1] .x      = rcClient.right;
    20. vert [1] .y      = rcClient.bottom;
    21. vert [1] .Red    = 0xff00;
    22. vert [1] .Green  = 0xc000;
    23. vert [1] .Blue   = 0x8000;
    24. vert [1] .Alpha  = 0x0000;
    25. gRect.UpperLeft  = 1;
    26. gRect.LowerRight = 0;
    27. GradientFill(pDC->GetSafeHdc(),vert,2,&gRect,1,GRADIENT_FILL_RECT_V);
    28. }
    29. if(m_nMode==1)
    30. {
    31. TRIVERTEX        vert [4] ;
    32. GRADIENT_TRIANGLE    gTri[2];
    33. vert [0] .x       =  rcClient.left;
    34. vert [0] .y       =  rcClient.top;
    35. vert [0] .Red     =  0xff00;
    36. vert [0] .Green   =  0xc000;
    37. vert [0] .Blue    =  0x8000;
    38. vert [0] .Alpha   =  0x0000;
    39. vert [1] .x       =  rcClient.Width();
    40. vert [1] .y       =  rcClient.top;
    41. vert [1] .Red     =  0x8000;
    42. vert [1] .Green   =  0xff00;
    43. vert [1] .Blue    =  0x8000;
    44. vert [1] .Alpha   =  0x0000;
    45. vert [2] .x       =  rcClient.CenterPoint().x;
    46. vert [2] .y       =  rcClient.bottom;
    47. vert [2] .Red     =  0x8000;
    48. vert [2] .Green   =  0xc000;
    49. vert [2] .Blue    =  0xff00;
    50. vert [2] .Alpha   =  0x0000;
    51. vert [3] .x       =  rcClient.CenterPoint().x;
    52. vert [3] .y       =  rcClient.CenterPoint().y;
    53. vert [3] .Red     =  0xff00;
    54. vert [3] .Green   =  0x0000;
    55. vert [3] .Blue    =  0x0000;
    56. vert [3] .Alpha   =  0x0000;
    57. gTri[0].Vertex1   = 0;
    58. gTri[0].Vertex2   = 1;
    59. gTri[0].Vertex3   = 2;
    60. gTri[1].Vertex1   = 0;
    61. gTri[1].Vertex2   = 0;
    62. gTri[1].Vertex3   = 0;
    63. GradientFill(pDC->GetSafeHdc(),vert,4,&gTri,1,GRADIENT_FILL_TRIANGLE);
    64. }
    65. }

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

  1. css3的背景颜色渐变@线性渐变

    背景颜色渐变之线性渐变 语法形式: firefox浏览器 background:-moz-linear-gradient(position/deg,startColor,endColor); oper ...

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

    Android特效专辑(二)--ViewPager渲染背景颜色渐变(引导页) 首页:http://blog.csdn.net/qq_26787115/article/details/50439020 ...

  3. css3背景颜色渐变属性 兼容性测试基础环境为:windows系统;IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+

    css3背景颜色渐变属性 兼容性测试基础环境为:windows系统:IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+ 语法: <li ...

  4. WPF 背景颜色渐变的滑动条实现

    原文:WPF 背景颜色渐变的滑动条实现 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83507 ...

  5. css3实现背景颜色渐变,文字颜色渐变,边框颜色渐变

    css3的渐变可以使用2个或者多个指定的颜色之间显示平稳的过渡的效果.这篇文章主要介绍下css3实现背景颜色渐变,文字颜色渐变,边框颜色渐变的方法,以便大家学习参考! 1.css背景颜色渐变 代码: ...

  6. css3背景颜色渐变属性

    https://www.cnblogs.com/ningkyolei/p/4623697.html 很久之前写的一篇文章了,今天重新整理一下关于css3背景渐变的写法,至于是怎么来的,可以看下面渐变的 ...

  7. CSS3实现背景颜色渐变 摘抄

    一. Webkit浏览器 (1) 第一种写法: background:-webkit-gradient(linear ,10% 10%,100% 100%, color-stop(0.14,rgb(2 ...

  8. CSS3实现背景颜色渐变

    CSS3渐变色生成网站:http://gradients.glrzad.com/ 本文参考:前端设计之用CSS3做线性渐变效果http://webskys.com/css3/10.html 在CSS3 ...

  9. HTML中将背景颜色渐变

    通过使用 css3 渐变可以让背景两个或多个指定的颜色之间显示平稳的过渡,由于用到css3所以需要考虑下浏览器兼容问题,例如:从左到右的线性渐变,且带有透明度的样式:#grad {background ...

随机推荐

  1. 制作Linux(Fedora、Ubuntu、CentOS)优盘启动

    随着嵌入式技术的快速发展,Linux快速发展过一段时间.虽然现在不是很热,但是linux在现实社会的使用还是很有用处.而光盘有有些落伍,不仅浪费而且不环保,所以质优价廉的优盘就脱颖而出.所以,用优盘制 ...

  2. oracle expdp和impdp使用例子

    情景: 由于生产需求,需要把rmtel用户的数据完全复制一份给rmtel_xzy,但排除rmtel用户 ('CAB_JJXPORT_TAB','T_SERVICEXX','TB_CROSSCONNEC ...

  3. Ibatis调用存储过程实现增删改以及分页查询

    1.Ibatis实现增删改操作很简单了,通常我是将某一模块的增删改功能写在一个存储过程里,通过一个标识符去区分执行增加还是修改抑或删除操作. statement: <!-- 存储过程:实现学生的 ...

  4. File 操纵目录

    mkdir()   创建目录 不可及联创建    即父路径中一旦有不存在文件夹  即创建失败 mkdirs() 创建目录,及联创建 list() 列出目录内所包含的文件名(string) listFi ...

  5. Python调用C库

    Python调用C库 Python可以利用ctypes库很方便地调用C的库函数. C库例程: # file: a.c int sum(int a, int b){   int t = 0;   int ...

  6. 数学之路-python计算实战(15)-机器视觉-滤波去噪(归一化块滤波)

    # -*- coding: utf-8 -*- #code:myhaspl@myhaspl.com #归一化块滤波 import cv2 import numpy as np fn="tes ...

  7. PS 滤镜算法原理 ——马赛克

    % method : 利用邻域的随意一点取代当前邻域全部像素点 %%%% mosaic clc; clear all; addpath('E:\PhotoShop Algortihm\Image Pr ...

  8. c语言,volatile

          一.意义: 该关键字的意义就是表示定义的变量值随时都会改变,必须从变量的地址处读取值,所以只有这个变量在使用过程中可能被改变(比如中断程序),就需要用这个关键字说明. )volatile, ...

  9. perl encode_json 会产生 UTF-8 (binary) string decode_json 需要一个 UTF-8 (binary) string

    encode_json $json_text = encode_json $perl_scalar Converts the given Perl data structure to a UTF-8 ...

  10. 关于Get和Post

    get和post 简介: Get和post是表单提交数据的两种基本方式,get请求数据通过域名后缀url传送,用户可见,不安全,post请求数据通过在请求报文正文里传输,相对比较安全. get是通过u ...