Автор Тема: Изменение пользователем размера формы вместе с составляющими  (Прочитано 225 раз)

Оффлайн Посетитель 09.06.2022

  • Посетитель форума
  • Сообщений: 1
Создаю UserForm c различными Lable, TextBox и ComboBox. Пользователь запросил возможность изменения размеров формы, соответственно вместе с составляющими. С помощью API добился изменения размеров формы пользователем, но лэйблы и боксы остаются прежними. Вариант Text1.Width = Me.Width - (первоначальная разница между формой и текстбоксом = 286.25) не сработал.
Реализация изменения самой формы
Private Sub UserForm_Activate()
Dim hWnd  As Long
    Dim GWL As Long
    Dim hImg  As Long
    Dim ret   As Long
    hWnd = FindWindow(vbNullString, Me.Caption)
    GWL = GetWindowLong(hWnd, GWL_STYLE) Or WS_SYSMENU Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_EX_APPWINDOW
    hWnd = FindWindow(vbNullString, Me.Caption)
    ret = SendMessage(hWnd, WM_SETICON, ICON_SMALL, ByVal hImg)
    ret = SendMessage(hWnd, WM_SETICON, ICON_BIG, ByVal hImg)
    SetWindowLong hWnd, GWL_STYLE, (GWL)
    DrawMenuBar hWnd
End Sub
Как вместе с формой менять лэйблы и боксы? Помогите пожалуйста.

Оффлайн Администратор

  • Administrator
  • Сообщений: 2066
По этой теме вам не помогут на этом форуме.
На этом форуме отвечаю только я, но для меня это сложный вопрос, я не знаю на него ответ. Задание редкое, нет возможности изучить этот вопрос.