国产午夜成人免费看片无遮挡_日本免费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>

        中文字幕精品一区二区精品绿巨人| 韩日精品视频一区| 五月综合激情网| 日本免费在线视频不卡一不卡二| 色又黄又爽网站www久久| 亚洲欧洲性图库| 91污片在线观看| 亚洲精品视频在线看| 欧美性大战久久久久久久蜜臀| 一区二区视频在线| 欧美日韩午夜在线视频| 久久99九九99精品| 国产精品素人视频| 欧美日韩日日骚| 日韩av午夜在线观看| 欧美va天堂va视频va在线| 成人白浆超碰人人人人| 亚洲一本大道在线| 久久精品人人做人人综合 | 水野朝阳av一区二区三区| 欧美日高清视频| 久久国产三级精品| 亚洲美女免费视频| 精品裸体舞一区二区三区| 成人短视频下载| 日本欧美一区二区三区| 国产精品美女久久久久久久| 制服丝袜亚洲网站| 99久久综合狠狠综合久久| 日本免费新一区视频| 亚洲黄色小视频| 中文字幕欧美激情一区| 日韩一区二区在线看| 91视频你懂的| 国产精品 欧美精品| 视频一区二区欧美| 亚洲综合一区二区精品导航| 日本一区二区三区在线不卡| 337p亚洲精品色噜噜| 99久久精品国产一区二区三区 | 中文字幕综合网| 日韩精品一区国产麻豆| 日本高清成人免费播放| av亚洲精华国产精华| 国产成a人无v码亚洲福利| 精油按摩中文字幕久久| 日日嗨av一区二区三区四区| 亚洲欧美日韩小说| 中文字幕乱码日本亚洲一区二区| 精品国产乱码久久久久久闺蜜| 欧美日韩高清影院| 欧美日韩视频第一区| 欧美三日本三级三级在线播放| 不卡的av网站| 91精品福利在线| 不卡电影一区二区三区| 国产精品18久久久久久久久久久久 | 国产成a人亚洲| 国模冰冰炮一区二区| 免费欧美在线视频| 美女任你摸久久| 久久精品久久精品| 狠狠网亚洲精品| 国产精品一区二区在线观看不卡| 免费观看久久久4p| 国产乱码精品一区二区三| 国产不卡视频在线播放| 成人免费观看男女羞羞视频| 波多野结衣91| 99久久精品国产导航| 在线观看不卡一区| 91精品国产综合久久福利软件| 欧美一级免费大片| 26uuu亚洲综合色| 国产婷婷色一区二区三区在线| 久久亚洲综合色| 国产女主播视频一区二区| 中文字幕色av一区二区三区| 一区二区三区四区高清精品免费观看 | 麻豆精品视频在线观看视频| 国产综合色视频| 97久久超碰国产精品| 欧洲精品在线观看| 91福利在线观看| 7777精品伊人久久久大香线蕉完整版 | 亚洲精品国产第一综合99久久| 亚洲一区二区在线播放相泽| 青青草视频一区| 丰满少妇久久久久久久| 亚洲精品一区二区三区影院 | 日韩午夜在线观看| 日本一区二区三区国色天香| 亚洲精品国产一区二区三区四区在线| 五月天婷婷综合| 国产成人夜色高潮福利影视| 欧美亚洲日本一区| 久久午夜免费电影| 一区二区三区四区在线免费观看| 久久精品国产成人一区二区三区 | 成人精品免费视频| 欧美一区二区三区日韩视频| 国产精品久久免费看| 男人的天堂久久精品| 色综合欧美在线| 久久综合久久综合久久| 亚洲国产乱码最新视频| 成人免费va视频| 欧美成人一区二区| 亚洲国产美女搞黄色| 懂色av噜噜一区二区三区av| 欧美一级片在线观看| 亚洲福利视频三区| 久久久久亚洲蜜桃| 国产成人自拍网| 亚洲成a人v欧美综合天堂| 国产午夜久久久久| 欧美男人的天堂一二区| 不卡av在线免费观看| 国产东北露脸精品视频| 韩国精品一区二区| 久久精品国产免费看久久精品| 中文字幕日韩一区二区| 国产嫩草影院久久久久| 国产日产欧美一区| 国产日本欧美一区二区| 国产三级三级三级精品8ⅰ区| 日韩欧美国产一区二区三区 | 日本欧美在线观看| 天天av天天翘天天综合网| 日本伊人色综合网| 国产传媒欧美日韩成人| 波多野洁衣一区| 欧美无人高清视频在线观看| 欧美高清你懂得| 国产日韩欧美在线一区| 国产精品对白交换视频| 亚洲成人av一区二区三区| 免费成人美女在线观看| 不卡欧美aaaaa| 91精品福利在线一区二区三区 | 美日韩一区二区| 国产精品一区二区久激情瑜伽| 不卡av在线免费观看| 日韩美女视频在线| 亚洲高清免费观看| 91免费视频网| 成人欧美一区二区三区小说| 亚洲午夜私人影院| 波多野结衣在线aⅴ中文字幕不卡| 欧美三区免费完整视频在线观看| www国产成人| 美女一区二区视频| 在线不卡a资源高清| 一区二区三区丝袜| 欧美在线免费视屏| 亚洲色图都市小说| 91网站黄www| 亚洲综合免费观看高清完整版在线| 成人午夜电影久久影院| 久久久综合网站| 国产宾馆实践打屁股91| 91麻豆精品久久久久蜜臀| 一区二区三区四区在线播放 | 视频精品一区二区| 91.xcao| 青青青伊人色综合久久| 日韩三级中文字幕| 从欧美一区二区三区| 亚洲人精品午夜| 91.com在线观看| 蜜桃av噜噜一区| 日本一区二区电影| 欧美日韩精品一区二区在线播放| 中文字幕日本不卡| 日韩欧美不卡一区| av午夜一区麻豆| 日本vs亚洲vs韩国一区三区 | 午夜视黄欧洲亚洲| 亚洲精品在线电影| 在线观看日产精品| 国内精品伊人久久久久av影院| 中文字幕精品三区| 欧美一级生活片| 成人性生交大合| 久久www免费人成看片高清| **性色生活片久久毛片| 制服丝袜日韩国产| 色一情一乱一乱一91av| 国产a精品视频| 精品一区免费av| 亚洲国产日韩一级| 亚洲精品成人精品456| 国产目拍亚洲精品99久久精品| 欧美猛男男办公室激情| 日本精品裸体写真集在线观看| 国产在线观看一区二区| 精久久久久久久久久久| 麻豆一区二区三区| 国产99一区视频免费| 国产一区二区三区久久久 |