在线看毛片视频-国产免费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>
  • 激情图片中文字幕| 一级特黄性色生活片| 波多野结衣天堂| 夜夜添无码一区二区三区| 亚洲一区二区三区观看| 国产精品少妇在线视频| www在线观看免费| 男女裸体影院高潮| 91亚洲一区二区| 亚洲少妇第一页| 91免费黄视频| 成人免费视频91| 亚洲男人天堂2021| 杨幂毛片午夜性生毛片| 久久综合色视频| www.亚洲成人网| 国产欧美激情视频| 一级特黄性色生活片| 亚洲人成无码网站久久99热国产 | 99热这里只有精品免费| 亚洲精品无码国产| 香蕉视频xxxx| 久久6免费视频| 午夜久久福利视频| 国产一区视频免费观看| 青青草成人免费在线视频| 欧美一级特黄aaaaaa在线看片| 亚洲一级免费观看| 国产精品亚洲a| 麻豆av免费在线| 成人午夜视频免费在线观看| 美女黄色免费看| 欧妇女乱妇女乱视频| 国产乱人伦精品一区二区三区| 一区二区三区四区免费观看| 四虎成人在线播放| 久久久精品视频国产| 久久精品一卡二卡| 一区二区三区国产好的精华液| 亚洲免费av一区二区三区| 男女曰b免费视频| 国模杨依粉嫩蝴蝶150p| 日本美女高潮视频| 国产无色aaa| 韩国黄色一级大片| 波多野结衣av一区二区全免费观看| 在线无限看免费粉色视频| 四虎成人在线播放| www.激情网| 男人靠女人免费视频网站| 能在线观看的av网站| 污视频网站观看| 无套内谢丰满少妇中文字幕| 法国空姐在线观看免费| 成人精品视频在线播放| 日韩欧美国产综合在线| 老司机午夜av| 97超碰人人看| 玩弄中年熟妇正在播放| 免费看a级黄色片| 天堂中文av在线| av日韩在线看| 久久婷婷国产91天堂综合精品| 国产99久久九九精品无码| 国产淫片免费看| 日本不卡在线观看视频| 无码无遮挡又大又爽又黄的视频| 九九九九免费视频| 99热在线这里只有精品| 99热这里只有精品在线播放| 黄色影视在线观看| 777av视频| 日本中文字幕影院| 黄网站欧美内射| 日本免费色视频| 玩弄中年熟妇正在播放| 午夜福利123| 男人操女人免费软件| 国产91av视频在线观看| 秋霞无码一区二区| 久久久国产精华液999999 | 美女网站免费观看视频| 神马午夜伦理影院| 亚洲 欧美 日韩系列| 免费看欧美黑人毛片| 性猛交ⅹ×××乱大交| 激情小视频网站| 一级一片免费播放| 国产精品乱码久久久久| 国产曰肥老太婆无遮挡| 91香蕉视频免费看| 亚洲综合欧美激情| 国产午夜福利100集发布| 国产又粗又爽又黄的视频| 一区二区三区视频在线观看免费| 久久福利一区二区| 五月天综合婷婷| 蜜臀一区二区三区精品免费视频 | 青青草原播放器| 黄大色黄女片18第一次| 99热成人精品热久久66| av片在线免费| 伊人五月天婷婷| 国内自拍视频网| 国产成人a亚洲精v品无码| 国产专区在线视频| 黑人巨大国产9丨视频| 九九九九九国产| 欧美在线aaa| 国产高潮免费视频| 午夜dv内射一区二区| 欧美成人黑人猛交| 日韩精品一区二区三区色欲av| 日本a在线免费观看| 成人午夜视频在线观看免费| www.69av| 国产911在线观看| a级网站在线观看| 最新中文字幕久久| 裸体裸乳免费看| 超碰超碰超碰超碰超碰| 国产精品videossex国产高清| 欧美精品在欧美一区二区| 成人免费在线视频播放| 久艹在线免费观看| 国产中文字幕免费观看| 精品久久久久久久免费人妻| 日韩欧美精品免费| 青青草精品视频在线| 久久婷婷国产精品| 黄色免费视频大全| mm1313亚洲国产精品无码试看| 天天影视综合色| 久久精品国产露脸对白| 亚洲天堂av免费在线观看| 黄黄视频在线观看| 奇米精品一区二区三区| 手机看片福利盒子久久| 波多野结衣免费观看| 精品人妻人人做人人爽| 99999精品视频| 性生活免费在线观看| 亚洲日本黄色片| 999久久欧美人妻一区二区| 成人观看免费完整观看| 亚洲第一区第二区第三区| 免费高清一区二区三区| 手机看片福利盒子久久| 国产又黄又猛视频| 午夜啪啪小视频| 国内少妇毛片视频| 五月婷婷丁香综合网| 水蜜桃在线免费观看| 成人久久久久久久久| 中文字幕1234区| 久久久久久久久久久99| 色一情一区二区| 久久男人资源站| 亚洲精品自拍网| 成年人看的毛片| 天天操天天干天天做| 日韩国产欧美亚洲| 日本美女视频一区| 日本十八禁视频无遮挡| 手机精品视频在线| 成年人免费大片| 久久久久久久久久伊人| 国产精品视频中文字幕| 91午夜在线观看| 992kp免费看片| 亚洲 中文字幕 日韩 无码| 国内少妇毛片视频| 欧美在线a视频| 97公开免费视频| 国产精品国产亚洲精品看不卡| 伊人免费视频二| 国产福利影院在线观看| 人妻少妇精品无码专区二区 | 国产树林野战在线播放| 三上悠亚在线一区二区| 国产特级淫片高清视频| 精品一区二区三区毛片| 九一精品久久久| 一区二区三区 欧美| 69堂免费视频| 妺妺窝人体色777777| 欧洲精品视频在线| 婷婷激情5月天| 色www免费视频| 蜜臀av免费观看| 久久久精品三级| 免费国产成人av| 久久久久免费精品| 97在线免费公开视频| 欧美二区在线视频| 精品少妇在线视频| 欧美久久久久久久久久久久久| 日本免费a视频| www.xxx麻豆| 97超碰免费观看|