Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30

Как отцентровать надпись на форме

08.11.2009, 14:06. Показов 5590. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требует отцентровать надпись на форме по горизонтали. Саму TLabel путём простейшей арифметики я отцентровать смогу. Как теперь сделать, чтобы внутри TLabel'а надпись была по центру (т.е. не зависела от размера фонта)?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.11.2009, 14:06
Ответы с готовыми решениями:

Отцентровать label на форме с учетом того, что текст может быть разным
Подскажите, как сделать что бы текст объекта label выводился посередине формы (то есть от центра объекта к краям формы)? Введу того что у...

Как прижать произвольную надпись рядом с текстовым полем на форме документа в 1с 8.3
Как прижать произвольную надпись рядом с текстовым полем на форме документа в 1с 8.3

Надпись на форме
Ребят, как сделать кнопку на форме ? В skinmanager(alphaskins), есть компонент TitleBar, а можно как-то без Alphaskins?

2
43 / 39 / 12
Регистрация: 05.01.2009
Сообщений: 394
08.11.2009, 14:58
Label1->Alignment = taCenter;
не подходит?
2
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.11.2009, 16:01  [ТС]
Лучший ответ Сообщение было отмечено Evg как решение

Решение

Чёрт... там два свойства Align и Alignment. По ходу дела это именно то, что нужно. Но работает оно не так, как надо. Если выставляю значение taRightJustify, то нормально прижимает вправо. Но если устанавливаю в taCenter, то почему-то прижимает влево, хотя в дизайнере форм оно по центру. Попробовал воткнуть код по ручной установке в конструктор - не помогает.

Добавлено через 6 минут
Что-то тут не то. Если из конструктора меняю Caption, то всё нормально, если меняю Alignment - то оно не подцепляется

Добавлено через 22 минуты
Отсюда выдрал небольшой фрагмент кода. По нажатию на кнопку запускаю вот такую ересь

C++
1
2
3
4
5
Label->Canvas->Pen->Color = clBlue;
Label->Canvas->Brush->Color = clSkyBlue;
Label->Canvas->Brush->Style = bsDiagCross;
ClientToScreen(Point(Label->Left, Label->Top));
Label->Canvas->Rectangle(Label->ClientRect);
При этом по нажатию на кнопку раскрашивается область, отведённая под метку. В общем это наглядно дало понять, что размеры, указанные в дизайнере формы не сохранились (область под меткой строго обтекает текст)). Если в конструкторе я переустановлю размеры TLablel'а (в данном случае интересен только параметр Width), то всё становится нормально.

Есть идеи, что за хрень такая? Наверняка есть какой-то шайтанский признак, который за это отвечает

Добавлено через 18 минут
За это отвечает признак AutoSize. В общем есть два варианта решения проблемы. Какой вариант выбирать - зависит от сложности и извращённости формы.
1. Гасим признак AutoSize, выставляем Alignment=taCenter, в дизайнере растягиваем метку пошире (чтобы при более крупных фонтах всё влезло, в идеале растягиваем на ширину формы), отцентровываем и выставляем якоря слева и справа.
2. Оставляем признак AutoSize, выставляем Alignment=taCenter, больше в дизайнере формы ничего не делаем. В конструкторе на основании ширины формы и ширины метки выставляем правильно признак Left для метки
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.11.2009, 16:01
Помогаю со студенческими работами здесь

обработчик нажатия на надпись на упр.форме
привет всем :) вопрос: есть управляемая форма, на ней надпись, у надписи есть обработчик нажатия. основной режим запуска: толстый...

как отцентровать div
Здравствуйте. Вопрос такой: как сделать так, чтобы div находились на одной линии? Подробнее на картинке. <div...

Как правильно отцентровать div'ы
Проблема такая, есть 4 div'а, один вверху, два посередине и один внижу... Верхний и нижний я отцентровал, а вот с двумя посередине...

Как отцентровать содержимое тега option?
По горизонтали мне удалось отцентровать содержимое тега option при помощи text-align, но по вертикали никак не удается. Пробовал через...

Как отцентровать лист в рабочей области редактора
Доброго времени суток! Ситуация такова: вчера без особой причины Word начал помещать на рабочую область не один лист, а два, если масштаб...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru