使用 MFC 的 GUI 用户定义的按钮形状

Posted

技术标签:

【中文标题】使用 MFC 的 GUI 用户定义的按钮形状【英文标题】:User defined shape of buttons for GUI using MFC 【发布时间】:2012-04-09 08:08:26 【问题描述】:

我们是否可以灵活地为使用 MFC 创建的 GUI 的各种元素提供用户定义的形状?例如,我可以使用 MFC 开发一个 GUI,其菜单类似于 this one 吗?

【问题讨论】:

例如,对于粘贴选项,我可以使用这样的小图标:link 【参考方案1】:

是的,你可以。有几种方法,最核心的方法是使用 SetWindowRgn() - 这样您可以精确控制窗口的形状,但没有每个像素的 alpha。您还可以使用 CodeProject 上提供的众多类之一来执行此操作。您还可以查看 Ultimate Toolbox,它很旧,但可能包含足以满足您需求的东西。您还可以使用 SetLayeredWindow() API,它为您提供每像素 alpha。从http://msdn.microsoft.com/en-us/library/ms997507.aspx 开始,然后在 CodeProject 上搜索关键字,寻找可以帮您摆脱苦差事的控件。或者,查看像 Codejock 等现代工具包,它们不是免费的,但可以为您节省大量时间,具体取决于您想要在应用程序中加入的效果和数量。

【讨论】:

感谢您的详细信息。

以上是关于使用 MFC 的 GUI 用户定义的按钮形状的主要内容,如果未能解决你的问题,请参考以下文章

MFC如何改变消息框的三个按钮的文本值

MFC异形窗口-多边形窗口-根据图片自定义窗口形状-CRgn

MFC - 停用除一个以外的所有按钮

MFC自定义消息的方法?

创建自定义按钮形状 Swift 4

Android 自定义形状按钮