karlex » 10.06.2009 (Ср) 7:56
arvitaly писал(а):Это чтобы они работали (а как я уже написал не знаю почему вы оба не заметили читать видимо не умеете - кнопку рисовать придется ручками)
Ничего рисовать не нужно, это делается через стили окна.
- Код: Выделить всё
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function IsWindow Lib "user32" (ByVal hWnd As Long) As Long
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 Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Sub UserForm_Initialize()
Dim dwStyle As Long, hWnd As Long
hWnd = FindWindow("ThunderDFrame", Me.Caption)
If IsWindow(hWnd) <> 0 Then
dwStyle = GetWindowLong(hWnd, GWL_STYLE)
If dwStyle <> 0 Then
dwStyle = dwStyle Or WS_MAXIMIZEBOX Or WS_MINIMIZEBOX
Call SetWindowLong(hWnd, GWL_STYLE, dwStyle)
End If
End If
End Sub
Все гениальное — просто!
-------------------------------------
Кто ищет — тот всегда найдет!
-------------------------------------
Лень — двигатель прогресса.
Прогресс — двигатель лени.