Кнопка Chevron в диалоговом окне Delphi - PullRequest
8 голосов
/ 01 сентября 2011

Я хочу нарисовать кнопку Chevron

enter image description here

в настраиваемой диалоговой форме, и мне интересно, существуют ли константа состояния и детали для использования с Функция DrawThemeBackground или мне нужно вручную нарисовать кнопку такого типа?

Ответы [ 2 ]

12 голосов
/ 01 сентября 2011

Самое близкое, что я могу найти для XP, это

ThemeServices.DrawElement(Canvas.Handle, GetElementDetails(tebNormalGroupExpandNormal), Rect(10, 100, 100, 200));

enter image description here

или

EBP_NORMALGROUPEXPAND, используя DrawThemeBackground напрямую. Однако это рисует двойную стрелку (по крайней мере на XP)

Однако в более поздних версиях Windows также есть TDLG_EXPANDOBUTTON, что вам нужно, судя по изображению на Где найти значки / анимации, рекомендуемые в руководстве по Windows 7 UX?

Благодаря Андреасу (как обычно для вопросов, связанных с темой и клиентом)

См. Также его утилиту в Темы Windows Visual: Галерея деталей и состояний?

В идеале я хотел бы использовать вторую версию, если она доступна, но вернусь к первой в XP.

0 голосов
/ 01 сентября 2011

Вы не можете найти его в списке деталей и состояний?Тогда его не существует.http://msdn.microsoft.com/en-us/library/bb773210(v=vs.85).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...