最稳的pk10计划iphone 北京pk10计划手机软件 北京pk10数字的规律 超神手机版pk10软件 pk10北京赛车9码技巧 pk10四期倍投计划表 pk10极速赛车论坛 北京赛车冠军怎样选5码 北京赛车系统下载安装 pk10教程视频 北京pk10选号公式 北京赛车pk10赚钱技巧 北京赛车怎么提升概率 pk10技巧北京快三 北京pk10大小计划
VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
當前位置:
首頁 > 編程開發 > vb >
  • vb教程之雨滴式的顯示圖片

  • 2017-09-21 16:28 來源:未知
 本范例是以一個stdPicture物件來存圖形,之後於PictureBox中以特殊效果來顯示。 因為我們想顯示的只有一個圖,所以不想多用另一個PictureBox來存原始圖,而后再畫到另一個PictureBox上,那只有用StdPicture 物件來取代PictureBox(存來源圖),但是BitBlt這個繪圖函式需來源與目的的hDc,而StdPicture物件沒有hDc,它只有一個Handle值,以本例來說,這Handle值便是圖形的hBitmap值。所以我們只好使用 MemoryDC的方式來做,產生一個MemoryDc後將BitMap圖放於其上,之後便可以使用BitBlt來繪圖了。'需求一個PictureBox( Named picture2),一個Command按鍵) 

Option Explicit 

Private 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 

Private Declare Function CreateCompatibleDC Lib "gdi32" _ 

(ByVal hdc As Long) As Long 

Private Declare Function SelectObject Lib "gdi32" _ 

(ByVal hdc As Long, ByVal hObject As Long) As Long 

Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long 

Const SRCCOPY = HCC0020 

Private Picture1 As New StdPicture 


Private Sub Command1_Click() 

Dim i As Long 

Dim j As Long 

Dim height5 As Long, width5 As Long 

Dim hMemDc As Long 


'stdPicture物件的度量單位是Himetric所以要轉換成Pixel 

height5 = ScaleY(Picture1.Height, vbHimetric, vbPixels) 

If height5 > Picture2.ScaleHeight Then 

height5 = Picture2.ScaleHeight 

End If 

width5 = ScaleX(Picture1.Width, vbHimetric, vbPixels) 

If width5 > Picture2.ScaleWidth Then 

width5 = Picture2.ScaleWidth 

End If 

'Create Memory DC 

hMemDc = CreateCompatibleDC(Picture2.hdc) 

|'將Picture1的BitMap圖指定給hMemDc 

Call SelectObject(hMemDc, Picture1.Handle) 

For i = height5 To 1 Step -1 

Call BitBlt(Picture2.hdc, 0, i, width5, 1, _ 

hMemDc, 0, i, SRCCOPY) 

For j = i - 1 To 1 Step -1 

Call BitBlt(Picture2.hdc, 0, j, width5, 1, _ 

hMemDc, 0, i, SRCCOPY) 

Next j 

Next 

Call DeleteDC(hMemDc) 

End Sub 


Private Sub Form_Load() 

Dim i As Long 

Picture2.ScaleMode = 3 '設定成Pixel的度量單位 

'設定待Display的圖 

Set Picture1 = LoadPicture("c:\windows\aaa.bmp") 

' ^^^^^^^^^^^^^^^^^^^^^^ 

' Load the picture we want to show 

End Sub 
pk10赛车冠军技巧
最稳的pk10计划iphone 北京pk10计划手机软件 北京pk10数字的规律 超神手机版pk10软件 pk10北京赛车9码技巧 pk10四期倍投计划表 pk10极速赛车论坛 北京赛车冠军怎样选5码 北京赛车系统下载安装 pk10教程视频 北京pk10选号公式 北京赛车pk10赚钱技巧 北京赛车怎么提升概率 pk10技巧北京快三 北京pk10大小计划
快新时时彩开奖表 浙江十一选五预测 城市规划赚钱不 腾讯欢乐捕鱼技巧打法 向日葵代理赚钱吗 爱玩棋牌下载到手机游戏 欧洲女子手球冠军联赛 淘宝无货源怎么做赚钱吗好做 僵尸来袭规则