|
|
§ 5.10. Как сделать окно неправильной формы?
ИМХО, проще и красивее создавать регионы через Path.
Hу что можно сделать через Create
Region? Эллипс?
А вот как можно использовать Path:
Private Declare Function SelectClipPath Lib "gdi32" _
(ByVal hDC As Long, _
ByVal iMode As Long) As Long
Private Declare Function BeginPath Lib "gdi32" _
(ByVal hDC As Long) As Long
Private Declare Function EndPath Lib "gdi32" _
(ByVal hDC As Long) As Long
Private Declare Function PathToRegion Lib "gdi32" _
(ByVal hDC 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 Const RGN_COPY = 5
Private Sub Form_Load()
Const TXT = " Cool programm" & vbCrLf & _
" from" & vbCrLf & _
"Cool Company" & vbCrLf & _
"CopyLeft by Ark"
Dim hRgn As Long
Font.Name = "Times New Roman"
Font.Bold = True
Font.Size = 60
Width = TextWidth(TXT)
Height = TextHeight(TXT)
BeginPath hDC
CurrentX = 0
CurrentY = 0
Print TXT
EndPath hDC
hRgn = PathToRegion(hDC)
SetWindowRgn hWnd, hRgn, False
Picture = LoadPicture("c:\windows\облака.bmp")
Move (Screen.Width - Width) / 2, _
(Screen.Height - Height) / 2
End Sub
Автор:
Аркадий Оловянников
|
|
|
| |