На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Изменить Height у TLabel , ParentFont
    Как-то раньше не заморачивалась с масштабированием компонентов. Но теперь приходится.
    Все компоненты как компоненты, поменяли свойство Font, а Label "выкаблучивается".
    Компонент находится на TPanel, который в свою очередь на TForm. У формы, панели и надписи ParentFont = true. У панели ParentColor отключила.
    Меняю Color у Label, автоматически сбрасывается ParentFont и высота надписи не меняется.
    В объяснениях свойств компонента говорится, что при изменении свойств надписи ParentFont становится = false.
    Вопрос такой: никак нельзя поменять цвет текста? Почему Color привязан к панели? Я же отключила ParentColor. Как только цвет надписи становится черным (как на форме и на панели), сразу работает масшлабирование шрифта. В чем "секрет"? ;)
      laifik это же ВЦЛ лучше спроси у дельфиристов :D
        Так вроде должно быть одинаково.
        Кстати, уже у одного спросила. Не ответил. Не у всех такие разношерстные мониторы в конторах. Не приходится подстраиваться.
        Попробую задать на Делпфи. :huh:
          Цитата Cfon @
          это же ВЦЛ лучше спроси у дельфиристов

          Можно просто исходники посмотреть или даже сделать наследника и переопределить там ВСЁ.
          Сообщение отредактировано: Bas -
            Цитата laifik @
            В чем "секрет"?

            Ответ в разделе Delphi: 1) TLabel.Color и TFont.Color - это разные вещи, 2) ParentFont = true подразумевает копирование всех параметров Font родителя (Font = Parent->Font), и соотв-но изменение любого св-ва Font влечет за собой сброс ParentFont в false.

            Цитата laifik @
            разношерстные мониторы в конторах

            Если нужна автонастройка размера шрифта только при запуске программы (а не в процессе ее работы), то самое простое - это задать в дизайне ParentFont = true, а в рантайме (в OnCreate формы) изменить цвет нужных TLabel. Ну или задать цвет в дизайне, а в OnCreate проверить и изменить размер шрифта = Parent->Font->Size.
            Сообщение отредактировано: leo -
              Ну, в общем-то, это я и сделала. Долго мучалась. Одно понятно, особо не разбежишься, чтобы приложение смотрелось красиво. Сразу "припоны" вроде соскакивания ParentFont.
              А как хочется, чтобы автонадстройка работала для всех компонентов.
              Да и вообще, тема "Масштабирование формы" по факту оказалась не легкой темой. Пришлось столкнуться с переносом программы на ноутбук, и тут было много "сюрпризов".
              К счастью, все это уже позади.
              Спасибо за подсказки. :)
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0317 ]   [ 16 queries used ]   [ Generated: 23.04.24, 14:16 GMT ]