Изобрели суперкомпьютер. Позвали англичанина, немца и русского колхозника и сказали:
- Назовите два числа и компьютер произведет с ними любую операцию. Если он не сможет посчитать, вы получите кучу денег!
Англичанин называет 10^6581 - компьютер все посчитал и его выгнали. Немец называет 236^65468749846 - компьютер все посчитал и его тоже выгнали.
Русский говорит:
- До х#я...
Компьютер зависает. Изобретатели посовещались и решили:
- Поехали к нему в колхоз, наверное, у них там все такие умные!
Приезжают в колхоз, смотрят - мужик поле косит. Подходят к нему и спрашивают:
- Мужик, скажи, а "до х#я" это много?
- Да как вам сказать... Видите поле, которое я кошу? Это до х#я.
- Не поняли... А вот поле через дорогу - это тоже до х#я?
- А это соседское, это до п#зды!!!
...да, но вы должны перекрыть событие OnDraw. Ниже приведен пример, делающий
заголовок многострочным, центрированным и с жирным шрифтом:
Приведенный код - это приложение на языке Delphi, которое настраивает внешний вид многострочного контрола TStringGrid. Метод OnDrawCell используется для центрирования текста и сделать текст первой строки жирным.
Вот шаг за шагом, что код делает:
Он проверяет, является ли текущая строка первой (т.е., l_row = 0). Если это так, он устанавливает стиль шрифта в жирный используя canvas.Font.Style := canvas.Font.Style + [fsBold].
Для первой строки код центрирует текст горизонтально, рассчитывая координату x (l_XPos) и устанавливающий ориентацию текста в центр используя SetTextAlign(canvas.Handle, taCenter).
Он получает значение текста из ячейки текущего столбца и строки (cells[l_col, l_row]).
Если текст содержит символ новой строки (#13), код извлекает первую строку текста, найдя позицию символа новой строки используя Pos(#13, s) и удалив символ новой строки и последующие символы из строки.
Затем он рисует извлеченный текст на рассчитанной координате x (l_XPos) и координате y (l_YPos) используя Canvas.TextRect(rect, l_Xpos, l_YPos, s1).
Если строка не является первой, код просто рисует текст ячейки в ее оригинальной позиции используя Canvas.TextRect(rect, rect.Left + 2, rect.Top + 2, cells[l_col, l_row]).
Наконец, он сбрасывает стиль шрифта в нормальный, удалив жирный стиль из стиля шрифта (canvas.Font.Style := canvas.Font.Style - [fsBold]).
Код также включает комментарий о том, как ответ русского фермера "До х#я" (что примерно переводится как "До x-ya") вызвал компьютерную задержку, и история рассказывается в виде анекдота.
В целом, этот код предоставляет способ настройки внешнего вида многострочного контрола TStringGrid в Delphi, конкретно центрируя текст и делая текст первой строки жирным.
В статье описывается способ создания многострочного TStringGrid с центрированным и жирным шрифтом заголовком, а также приводится пример программного кода на языке Delphi для реализации этой функциональности.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.