Chevron button in delphi dialog form

邮差的信 提交于 2019-12-06 23:47:13

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!