Страница: 1 |
Лично я просто сделал длиннее поля, а по высоте, все прекрасно и так влезает... Да, но ведь при увеличении шрифтов, так же увеличиваются и вообще все контролы, и следить за каждым из них попросту не представляется возможным Единственое что могу сказать, так что такая проблемма в 98/Ме, а вот в ХР/2003 на счет 2к не знаю, это сделано более тщательно, и такой проблеммы уже не возникает... Я использую такую маленькую функцию: Sub ResizeControls() On Error Resume Next Dim ctl as Control Tx=Screen.TwipsPerPixelX: Ty=Screen.TwipsPerPixelY For Each ctl in me.Controls ctl.Move (ctl.Left/15)*Tx, (ctl.Top/15)*Ty, (ctl.Width/15)*Tx, (ctl.height/15)*Ty ctl.FontSize=(ctl.FontSize/15)*Tx Next End Sub И вызываю эту процедуру из процедуры Form_Load() Все контролы стоят на своих местах и имеют свои изначальные размеры независимо от системных установок. Попробуй. Добаляй код изменения размеров контролов в Можно контролы перечислять в цикле. Хм, интересная аномалия, я всегда считал что это и есть одно и то же... Страница: 1 |
Вопрос: Font
Добавлено: 14.01.04 21:13
Автор вопроса: cresta
Такое дело: при смене размера системного шрифта надписи на метках, в текстбоксах, да и везде изменяются в размерах и иногда перестают влазить в отведенные места. Как можно с этим бороться, может какая функция есть или какой код, который поправляет это дело. Подскажите пожалуйста
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 14.01.04 22:26
Номер ответа: 2
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #2
Добавлено: 15.01.04 00:50
А если контролов не 5-6 а скажем 20-30 на форме, и им довольно тесно, то тогда как? В принципе можно делать .FontSize= .FontSize/15*Screen.TwipsPerPixel , но при этом абсолютного совпадения размера шрифта при разных системных установках все-таки нет. А оставлять на авось размер шрифта тоже как-то неправильно. Мне, например, неприятно смотреть на полуобрезанные надписи на метках и сидеть и додумывать, а что же там "за кадром"? И таких программ довольно много.
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 15.01.04 01:19
Номер ответа: 4
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #4
Добавлено: 15.01.04 03:12
Номер ответа: 5
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #5
Добавлено: 16.01.04 09:36
Не совсем понятно, что именно Вам нужно.
Если необходимо при изменении шрифта изменять размер элементов, то для
получения нужных размеров (чтобы влезал текст) используйте методы
TextWidth и TextHeight.
Номер ответа: 6
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #6
Добавлено: 16.01.04 12:14
Нужно, чтобы не изменялись размеры контролов и не изменялись также и размеры надписей на них.
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 16.01.04 21:02
Sub Form1_Resize
'Код изменения размера контролов.
End_Sub
Всем кому интересно посмотрите мой пример
http://www5.domaindlx.com/basicproduction/Resize.rar.txt
Номер ответа: 8
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #8
Добавлено: 16.01.04 22:20
Ну я так и делаю, только не в ресайзе, а в Form_Load. Контролы все можно удержать в рамках, а вот шрифты немного изменяются, самую малость, но всё-таки...
Номер ответа: 9
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #9
Добавлено: 17.01.04 02:16
Нашел, чтобы размеры шрифтов не увеличивались и не уменьшались, надо корректировать свойство Font.Size а не FontSize - пишутся практически одинаково, работают по разному...
Номер ответа: 10
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #10
Добавлено: 17.01.04 07:36