http://www.tongyi.net 作者:薛寧 出處:中國電腦教育報 點擊:324
迄今為止,我們用VB編制的程序窗口大都是標準的四方形,看上去很沒有個性。如果你想讓你的程序與眾不同的話,可以利用以下幾個API函數來創建不規則窗口:
CreateRectRgn(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) '創建一個矩形區域,四個參數分別代表左、上、右、下的坐標;
CreateEllipticRgn(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) '創建一個橢圓形區域,參數同上;
CreatePolygonRgn(pPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) '創建一個多邊形區域,pPoint參數為一個POINTAPI型數組,nCount參數說明頂點數,nPolyFillMode參數為填充模式;
CombineRgn(ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) '合并兩個區域,hDestRgn是合并后的區域,hSrcRgn1和hSrcRgn2是欲合并的目標區域,nCombineMode為合并方式;
SetWindowRgn((ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) '設置窗體為指定樣式,hRgn為上述幾個函數創建的區域,bRedraw決定是否立即重畫窗體。
有了這些“神兵利器”,我們就可以隨心所欲地制作出各式各樣的窗體。示范程序如下:
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Sun Form_load()
Dim x,y As Long
x=CreateEllipticRgn(0,0,100,200)
y=SetWindowRgn(Me.hwnd,x,True)
End Sub
以上程序可以創建一個橢圓形窗體,并在VB6.0,Win 98環境下調試通過。有興趣的朋友可以參考以上的API函數以及示范程序編寫其它幾種不規則窗口。
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月