开发者

Chevron button in delphi dialog form

开发者 https://www.devze.com 2023-04-02 03:45 出处:网络
I want to draw a Chevron button in a cus开发者_StackOverflow社区tom dialog form and I\'m wondering if exist a Stateand Part constant to be used with the DrawThemeBackground function or I must draw

I want to draw a Chevron button

Chevron button in delphi dialog form

in a cus开发者_StackOverflow社区tom 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?


The closest I can find for XP is

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

Chevron button in delphi dialog form

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.


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

0

精彩评论

暂无评论...
验证码 换一张
取 消