问题
I want to draw a Chevron button

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?
回答1:
The closest I can find for XP is
ThemeServices.DrawElement(Canvas.Handle, GetElementDetails(tebNormalGroupExpandNormal),
Rect(10, 100, 100, 200));

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.
回答2:
You can't find it in the list of Parts and States? Then it doesn't exist. http://msdn.microsoft.com/en-us/library/bb773210(v=vs.85).aspx
来源:https://stackoverflow.com/questions/7264484/chevron-button-in-delphi-dialog-form