powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы [новые:1] / Поиск: Искать ответы на сообщение: #717125  
3 сообщений из 3, страница 1 из 1
Языки программирования семейства Pascal / Заметки о Делфи.
    #717125
s62
Скрыть профиль Поместить в игнор-лист
Участник
В Delphi есть поддержка тем (оформления) Windows. И эта штука, что впрочем логично, не позволяет менять какие-то визуальные свойства тех или иных элементов управления. Например в элементе управления TPageControl: панель с закладками, цвет закладок в теме по-умолчанию в Windows 10 - белый. На белом не всегда хорошо видны поля ввода и т.д. Но цвет, просто задав в design-time какой-то произвольный, не поменяешь, если включена поддержка тем, нарисовано будет всё равно в стиле темы.

Сегодня добавлял в полосу статуса окна (Status bar, полоска внизу), вывод еще одной информации, кроме которой там была. Там несколько панелей, на части выводится текст, на других рисуется типа индикаторов красный/зеленый. Панели есть двух типов - либо задаешь текст и он выводится на панели, либо она отрисовывается программно (свойство Style - psText или psOwnerDraw). И вот надо было добавить ещё одну панельку, в которой выводится текст красным цветом в некоторых ситуациях. Отлаживаю и обращаю внимание, что текстовые панели - жирным шрифтом. Почему? Начинаю искать - в свойствах этого нет, в коде этого тоже нет, из других потоков, которые через Synchronize вызывают разные процедуры в этом окне, тоже нет такого. Причем сначала после открытия окна - без жирного, без bold'а, а потом появляется он. И только через какое-то время догадался, что это - тема. Отключил в опциях проекта поддержку тем и жирный перестал появляться. Ну, потом включил назад. Ладно, раз такая тема, в смысле тема оформления :), то значит так, пусть уж будет, чтобы не выбиваться из стиля Windows.
...
Изменено: 05.02.2024, 18:35 - s62
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Заметки о Делфи.
    #718871
s62
Скрыть профиль Поместить в игнор-лист
Участник
Знакомую фамилию увидел. Использовал в коде функцию CompareMem (сравнивает две области памяти), решил глянуть, как она реализована. Ну, как и ряд других функций, взята из проекта Fastcode, вероятно - адаптирована. А среди тех, кто принимал участие в написании, упомянут Александр Шарахов (только он там и упомянут). Александр не раз писал в разделе Delphi на sql.ru.
Цитата 
[игнорируется]
(* ***** BEGIN LICENSE BLOCK *****
*
* The function CompareMem is licensed under the CodeGear license terms.
*
* The initial developer of the original code is Fastcode
*
* Portions created by the initial developer are Copyright (C) 2002-2004
* the initial developer. All Rights Reserved.
*
* Contributor(s): Aleksandr Sharahov
*
* ***** END LICENSE BLOCK ***** *)
...
Изменено: 09.02.2024, 10:19 - s62
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Заметки о Делфи.
    #721425
s62
Скрыть профиль Поместить в игнор-лист
Участник
В индексе TIOBE в феврале на 12 месте:
https://www.tiobe.com/tiobe-index/
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы [новые:1] / Поиск: Искать ответы на сообщение: #717125  
Пользователи онлайн (25): Анонимы (14), Сталкер, IT-Клоп, Yandex Bot 1 мин., prostozevs 3 мин., Кусь 3 мин., Гарыныч 4 мин., Ветер 5 мин., Квейд 5 мин., Bing Bot 7 мин., megabyte 9 мин., Буся 9 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]