Здравствуйте, подскажите пожалуйста что можно использовать, чтобы рисовать (допустим геометрические фигуры) за пределами формы?
Заранее спасибо
Call MoveTo(GetDC(0), 10, 10)
Call LineTo(GetDC(0), 100, 100)
Хакер писал(а):M.A.R.K
А Let ты тоже используешь?
Me.BorderStyle = 0
Me.BackColor = 0
Call SetLayeredWindowAttributes(Me.hwnd, Me.BackColor, 120, LWA_ALPHA Or LWA_COLORKEY)
Option Explicit
Const LWA_COLORKEY = &H1
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Sub Command1_Click()
Dim aStyle As Long
Dim TransparentColor As Long
TransparentColor = vbBlack
aStyle = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
aStyle = aStyle Or WS_EX_LAYERED
Call SetWindowLong(Me.hWnd, GWL_EXSTYLE, aStyle)
Call SetLayeredWindowAttributes(Me.hWnd, TransparentColor, 0, LWA_COLORKEY)
End Sub
Private Sub Form_Load()
'Me.BorderStyle = 0
Me.BackColor = 0
End Sub
Хакер писал(а):M.A.R.K
В фотошопе и кореле (во всяком случае в версиях CS2 и 12 соответственно) обычное квадратное окно, на него сначала копируется фон с ним, а затем поверх него (фона) рисуется картинка с альфа-каналом. Если при этом фон под сплэш-скрином поменяется, вся "квадратность" этого окна сразу будет хорошо видна.
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 83