Описание:
Я использую списки изображений, загруженные в формате PNG, чтобы обеспечить прозрачность в моем меню и кнопках скорости. Также используются темы времени выполнения, чтобы пользователь мог определить интерфейс GUI.
Если стиль не выбран, он же стиль «Windows», для моей панели инструментов генерируются красивые маски, и все работает как положено. Однако, когда я активирую стиль (независимо от того, какой), выполняется очень странная визуализация масок, где некоторые кнопки кажутся пустыми (первая и предыдущая кнопки) при отключении, а некоторые (кнопки публикации и отмены) действительно показывают минимальная маска исходного изображения.
Исследования. Я создал приложение для тестирования стиля VCL и заглядываю в VCL, чтобы узнать, как именно происходит процесс рисования. Мое исследование SO здесь связано с этой более или менее связанной темой, но id вмятина действительно помочь обойти мою проблему.
Тем временем я могу представить, что кто-то еще наткнулся на это и может указать мне правильное направление.
Вопрос:
Я ищу способ, чтобы эти маски отображались правильно или автоматически генерировались (например, эта ссылка), что позволяет работать так, как ожидалось, даже при использовании стилей VCL. Это можно сделать, создав маски автоматически в моих списках изображений или, что предпочтительнее, изменив поведение, которое создает маски для пользовательского рисования стилей.
Стандартный стиль показывает панель инструментов нормально:
Использование пользовательского стиля, без изображений на кнопках:
Другой пользовательский стиль, и вы даже пропустите кнопки
Кстати: «Не использовать стили» не будет ответом, который я ищу.