在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用API函數完成Windows顏色漸變

用API函數完成Windows顏色漸變

更新時間:2022-05-06 文章作者:未知 信息來源:網絡 閱讀次數:

文/方建文

  用API函數實現顏色漸變

  方建文

  顏色漸變在Windows應用程序中應用廣泛,最典型的是窗口標體的背景色及Windows安裝窗口的背景色等。本文就這種顏色漸變的實現,提供API函數的實現方法。

  
  在Windows 98或Windows NT 5.0及更高版本中提供了一個新的API函數來實現漸變顏色的填充,這個函數就是GradientFill。這個函數不僅能實現方形的填充,還能實現三角形的填充,所以這種方法更有效率。API聲明如下:

  Public Declare Function GradientFillTriangle Lib "msimg32" Alias "GradientFill" (ByVal hDC As Long, pVertex As TRIVERTEX, ByVal dwNumVertex As Long, pMesh As GRADIENT_TRIANGLE, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long

  Public Declare Function GradientFillRect Lib "msimg32" Alias "GradientFill" (ByVal hDC As Long, pVertex As TRIVERTEX, ByVal dwNumVertex As Long, pMesh As GRADIENT_RECT, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long

  其中GradientFillTriangle用于三角形的填充,GradientFillRect用于矩形填充。hDC是表示要填充對象的窗口句柄;pVertex常常是一個數組,用來存放各頂點的位置及顏色信息,頂點在TRIVERTEX中定義;dwNumVertex表示頂點的個數;pMesh也常常是一個數組結構,表示組成圖形的各頂點順序,表示一個矩形用兩個頂點,三角形要用三個頂點;dwNumMesh表示矩形或三角形的個數;dwMode表示填充的模式:水平填充,垂直填充,三角形填充。以下是示例程序:

  在這個示例里您可以任意選擇兩種顏色,然后用兩種顏色對一個Picture1進行漸變的填充。

  包含的部件

  Form1—AutoRedraw:True

  Picture1---Align:1—Align Top

  Frame1----Caption:漸變模式

  Option1—Caption:由上到下

  Value:True

  Option2---Caption:由左到右

  Label1(0)---Caption:顏色1

  Command1(0)—Style:1—Graphical

  Label1(1)---Caption:顏色2

  Command1(1)—Style:1—Graphical

  CommonDialog1--(Microsoft CommonDialog Control6.0)用于選擇顏色

  Command2----Caption:填充

  代碼模塊Module1中的代碼

  Option Explicit

  Public Const GRADIENT_FILL_RECT_H = &&H0

  Public Const GRADIENT_FILL_RECT_V = &&H1

  Public Const GRADIENT_FILL_TRIANGLE = &&H2‘以上為三種填充模式

  Public Type GRADIENT_TRIANGLE

  Vertex1 As Long

  Vertex2 As Long

  Vertex3 As Long

  End Type

  Public Type GRADIENT_RECT

  UpperLeft As Long

  LowerRight As Long

  End Type

  Public Type TRIVERTEX‘頂點類型

  x As Long

  y As Long

  Red As Integer

  Green As Integer

  Blue As Integer

  Alpha As Integer

  End Type

  Public Declare Function GradientFillTriangle Lib "msimg32" Alias "GradientFill" (ByVal hDC As Long, pVertex As TRIVERTEX, ByVal dwNumVertex As Long, pMesh As GRADIENT_TRIANGLE, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long

  Public Declare Function GradientFillRect Lib "msimg32" Alias "GradientFill" (ByVal hDC As Long, pVertex As TRIVERTEX, ByVal dwNumVertex As Long, pMesh As GRADIENT_RECT, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long

  Public Function UIntToInt(UInt As Long) As Integer‘類型轉換

  If UInt<&&H7FFF Then

  UIntToInt = CInt(UInt)

  Else

  UIntToInt = CInt(UInt - &&H10000)

  End If

  End Function

  Public Function Color16(Clr As Byte) As Integer

  Color16 = UIntToInt(Clr&&H100&&)

  End Function

  窗體模塊代碼

  Private Sub Command1_Click(Index As Integer)

  CommonDialog1.CancelError = True

  On Error GoTo ErrHandler

  CommonDialog1.Flags = cdlCCRGBInit

  CommonDialog1.ShowColor‘打開顏色選擇對話框

  Command1(Index).BackColor=CommonDialog1.Color

  Exit Sub

  ErrHandler:

  End Sub

  Private Sub Command2_Click()

  Dim rect(0 To 1) As TRIVERTEX

  Dim prect As GRADIENT_RECT

  With rect(0)

  .x = 0

  .y = 0

  RGBToColor16 Command1(0).BackColor,

  .Red, .Green, .Blue

  End With

  With rect(1)

  .x = Picture1.ScaleWidth

  .y = Picture1.ScaleHeight

  RGBToColor16 Command1(1).BackColor,

  .Red, .Green, .Blue

  End With

  prect.UpperLeft = 0

  prect.LowerRight = 1

  If Option1.Value Then

  GradientFillRect Picture1.hDC, rect(0), 2, prect, 1, GRADIENT_FILL_RECT_V‘豎直填充

  Else

  GradientFillRect Picture1.hDC, rect(0), 2, prect, 1, GRADIENT_FILL_RECT_H‘水平填充

  End If

  End Sub

  Private Function RGBToColor16(RGBColor As Long, ColorRed As Integer, ColorGreen As Integer, ColorBlue As Integer) As Integer

  '類型轉換

  ColorRed = Color16(RGBColor Mod &&H100)

  ColorGreen = Color16(RGBColor \ &&H100 Mod &&H100)

  ColorBlue = Color16((RGBColor \ &&H10000) Mod &&H100)

  End Function

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 强开小嫩苞一区二区三区网站 | 黄色网zhan| 秋霞无码一区二区| 欧美 国产 精品| 五月丁香综合缴情六月小说| 日本a级片在线观看| 久久精品在线免费视频| 大桥未久一区二区三区| 国产内射老熟女aaaa| 国产1区2区3区中文字幕| 黄黄视频在线观看| 欧美又粗又长又爽做受| 国产妇女馒头高清泬20p多| 你真棒插曲来救救我在线观看| 丁香六月激情网| 九九九九免费视频| 亚洲欧美激情网| 亚洲高清视频免费| 女人被男人躁得好爽免费视频| 奇米精品一区二区三区| 三年中国国语在线播放免费| 亚洲日本黄色片| 97在线免费视频观看| 国产三区在线视频| 欧美精品 - 色网| 欧美精品一区二区三区三州| 日韩在线第三页| 国产福利片一区二区| 国产亚洲欧美在线视频| 一二三av在线| 精品久久久久av| 特级西西人体www高清大胆| 黄色国产一级视频| 日日干日日操日日射| 国产资源在线视频| 亚洲综合在线一区二区| 92看片淫黄大片一级| 国产精品夜夜夜爽张柏芝| 欧美日韩在线不卡视频| 欧美日韩午夜爽爽| 国内国产精品天干天干| 日韩小视频在线播放| 久久久成人精品一区二区三区| 日韩免费毛片视频| 阿v天堂2018| ijzzijzzij亚洲大全| 精品日韩久久久| 精品欧美一区免费观看α√| 国产一区二区三区播放| 久久6免费视频| 亚洲欧美视频二区| 97公开免费视频| av黄色在线网站| 热99这里只有精品| 日本人妻伦在线中文字幕| 污污的视频免费观看| 四季av一区二区| 男人操女人免费| 91九色在线观看视频| 国产一区二区三区小说| 女人帮男人橹视频播放| 欧美 亚洲 视频| 黄色一级片国产| 无码熟妇人妻av在线电影| 成年在线观看视频| 黄色激情在线视频| www.av毛片| 蜜臀av无码一区二区三区| 国产资源在线免费观看| 日本男女交配视频| 黄色一级视频在线播放| 黄网站欧美内射| 欧美成人精品欧美一级乱| 黄色一级二级三级| www.国产福利| 色一情一乱一乱一区91| 欧美视频在线观看网站| 97成人在线观看视频| 日本a√在线观看| 青春草在线视频免费观看| 成年丰满熟妇午夜免费视频 | 69堂免费视频| 国内自拍视频一区| 亚洲一级片免费观看| 国产一级不卡视频| 欧美日韩大尺度| 91网址在线观看精品| 人人妻人人澡人人爽欧美一区| 黄色三级中文字幕| 成年人视频网站免费观看| 天天干天天干天天干天天干天天干| 8x8x成人免费视频| 精品人妻少妇一区二区| 午夜激情av在线| 亚洲乱码日产精品bd在线观看| 丰满少妇被猛烈进入高清播放| 国产女女做受ⅹxx高潮| www.黄色网址.com| 日本免费不卡一区二区| 亚洲第一区第二区第三区| 阿v天堂2017| 日韩中文字幕亚洲精品欧美| 最近免费中文字幕中文高清百度| 青少年xxxxx性开放hg| 丝袜老师办公室里做好紧好爽| 久久综合在线观看| 国产一级不卡毛片| 免费看一级大黄情大片| 1314成人网| www.精品在线| 97xxxxx| 男人天堂网站在线| aaaaaaaa毛片| 日韩av.com| 中文字幕网av| 91视频免费版污| av网站在线观看不卡| 搞av.com| 妞干网在线观看视频| 浴室偷拍美女洗澡456在线| 国产无色aaa| 久久婷五月综合| 欧美两根一起进3p做受视频| 欧美午夜性视频| 蜜臀av色欲a片无码精品一区| 亚洲一级片免费观看| 亚洲一区二区三区四区精品| 亚洲三级视频网站| jizz欧美激情18| 久久久国产欧美| 中文字幕免费高清在线| 久久国产精品国产精品| 色婷婷狠狠18| 亚洲天堂网2018| 天天干天天曰天天操| 亚洲天堂av免费在线观看| 国产不卡的av| 久久久99精品视频| 欧美激情 国产精品| 成人免费播放器| 四虎永久在线精品无码视频| 青青草原成人网| 国产真人无码作爱视频免费| 91香蕉视频污版| 青青草原播放器| 日韩国产小视频| 国产二区视频在线播放| 亚洲欧美日韩一级| 99精品视频网站| a级黄色小视频| 亚洲国产精品三区| 女人床在线观看| 丝袜老师办公室里做好紧好爽| 国产精品视频黄色| 中文字幕55页| 日韩精品―中文字幕| 国产精品拍拍拍| 91视频成人免费| 女性隐私黄www网站视频| 岛国av免费在线| 日本精品久久久久久久久久| 任你操这里只有精品| 天天爱天天做天天操| 午夜精品久久久内射近拍高清| 992kp免费看片| 成人综合视频在线| 蜜臀av.com| 免费看黄色一级大片| 国产日韩欧美大片| 亚洲高清免费在线观看| 国产精品又粗又长| 五月天六月丁香| 999在线免费视频| 精品国偷自产一区二区三区| 欧美成人黄色网址| 久久久999视频| 国产aaa免费视频| 欧美性猛交xxxx乱大交91| 成年人视频网站免费观看| 奇米777四色影视在线看| 九九热99视频| 亚洲爆乳无码专区| 91视频 -- 69xx| 奇米影视亚洲色图| 精品无码一区二区三区爱欲| 欧美日韩在线免费观看视频| 天天干天天操天天玩| 成熟老妇女视频| 日日摸日日碰夜夜爽av| 久操网在线观看| 亚洲熟妇无码av在线播放| 国产又粗又大又爽的视频| 毛片毛片毛片毛| av在线免费看片| 热久久久久久久久| 久久久久久久久久毛片| www午夜视频| 成年人黄色在线观看| www.久久com| 美女黄色免费看|