VB如何將視窗形狀做成不規則的形狀

時間 2021-10-15 00:24:22

1樓:我為人人服務隊

vb設定不規則窗體沒有易語言方便

這一段api

一、矩形窗體

這裡的矩形窗體可不是普通的矩形窗體,而是將正常窗體中任意選中的矩形區域作為窗體,當然也可以沒有邊框和標題欄。新建一模組,在模組中宣告api函式setwindowsrgn()和createrect rgn():

declare function setwindow rgn lib「user32」(byval hwnd as long,byval hrgn as long,byval bredraw as boolean)as long declare function createrect rgn lig「gdi32"(byval x1 as long,byval y1 as long,byval x2 as long,byval y2 as long)as long()

建議用api文字檢視器貼上,然後編寫form-load()事件:

private sub form-load()

setwindowsrgn hwnd,createrectrgn(50,100,500,300)true

end sub

執行即可看到出現了一矩形窗體。顯然createrect rgn()函式宣告中的x1、y1、x2、y2引數決定了選擇區域的位置及大小。注意,如果就這樣生成·exe檔案,它是不能正常關閉的,因為它沒有「關閉」按鈕。

所以應該在執行時的可視區域中新增一按鈕,在它的click()事件中寫入end即能使程式能正常退出。以下各例亦同此要求。

二、帶圓角的矩形窗體

在上例的模組中新增宣告api函式create round rectrgn():

delare function createroundrectrgn lib「gdi32」(byval x1 as long,byval y1 as long,byval x2 as long,byval y2 as long,byval x3 as long,byval y3 as long)as long

在宣告中,x1、y1、x2、y2意義同函式createrectrgn()是一樣的,而x3、y3兩個引數代表了橫向、縱向拐角處的曲率半徑。將上例的form_lod()事件改寫為:

private sub form_load()

setwindowrgn hwnd,createroundrectrgn(50,100,500,300,150,100),true

end sub

執行即可看出在矩形的四個角處已經呈現圓弧狀了。

三、橢圓窗體

在上例的模組中再新增宣告api函式createellipticrgn():

declare function createellipticrgn lib「gdi31」(byval x1 as long,byval y1 as long,byval x2 as long,byval y2 as long)as long

各引數不用多說,現舉一例如下:

private sub form-load()

setwindowrgn hwnd,createellipticrgn(50,100,500,300),true

end sub

四、任意形狀的窗體

這是最高境界了,當然也比較麻煩。在上例的模組中再新增宣告api函式createpolygonrgn():

declare function createpolygonrgn lib「gdi32」(lppoint as pointapi,byval ncount as long,byval npolyfill mode as long)as long

該函式有3個引數,其中lppoint決定了窗體的形狀,它是一個pointapi型別的變數。在此模組的最前面進行如下的型別宣告:type pointapi

x as long

y as long

end type

您也許感到奇怪,兩個(x和y)long型的儲存空間就可以儲存任意複雜的窗體開頭資訊嗎?當然不是,create polygonrgn()函式在使用lppoint引數的時候,lppoint相當於一個指標,指向一個連續儲存空間的第一個值。

2樓:天馬行空

vb實現的都是windows的標準窗體,想讓窗體變成任意形狀,是不太可能的事情。

access中如何將子視窗的控制元件資料顯示在主視窗

1 如果你只是要在主窗體的文字框中顯示子窗體的記錄,那麼你只要在這個文字框的屬性 控制元件 裡寫入 子窗體名稱 form 欄位名稱 就行了,但這樣僅顯示而已,並不會儲存這個資料到主窗體 的資料表中。2 如你要把這個資料儲存在 資料表中,你得做一個按鈕,你確定資料無誤時,就點一下按餅乾,資料就儲存了,...

如何將一個Activity設定成視窗的樣式。

第一種方法,在檔案中,可以新建如下的類似dialog的style。第二種方法,在中在需要顯示為視窗的activity中新增如下屬性 android theme style 即可。也可以直接新增對應需要展示為dialog style的activity的android theme屬性為android t...

如何將當前的作業系統以及已安裝的軟體做成映象

卡拉 pe系統下做映象 執行ghost安裝器,選擇需要備份的碟符,也就是做成映象的作業系統c盤,選擇備份 選擇需要備份的路徑目錄 除系統盤外的其他碟符 開始備份 進度條完成後,系統就備份成功了。安裝類似矮人dos等ghost工具,進入系統前先進入dos工具,執行ghost工具 如圖,選擇本地分割槽到...