Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Font Добавлено: 14.01.04 21:13  

Автор вопроса:  cresta
 Такое дело: при смене размера системного шрифта надписи на метках, в текстбоксах, да и везде изменяются в размерах и иногда перестают влазить в отведенные места. Как можно с этим бороться, может какая функция есть или какой код, который поправляет это дело. Подскажите пожалуйста

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #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-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 15.01.04 01:19

Да, но ведь при увеличении шрифтов, так же увеличиваются и вообще все контролы, и следить за каждым из них попросту не представляется возможным :(

Единственое что могу сказать, так что такая проблемма в 98/Ме, а вот в ХР/2003 на счет 2к не знаю, это сделано более тщательно, и такой проблеммы уже не возникает...

Ответить

Номер ответа: 4
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #4 Добавлено: 15.01.04 03:12

Я использую такую маленькую функцию:

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()

Все контролы стоят на своих местах и имеют свои изначальные размеры независимо от системных установок. Попробуй.

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #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-сайт: basicproduction.nm.ru
 Профиль | | #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-сайт: hw.t-k.ru
 Профиль | | #10
Добавлено: 17.01.04 07:36

Хм, интересная аномалия, я всегда считал что это и есть одно и то же...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам