韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

為您的應(yīng)用程序創(chuàng)建投影式立體窗口(陰影)

為您的應(yīng)用程序創(chuàng)建投影式立體窗口(陰影)

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

為您的應(yīng)用程序建立投影式立體窗口(陰影)

--------------------------------------------------------------------------------

  一打開WINDOWS,看著四四方方立在桌面上的應(yīng)用程序窗口,您是否有些厭倦?別心煩,在WINDOW世界里,只要您能為之"心動(dòng)",生活總是美麗而又精彩的。因而許許多多愛好"多樣"的CFAN,便為自己的窗口做成了"透明的"、"不規(guī)則的"等樣式。筆者也心血來潮,將自己的窗口做成了"投影式立體窗口",見下圖1:
  怎么樣?Cool吧!

  其實(shí),制作這樣的立體窗口不是非常難,其原理是這樣的(設(shè)要為hWnd窗口做個(gè)立體):1、獲取hWnd在屏幕上的位置(GetWindowRect),根據(jù)其位置為其建立三個(gè)投影窗口,分別命名LeftForm-左邊投影,DownForm-下面投影,RdForm-右下角投影;2、獲取三個(gè)投影窗口在屏幕上的位置信息,根據(jù)黑色漸變?cè)恚瑢⑵鋵懭肴齻(gè)投影窗口中。注意:不能直接將其投影信息寫入屏幕DC中,否則的話,桌面將會(huì)被您繪的一踏糊涂。另外:窗口在移動(dòng)、改變大小時(shí),均應(yīng)該重新繪制投影信息。這個(gè)在VB中不是非常容易做得到,因此我們需要為其增加一個(gè)Timer控件,在Timer事件監(jiān)視這一系列的動(dòng)作。

  好了,下面我們開始動(dòng)手做做這種效果:

  1、啟動(dòng)VB6.0,建立一個(gè)新的標(biāo)準(zhǔn)exe工程文件,將啟動(dòng)主窗口FormName命名為"MainForm",并將ScaleMode設(shè)置為3,另外再新添建三個(gè)窗口,分別命名為"LeftForm","DownForm","RdForm",并且將其"BorderStyle"設(shè)置為"0-None",將各自的GotFocus事件中寫入如下代碼:

  MainForm.setfocus

  2、新建一個(gè)模塊API.bas(可以用"外接程序"中的"API瀏覽器"),插入如下代碼:



Public Const SRCCOPY = &HCC0020

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Public Declare Function SelectObject Lib "gdi32" (
ByVal hdc As Long,
ByVal hObject As Long) As Long

Public Declare Function BitBlt Lib "gdi32" (
ByVal hDestDC As Long,
ByVal x As Long,
ByVal y As Long,
ByVal nWidth As Long,
ByVal nHeight As Long,
ByVal hSrcDC As Long,
ByVal xSrc As Long,
ByVal ySrc As Long,
ByVal dwRop As Long) As Long

Public Declare Function SetPixel Lib "gdi32" (
ByVal hdc As Long,
ByVal x As Long,
ByVal y As Long,
ByVal crColor As Long) As Long

Public Declare Function GetPixel Lib "gdi32" (
ByVal hdc As Long,
ByVal x As Long,
ByVal y As Long) As Long

Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long

Public Declare Function CreateCompatibleBitmap Lib "gdi32" (
ByVal hdc As Long,
ByVal nWidth As Long,
ByVal nHeight As Long) As Long

Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Public Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Public Declare Function GetWindowRect Lib "user32" (
ByVal hwnd As Long,
lpRect As RECT) As Long

'取色彩中的Red的值
Public Function GetRed(ByVal n As Long) As Integer
GetRed = n Mod 256&
End Function

'取色彩中的Green的值
Public Function GetGreen(ByVal n As Long) As Integer
GetGreen = (n \ 256&) Mod 256&
End Function

'取色彩中的Blue的值
Public Function GetBlue(ByVal n As Long) As Integer
GetBlue = n \ 65536
End Function

'獲取漸變色彩值
'入口參數(shù):SrcColor 原色彩
' Steps 步驟數(shù)
' CurStep 當(dāng)前的步子
' DstColor 目標(biāo)色彩
'返回值:當(dāng)月前的色彩值
Public Function GetTrienColor(ByVal scrColor As Long,
ByVal dstColor As Long, ByVal Steps As Integer,
ByVal curStep As Integer) As Long
Dim sR, sG, sB, dR, dG, dB As Integer
sR = GetRed(scrColor)
sG = GetGreen(scrColor)
sB = GetBlue(scrColor)
dR = GetRed(dstColor)
dG = GetGreen(dstColor)
dB = GetBlue(dstColor)
sR = sR + curStep * (dR - sR) / Steps
sG = sG + curStep * (dG - sG) / Steps
sB = sB + curStep * (dB - sB) / Steps
GetTrienColor = RGB(sR, sG, sB)
End Function

  其工程文件結(jié)構(gòu)如圖2:
  圖2
  3、將MainForm窗體設(shè)計(jì)成如圖3,且將窗體Code中加入如下代碼:

Option Explicit
Dim ShowdawDepth As Integer
Dim WinX, WinY, WinW, WinH, wx, wy, xw, xh As Long
Dim ShowdawColor As Long

Private Sub GetWandH()
Dim r As RECT
wy = MainForm.Top
wx = MainForm.Left
Call GetWindowRect(MainForm.hwnd, r) '獲取當(dāng)前窗口在屏幕上的位置
WinX = r.Left
WinY = r.Top
WinH = r.Bottom - r.Top + 1
WinW = r.Right - r.Left + 1
'重新調(diào)整左邊投影的位置
LeftForm.Left = CLng(ScaleX(r.Right, 3, 1) + 0.5)
LeftForm.Top = CLng(ScaleY(r.Top, 3, 1) + 0.5)
LeftForm.Width = xw
LeftForm.Height = CLng(ScaleY(WinH, 3, 1) + 0.5)
'重新調(diào)整下邊投影的位置
DownForm.Width = CLng(ScaleX(WinW, 3, 1) + 0.5)
DownForm.Height = xh
DownForm.Top = CLng(ScaleY(r.Bottom, 3, 1) + 0.5)
DownForm.Left = CLng(ScaleX(r.Left, 3, 1) + 0.5)
'重新調(diào)整右下角邊投影的位置
RdForm.Top = CLng(ScaleY(r.Bottom, 3, 1) + 0.5)
RdForm.Left = CLng(ScaleX(r.Right, 3, 1) + 0.5)
RdForm.Width = xw
RdForm.Height = xh
End Sub

Private Sub Command1_Click()
Unload MainForm
End Sub

Private Sub Form_Load()
ShowdawDepth = 10
xh = CLng(ScaleY(ShowdawDepth, 3, 1) + 0.5)
xw = CLng(ScaleX(ShowdawDepth, 3, 1) + 0.5)
ShowdawColor = 0
Timer1.Interval = 100
dlg.CancelError = True
labColor.BorderStyle = 1
labColor.BackStyle = 1
labColor.BackColor = ShowdawColor
End Sub

Private Sub Paint() '窗口繪制
Dim hScreenDc, hMemLeftDc, hMemDownDc, hMemRdDc, x, y As Long
Dim hMemLeftBit, hMemDownBit, hMemRdBit, curColor, srcColor As Long
LeftForm.Visible = False
DoEvents
DownForm.Visible = False
DoEvents
RdForm.Visible = False
DoEvents
hScreenDc = GetDC(0) '獲取桌面DC
hMemLeftDc = CreateCompatibleDC(hScreenDc)
hMemLeftBit = CreateCompatibleBitmap(hScreenDc, ShowdawDepth, WinH)
SelectObject hMemLeftDc, hMemLeftBit
hMemDownDc = CreateCompatibleDC(hScreenDc)
hMemDownBit = CreateCompatibleBitmap(hScreenDc, WinW, ShowdawDepth)
SelectObject hMemDownDc, hMemDownBit
hMemRdDc = CreateCompatibleDC(hScreenDc)
hMemRdBit = CreateCompatibleBitmap(hScreenDc, ShowdawDepth, ShowdawDepth)
SelectObject hMemRdDc, hMemRdBit
For y = 0 To WinH - 1
For x = 0 To ShowdawDepth - 1 '左邊的投影
srcColor = GetPixel(hScreenDc, WinW + WinX + x, WinY + y)
If srcColor <> -1 Then
If y < ShowdawDepth And x < y Or y >= ShowdawDepth Then
curColor = GetTrienColor(ShowdawColor, srcColor, ShowdawDepth, x)
Else
curColor = srcColor
End If
SetPixel hMemLeftDc, x, y, curColor
End If
Next x
Next y
For y = 0 To ShowdawDepth - 1 '右下角的投影
For x = 0 To ShowdawDepth - 1
srcColor = GetPixel(hScreenDc, WinW + WinX + x, WinY + WinH + y)
If srcColor <> -1 Then
If x <= y Then
curColor = GetTrienColor(ShowdawColor, srcColor, ShowdawDepth, y)
Else
curColor = GetTrienColor(ShowdawColor, srcColor, ShowdawDepth, x)
End If
SetPixel hMemRdDc, x, y, curColor
End If
Next x
Next y
For y = 0 To ShowdawDepth - 1
For x = 0 To WinW - 1
srcColor = GetPixel(hScreenDc, WinX + x, WinY + WinH + y)
If srcColor <> -1 Then
If y < ShowdawDepth And x >= y Or x >= ShowdawDepth Then
curColor = GetTrienColor(ShowdawColor, srcColor, ShowdawDepth, y)
Else
curColor = srcColor
End If
SetPixel hMemDownDc, x, y, curColor
End If
Next x
Next y
LeftForm.Visible = True
DoEvents
Call BitBlt(LeftForm.hdc, 0, 0, ShowdawDepth, WinH, hMemLeftDc, 0, 0, SRCCOPY)
DownForm.Visible = True
DoEvents
Call BitBlt(DownForm.hdc, 0, 0, WinW, ShowdawDepth, hMemDownDc, 0, 0, SRCCOPY)
RdForm.Visible = True
DoEvents
Call BitBlt(RdForm.hdc, 0, 0, ShowdawDepth, ShowdawDepth, hMemRdDc, 0, 0, SRCCOPY)
DeleteDC hMemLeftDc
DeleteDC hMemDownDc
DeleteDC hScreenDc
DeleteDC hMemRdDc
DeleteObject hMemLeftBit
DeleteObject hMemRdBit
DeleteObject hMemDownBit
End Sub

Private Sub Form_Resize()
If MainForm.WindowState = vbNormal Then '窗口在正常狀態(tài)下才顯示立體投影
If MainForm.Height < 2 * xh Then MainForm.Height = 2 * xh
If MainForm.Width < 2 * xw Then MainForm.Width = 2 * xw
Call GetWandH
Call Paint
Else
wx = -1
LeftForm.Visible = False
DownForm.Visible = False
RdForm.Visible = False
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Unload LeftForm
Unload DownForm
Unload RdForm
End Sub

Private Sub labColor_Click()
On Error GoTo exitLabColor
dlg.ShowColor
ShowdawColor = dlg.Color
labColor.BackColor = ShowdawColor
Call Paint
exitLabColor:
End Sub

Private Sub Timer1_Timer()
If MainForm.WindowState = vbNormal And (MainForm.Left <> wx Or MainForm.Top <> wy) Then
Call GetWandH
Call Paint
End If
End Sub

Private Sub Form_Paint()
Call GetWandH
Call Paint
End Sub

Private Sub UpDown_Change()
ShowdawDepth = UpDown.Max + UpDown.Min - UpDown.Value
ShowSize.Text = ShowdawDepth
xh = CLng(ScaleY(ShowdawDepth, 3, 1) + 0.5)
xw = CLng(ScaleX(ShowdawDepth, 3, 1) + 0.5)
Call GetWandH
Call Paint
End Sub

  此至,您可以按下Play,看看您親手做的這種投影效果。注意:以上的投影大小不能太大,否則速度會(huì)變慢。(2000年2月14日完稿,本文發(fā)表于《電腦編程技術(shù)與維護(hù)》2000年第7期,Word版文檔下載地址為:http://www.i0713.net/Download/Prog/Dragon/Doc/Showdaw.doc,

源程序下載地址:htttp://www.i0713.net/Download/Prog/Dragon/Prog/Showdaw.zip

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

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
天天综合在线观看| 日本韩国福利视频| 人妻无码中文久久久久专区| 亚洲国产精品免费视频| 国模大尺度一区二区三区| 天堂成人免费av电影一区| 成年人视频免费在线播放| 天堂在线观看视频观看www| 涩涩视频免费观看| 黄色漫画在线免费观看| 激情久久婷婷| www.毛片.com| 在线视频1区2区| 国产一级免费大片| 欧美国产在线观看| 91亚洲va在线va天堂va国| 国产成人a亚洲精v品无码| 可以在线看的av网站| 一区二区三区自拍视频| 国模套图日韩精品一区二区| 亚洲综合激情另类专区老铁性| 精品国产高清a毛片无毒不卡| 99久久精品国产一区二区成人| 国产毛片一区二区三区va在线| xxxxwww一片| 四虎成人在线| 亚洲在线中文字幕| 麻豆av在线| 亚洲激情另类| 下面一进一出好爽视频| 天天射夜夜爽| 国产精品视频入口| 欧美一级免费在线观看| 幼a在线观看| 国产自产2019最新不卡| 日本精品一级二级| 亚洲第一第二区| 夜色福利资源站www国产在线视频| 日韩精品国产欧美| 青青在线观看视频中文字| 久久国产精品影院| 欧美亚洲国产一区二区三区va| 国产精品福利无圣光在线一区| 日韩视频一区二区三区| 强开小嫩苞一区二区三区网站| 国产一区二区三区在线视频| 777片理伦片在线观看| 国产视频精品xxxx| 国产麻花豆剧传媒精品mv在线| 日韩免费高清视频网站| 日韩亚洲综合在线| 成人午夜免费影院| 亚洲的天堂在线中文字幕| 精品久久久久久久久久久久久久久久久| 欧美家庭影院| 好吊成人免视频| 国产激情偷乱视频一区二区三区| 免费国产一区二区| 青青青免费在线| 日韩在线视频导航| 18成人免费观看视频| 国产大学生校花援交在线播放| 黄色精品免费看| 一本色道久久精品| 99免费精品在线观看| 亚洲国产成人在线| 久久综合免费视频| 久久成人av网站| 亚洲精品**不卡在线播he| 国产一区二区三区天码| 色妞一区二区三区| 亚洲3atv精品一区二区三区| 成人18夜夜网深夜福利网| 羞羞的视频在线| 9797在线看片亚洲精品| 51ⅴ精品国产91久久久久久| 亚洲人成影院在线| 成人网18免费网站在线| 亚洲欧美中文字幕| 免费av片在线观看一道本| 亚洲一区在线播放| 欧美成熟毛茸茸| 国产亚洲一区二区在线观看| 日韩免费视频| 国产亚洲精品女人久久久久久| 91po在线观看91精品国产性色| 友田真希在线| 91麻豆6部合集magnet| 九九国产精品视频| xxxcom在线观看| 亚洲精品电影在线一区| 无码av中文一区二区三区桃花岛| 亚州视频一区二区三区| 日韩精品一区二区三区在线| caoporen人人| 在线观看日韩精品| 国产精品羞羞答答在线| 亚洲石原莉奈一区二区在线观看| 国产精品女人网站| 成人欧美一区二区三区的电影| 成人国产精品入口免费视频| 麻豆映画在线观看| 丝袜人妻一区二区三区| 黄色无遮挡网站| 久久一区二区三区av| 在线视频国产福利| 亚洲精品一区中文字幕乱码| 麻豆精品国产传媒mv男同| 国产理论电影在线| 中国a一片一级一片| 欧洲熟妇的性久久久久久| 3d成人h动漫网站入口| 翡翠波斯猫1977年美国| 国产伦精品免费视频| 国产精品三区四区| 完整版免费av片| 2018天天弄| 久久影视电视剧免费网站清宫辞电视| 久久精品二区亚洲w码| gai在线观看免费高清| 奇米4444一区二区三区| 亚洲乱码视频| 久久人91精品久久久久久不卡| 亚洲日韩色图| 国产成人午夜精品| 色偷偷av一区二区三区乱| 97国产一区二区| 懂色av一区二区三区| 男女网站在线观看| 亚洲 欧美 自拍偷拍| 人人爱人人干婷婷丁香亚洲| 作爱视频免费观看视频在线播放激情网| 日韩av免费播放| 青青草av专区| 黄网站app在线观看大全免费视频| 91caoporn在线| 国产亚洲一区二区三区啪| 福利网站在线观看| 免费观看国产成人| 中文av资源| 免费看黄色一级视频| 欧美综合视频| 亚洲美女尤物影院| 久久av综合| 日本妇乱大交xxxxx| 亚洲成人福利在线| 欧美日韩一级黄| 成人午夜免费在线| 色综合久久中文字幕综合网小说| 久久久久高潮毛片免费全部播放| 欧美一级片在线看| 久久婷婷国产| 最新国产中文字幕| 伊人久久综合影院| 日韩欧美成人午夜| 国产免费黄视频| 2021亚洲天堂| 激情亚洲小说| 亚洲一级毛片| 欧美精品三级日韩久久| 亚洲黄色精品视频| 在线观看av网页| 国产男男chinese网站| 日韩无码精品一区二区三区| 一日本道久久久精品国产| 久久三级视频| 五月天视频在线观看| 国产成人一区在线| 国产中文字幕乱人伦在线观看| 欧美亚洲另类视频| 欧美做受喷浆在线观看| 亚洲四区在线观看| 国产美女三级无套内谢| 午夜激情视频在线播放| 一区二区三区在线播| 国产又大又粗又长| 成人性色生活片免费看爆迷你毛片| 国产亚洲一区二区三区不卡| 国产精品欧美日韩久久| 国产精品久久精品视| 亚洲欧美乱综合图片区小说区| 午夜激情视频在线播放| 国产精品国产三级国产传播| 精品亚洲夜色av98在线观看| 中文字幕成人免费视频| 欧美人妖在线| xvideos入口| 看一级黄色录像| 日本一二三区视频在线| 成人高清一区| 日韩护士脚交太爽了| 神马欧美一区二区| 日韩精品中文字幕在线观看| 亚洲精品视频自拍| 伊人久久大香线蕉综合网站| 黄色一级片免费播放| 久草免费在线观看视频| **网站欧美大片在线观看| 欧美午夜精品理论片a级按摩| 日韩一区二区三免费高清在线观看| 欧美88av| 色欲狠狠躁天天躁无码中文字幕| 亚洲色图偷拍自拍| 国产网站欧美日韩免费精品在线观看| 在线观看色视频| 亚洲精品麻豆| 老司机在线精品视频| 欧美电影免费观看高清| 毛片av免费观看| 亚洲美女黄色| 国产乱肥老妇国产一区二| 色琪琪综合男人的天堂aⅴ视频| 在线观看亚洲a| 四虎影视免费看电影| 91精品国产91久久久久福利| 欧美极品jizzhd欧美| 91小视频在线观看| 亚洲精品美女在线观看| 久久6精品影院| 欧美极品在线观看| 国产精品毛片一区视频播| brazzers在线观看| 国产精品videossex久久发布| 免费国产一区二区| 国产乱子伦三级在线播放| 欧美1级2级| 欧美一级一区二区三区| 欧美主播一区二区三区美女| 亚洲综合在线中文字幕| 成人免费网址在线| 国产xxxx振车| 最近更新的2019中文字幕| 日本中文在线一区| 精品久久不卡| 三区在线视频| 国产偷国产偷精品高清尤物| 亚洲尤物影院| 久久av一区二区三区亚洲| 伊人久久大香线蕉综合网蜜芽| 久久久久久久九九九九| 久久久精品日韩欧美| 亚洲综合色自拍一区| 久久久久久久久久电影| 亚洲一本大道在线| 99超碰在线观看| 久久精品老司机| 亚洲国产日韩成人综合天堂| 国产自产在线视频一区| 欧美精品亚州精品| 久久久久九九九| avtt天堂资源网| 国产精品刘玥久久一区| 瑟瑟视频在线免费观看| 在线观看亚洲免费视频| 少妇极品熟妇人妻无码| av片免费观看| 成人午夜视频在线观看免费| 91精品国产综合久久婷婷香蕉| 9久re热视频在线精品| 国产精品毛片va一区二区三区| 黑人久久a级毛片免费观看| 日韩精品在线免费观看| 午夜精品福利一区二区| 中国麻豆视频| 国产a∨精品一区二区三区不卡| 最近免费中文字幕在线第一页| 奇米影视在线99精品| 精东粉嫩av免费一区二区三区| 黄色免费一级视频| 亚洲天堂手机在线| 午夜精品网站| 日韩欧美亚洲另类| 极品颜值美女露脸啪啪| 欧美一区二区三区高清视频| 日韩电影免费在线观看网站| 日韩高清欧美高清| 日韩成人中文字幕在线观看| 日韩免费电影一区二区| 男女猛烈无遮挡| 91大神福利视频| 国产成a人亚洲精v品无码| 欧美91精品久久久久国产性生爱| 浮力影院网站午夜| 色戒在线免费观看| 蜜桃视频在线观看www社区| 亚洲图片一区二区| 国产精品嫩草影院一区二区| 四虎最新网站| 欧美激情视频三区| 精品久久久影院| 亚洲视频在线播放| 日本十八禁视频无遮挡| 日韩少妇与小伙激情| 久久伊人资源站| 91亚洲国产成人精品一区二区三| 久久韩剧网电视剧| 8x福利精品第一导航| 成人嘿咻视频免费看| 激情综合网五月天| 麻豆中文字幕在线观看| 欧美精品另类| 蜜桃tv在线播放| 欧美自拍电影| 亚洲国产精品热久久| 97人妻一区二区精品视频| 国产专区中文字幕| 欧美精品videossex少妇| 欧美日韩亚洲丝袜制服| 999精品在线| 日韩av在线一区二区三区| 另类天堂视频在线观看| 国产精品国模大尺度私拍| 中文在线资源天堂| 欧美男人操女人视频| 亚洲精品日产精品乱码不卡| 免费一区二区三区视频导航| 亚洲国产综合在线看不卡| 中文字幕av一区二区三区高| 欧美另类在线视频| 国产51人人成人人人人爽色哟哟| 日韩亚洲精品在线观看| 91色琪琪电影亚洲精品久久| 欧美极品在线播放| www.91视频.com| 欧美日韩亚洲综合| 极品美妇后花庭翘臀娇吟小说| 五月婷婷在线播放| 日韩精品视频在线观看一区二区三区|