Размер пользовательской формы - VBA

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. При помощи winapi я убрал у формы заголовок, кнопку закрытия, вообщем всю служебную часть. Теперь мне нужно уменьшить форму до такого размера, чтоб на ней помещалось лишь одна цифра, скажем 8-го шрифта. Однако VBA не дает этого сделать(ни в процессе разработки, ни программно), автоматически увеличивая форму до размеров, которые, как мне кажется, необходимы чтоб вместилась служебная часть окна от которой я избавился. Как можно (если возможно в принципе) уменьшить форму?

Решение задачи: «Размер пользовательской формы»

textual
Листинг программы
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
                                       ByVal hWnd As Long, _
                                       ByVal nIndex As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
                                    ByVal lpClassName As String, _
                                    ByVal lpWindowName As String) 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 UserForm_Activate()
Dim hWnd As Long
Label1.BackStyle = 0 'fmBackStyleTransparent
Label1 = 9
Me.BackColor = 1
hWnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong hWnd, -20, GetWindowLong(hWnd, -20) Or 524288
SetLayeredWindowAttributes hWnd, 1, 0, 1
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5