powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Форму уменьшить пропорционально
11 сообщений из 11, страница 1 из 1
Форму уменьшить пропорционально
    #37404858
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда открываешь свой документ где есть форма на чужом компе то ввиду того что монитор чужого компа не большой приходится пользоваться:
Код: plaintext
1.
2.
'условие, если ширина формы больше ширины монитора, тогда ...
    '10 отнимаем, чтобы размер формы был чуть меньше размера экрана
    If Me.Width > Application.UsableWidth Then Me.Width = Application.UsableWidth -  10 
но тогда часть кнопок отсекается
Как Форму уменьшить пропорционально?? Тогда все кнопки будут на месте, но меньшего размера
Заранее спасибо
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37404892
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перебрать все элементы на форме и пропорционально уменьшить их Width и пропорционально сдвинуть Left

для перебора всех элементов на форме у формы есть коллекция Controls
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37404896
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, спасибо, раз более никак, то буду уменьшать, только насколько я знаю, во всяком случае вручную, нельзя сделать размер контрола какой захочешь, например ставлю 6,09 но оно "соскакивает" на что-то своё конечно близкое к моему, например 6,25. Шо за ересь и как с ней бороться??
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37404898
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это из-за пересчета в твипы и округления. Прими как есть.
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37404908
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, чего-то не прёт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
'ширина экрана монитора ScreenWidth = Application.UsableWidth
    'высота экрана монитора ScreenHeight = Application.UsableHeight
    'условие, если ширина формы больше ширины монитора, тогда ...
    '10 отнимаем, чтобы размер формы был чуть меньше размера экрана
    If Me.Width > Application.UsableWidth Then
        Me.Width = Application.UsableWidth - (Me.Width \ (Application.UsableWidth -  10 ))
        For Each Controls In Me
            Controls.Width = Application.UsableWidth - (Controls.Width \ (Application.UsableWidth -  10 ))
        Next
    End If

И ещё как left уменьшать не знаю
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37404911
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
объяснять основы использования коллекций, описанные в учебниках, не буду
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37404914
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, пойдём другим путём, код то не намного увеличивается, чего то на последнем контроле

Код: plaintext
1.
2.
3.
Dim q As Integer
        For q =  1  To Me.Controls.Count
            Controls(q).Width = Application.UsableWidth - (Controls(q).Width \ (Application.UsableWidth -  10 ))
        Next
Ошибка 5 Инвалид аргумент
???
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37404919
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял почему ошибка
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37405048
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делов то 10 кнопок, чего думаю циклить
написал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
If Me.Width > Application.UsableWidth Then
        
        Dim Уменьшаем As Integer
        Уменьшаем = (Me.Width - Application.UsableWidth) \  9 
        
        Me.CommandButton1.Width = Me.CommandButton1.Width - Уменьшаем
        Me.CommandButton2.Width = Me.CommandButton2.Width - Уменьшаем
        Me.CommandButton3.Width = Me.CommandButton3.Width - Уменьшаем
        Me.CommandButton4.Width = Me.CommandButton4.Width - Уменьшаем
        Me.CommandButton5.Width = Me.CommandButton5.Width - Уменьшаем
        Me.CommandButton6.Width = Me.CommandButton6.Width - Уменьшаем
        Me.CommandButton7.Width = Me.CommandButton7.Width - Уменьшаем
        Me.CommandButton8.Width = Me.CommandButton8.Width - Уменьшаем
        Me.CommandButton9.Width = Me.CommandButton9.Width - Уменьшаем
        Me.CommandButtonДобавить.Width = Me.CommandButtonДобавить.Width - Уменьшаем

        Me.CommandButton2.Left = Me.CommandButton2.Left - Уменьшаем
        Me.CommandButton3.Left = Me.CommandButton3.Left - Уменьшаем
        Me.CommandButton4.Left = Me.CommandButton4.Left - Уменьшаем
        Me.CommandButton5.Left = Me.CommandButton5.Left - Уменьшаем
        Me.CommandButton6.Left = Me.CommandButton6.Left - Уменьшаем
        Me.CommandButton7.Left = Me.CommandButton7.Left - Уменьшаем
        Me.CommandButton8.Left = Me.CommandButton8.Left - Уменьшаем
        Me.CommandButton9.Left = Me.CommandButton9.Left - Уменьшаем
        Me.ComboBox1.Width = Me.ComboBox1.Width - Уменьшаем
        Me.CommandButtonДобавить.Left = Me.CommandButtonДобавить.Left - Уменьшаем
        Me.Width = Me.Width - Уменьшаем

Уменьшает все, а сдвигает влево тольк вторую, почему так???
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37405069
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разобрался
...
Рейтинг: 0 / 0
Форму уменьшить пропорционально
    #37405379
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто мешает заранее подготовить версию формы для малого экрана?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Форму уменьшить пропорционально
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]