国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

用API函數(shù)完成Windows顏色漸變

用API函數(shù)完成Windows顏色漸變

更新時(shí)間:2022-05-06 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

文/方建文

  用API函數(shù)實(shí)現(xiàn)顏色漸變

  方建文

  顏色漸變?cè)赪indows應(yīng)用程序中應(yīng)用廣泛,最典型的是窗口標(biāo)體的背景色及Windows安裝窗口的背景色等。本文就這種顏色漸變的實(shí)現(xiàn),提供API函數(shù)的實(shí)現(xiàn)方法。

  
  在Windows 98或Windows NT 5.0及更高版本中提供了一個(gè)新的API函數(shù)來(lái)實(shí)現(xiàn)漸變顏色的填充,這個(gè)函數(shù)就是GradientFill。這個(gè)函數(shù)不僅能實(shí)現(xiàn)方形的填充,還能實(shí)現(xiàn)三角形的填充,所以這種方法更有效率。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是表示要填充對(duì)象的窗口句柄;pVertex常常是一個(gè)數(shù)組,用來(lái)存放各頂點(diǎn)的位置及顏色信息,頂點(diǎn)在TRIVERTEX中定義;dwNumVertex表示頂點(diǎn)的個(gè)數(shù);pMesh也常常是一個(gè)數(shù)組結(jié)構(gòu),表示組成圖形的各頂點(diǎn)順序,表示一個(gè)矩形用兩個(gè)頂點(diǎn),三角形要用三個(gè)頂點(diǎn);dwNumMesh表示矩形或三角形的個(gè)數(shù);dwMode表示填充的模式:水平填充,垂直填充,三角形填充。以下是示例程序:

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

  包含的部件

  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‘頂點(diǎn)類(lèi)型

  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‘類(lèi)型轉(zhuǎn)換

  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‘打開(kāi)顏色選擇對(duì)話(huà)框

  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

  '類(lèi)型轉(zhuǎn)換

  ColorRed = Color16(RGBColor Mod &&H100)

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

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

  End Function

溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!

本類(lèi)教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        国产美女一区二区三区| 人人爽香蕉精品| 欧美日韩国产中文| 91精选在线观看| 国产欧美一二三区| 亚洲品质自拍视频| 美美哒免费高清在线观看视频一区二区| 美女脱光内衣内裤视频久久网站| 日韩高清不卡在线| 国产久卡久卡久卡久卡视频精品| 色悠久久久久综合欧美99| 欧美一区二区三区视频在线| 久久综合国产精品| 亚洲国产日韩在线一区模特| 久久国产三级精品| 欧美亚洲日本一区| 中文字幕高清不卡| 精品午夜一区二区三区在线观看| 色婷婷精品大在线视频| 欧美精品一区二区三区四区 | 亚洲日穴在线视频| 免费av成人在线| 在线观看国产精品网站| 国产欧美精品一区aⅴ影院| 免费在线观看日韩欧美| 色婷婷激情久久| 亚洲色图欧洲色图婷婷| 国产成人在线观看| 精品国产1区2区3区| 亚洲国产精品久久艾草纯爱| av资源网一区| 国产精品久久国产精麻豆99网站| 久久99久久精品| 日韩午夜激情免费电影| 日韩高清欧美激情| 欧美日韩亚洲综合一区二区三区| 国产精品成人免费在线| 成人午夜在线免费| 国产精品麻豆久久久| 成人妖精视频yjsp地址| 国产精品视频一二| 91麻豆国产福利在线观看| 亚洲国产精品99久久久久久久久 | 亚洲一区二区三区四区在线 | 久久99久久久欧美国产| 欧美日韩三级一区二区| 午夜av一区二区三区| 精品视频全国免费看| 日韩精品色哟哟| 日韩欧美久久一区| 国内精品自线一区二区三区视频| 久久免费偷拍视频| 成人高清视频免费观看| 亚洲欧美电影一区二区| 在线观看www91| 奇米影视一区二区三区小说| 精品成人私密视频| 成人精品gif动图一区| 中文字幕在线视频一区| 一本久道中文字幕精品亚洲嫩| 亚洲免费在线观看视频| 欧美日韩专区在线| 激情成人午夜视频| 成人免费一区二区三区在线观看| 欧美日韩免费一区二区三区| 奇米综合一区二区三区精品视频| 久久精品一区二区| 欧洲精品一区二区三区在线观看| 日日夜夜精品视频天天综合网| 精品av综合导航| 色综合久久久久综合| 秋霞午夜鲁丝一区二区老狼| 国产亚洲va综合人人澡精品 | 欧美性一二三区| 免费不卡在线视频| 亚洲女女做受ⅹxx高潮| 日韩三级中文字幕| 91视频免费播放| 精品中文字幕一区二区小辣椒| 综合激情成人伊人| 精品美女一区二区三区| 99精品国产热久久91蜜凸| 麻豆成人av在线| 一区二区高清在线| 亚洲国产精品激情在线观看| 欧美男女性生活在线直播观看| 成人av综合在线| 毛片av一区二区| 亚洲免费av观看| 久久看人人爽人人| 欧美日韩国产一级二级| 高清不卡在线观看| 极品美女销魂一区二区三区| 一区二区三区 在线观看视频| 日韩欧美一区二区久久婷婷| aaa亚洲精品一二三区| 久久精品久久99精品久久| 亚洲综合无码一区二区| xnxx国产精品| 欧美女孩性生活视频| 色婷婷国产精品久久包臀| 成人午夜在线视频| 国产传媒一区在线| 国产乱国产乱300精品| 日韩精品久久久久久| 亚洲久草在线视频| 亚洲女同女同女同女同女同69| 久久久三级国产网站| 日韩欧美国产综合在线一区二区三区| 91豆麻精品91久久久久久| 91在线国产观看| 91网站在线播放| 成人激情av网| 97久久精品人人做人人爽| 国产成人av在线影院| 国产精品系列在线观看| 国产呦精品一区二区三区网站| 人人狠狠综合久久亚洲| 日本视频免费一区| 青青草国产精品97视觉盛宴| 天堂一区二区在线| 老汉av免费一区二区三区| 麻豆国产91在线播放| 久久精品久久久精品美女| 韩国三级中文字幕hd久久精品| 久久99精品久久久久婷婷| 精品一区二区三区久久| 国产iv一区二区三区| 91色.com| 7777精品伊人久久久大香线蕉完整版| 91麻豆精品91久久久久同性| 欧美成人官网二区| 国产精品女同一区二区三区| 亚洲免费色视频| 日韩激情一区二区| 精品一区二区三区影院在线午夜| 国产精品影视网| 色婷婷综合久久久久中文一区二区 | 欧美视频日韩视频在线观看| 欧美亚洲禁片免费| 日韩一区二区三区免费观看| 精品日韩成人av| 国产精品第13页| 无码av免费一区二区三区试看| 狠狠色丁香婷综合久久| 不卡区在线中文字幕| 宅男在线国产精品| 欧美韩国日本不卡| 日本v片在线高清不卡在线观看| 国产精品夜夜嗨| 欧美性大战久久| 中文字幕不卡一区| 视频在线在亚洲| 成人精品视频网站| 日韩视频在线你懂得| 综合久久久久久久| 国产在线精品一区二区不卡了| av不卡在线观看| www日韩大片| 亚洲午夜一区二区三区| 成人动漫av在线| 欧美大片顶级少妇| 亚洲午夜在线电影| 91在线视频网址| 欧美国产精品中文字幕| 久久精品免费看| 欧美午夜精品一区二区蜜桃| 欧美激情一区三区| 精品在线播放免费| 欧美性猛交xxxx乱大交退制版| 久久久久久久久久久久久久久99 | 精品va天堂亚洲国产| 亚洲国产精品一区二区久久恐怖片 | 91精品欧美一区二区三区综合在| 国产婷婷色一区二区三区四区| 五月天网站亚洲| 91国产精品成人| 亚洲美女免费视频| av在线不卡免费看| 国产精品丝袜久久久久久app| 久99久精品视频免费观看| 欧美日韩久久一区| 亚洲最大的成人av| 91最新地址在线播放| 中文字幕日本乱码精品影院| 国产在线观看免费一区| 精品999久久久| 国产自产v一区二区三区c| 欧美一级视频精品观看| 青娱乐精品视频| 日韩欧美国产一二三区| 日韩极品在线观看| 日韩视频在线永久播放| 久久电影网电视剧免费观看| 91精品国产入口在线| 久久激情五月激情| 国产亚洲一区二区三区在线观看| 国产一区二区在线视频| 国产日产欧美一区| 99精品在线免费|