在用vb程式設計中,有時,我們需要使用乙個跟不規則背景有相同形狀的不規則窗體,怎麼辦呢?
首先,我們需要設定無邊框窗體,
即:borderstyle=0
其次,把背景覆蓋不住的窗體背景設定成透明。
這需要用到api函式,
private declarefunction getwindowlong lib "user32" alias "getwindowlonga"(byval hwnd as long, byval nindex as long) as long
private declarefunction setwindowlong lib "user32" alias "setwindowlonga"(byval hwnd as long, byval nindex as long, byval dwnewlong as long) as long
private declarefunction setlayeredwindowattributes lib "user32" (byval hwnd as long,byval crkey as long, byval balpha as byte, byval dwflags as long) as long
private constws_ex_layered = &h80000
private constgwl_exstyle = (-20)
private constlwa_alpha = &h2
private constlwa_colorkey = &h1
'遮蔽窗體指定顏色,這裡是遮蔽的藍色,前提要把窗體背景顏色設定成藍色
private subform_load()
dim rtn as long
rtn =getwindowlong(hwnd, gwl_exstyle)
rtn = rtn orws_ex_layered
setwindowlong hwnd,gwl_exstyle, rtn
setlayeredwindowattributeshwnd, vbblue, 0, lwa_colorkey
end sub
這樣就得到了你想要的自定義窗體了。
自定義WPF窗體形狀
你好wpf愛好者。隨著wpf等統一api語言的發明,豐富使用者介面變得非常容易。建立豐富的使用者介面只是乙個想法。您需要擁有的是創造性思維和最新技術融合。wpf和expression blend在製作豐富的ui應用程式,清晰的圖形和非常好的動畫方面非常有用。我將要發布的是將視窗矩形形狀塑造成影象的形...
Qt 自定義對話方塊形狀 移動窗體
mainwindow.h ifndef mainwindow h define mainwindow h include include include namespace ui class mainwindow public qmainwindow endif mainwindow hmainwi...
自定義畫筆形狀
from turtle import 匯入海龜畫相簿 begin poly 開始記錄圖形 color black yellow pensize 6 circle 100,steps 9 畫1個半徑為100的9邊行 forward 90 end poly 結束記錄圖形 p get poly 獲取sha...