Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Chevron button in delphi dialog form

I want to draw a Chevron button

enter image description here

in a custom dialog form and I'm wondering if exist a State and Part constant to be used with the DrawThemeBackground function or I must draw this kind of button manually?

like image 285
Salvador Avatar asked Aug 31 '11 23:08

Salvador


1 Answers

The closest I can find for XP is

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

enter image description here

or

EBP_NORMALGROUPEXPAND using DrawThemeBackground directly. However this draws a double arrow (on XP at least)

However later windows versions also have TDLG_EXPANDOBUTTON, which is what you want judging by the image at Where do I find the icons / animations recommended in the Windows 7 UX guide?

Thanks to Andreas (as usual for theme and customer drawing related questions)

See also his utility at Windows Visual Themes: Gallery of Parts and States?

Ideally I would use the second version if available, but fall back to the first on XP.

like image 191
Gerry Coll Avatar answered Sep 28 '22 20:09

Gerry Coll