gpt4 book ai didi

c++ - 如何在WM6中创建圆角矩形按钮?

转载 作者:行者123 更新时间:2023-11-28 01:13:45 25 4
gpt4 key购买 nike

是的,就像 iPhone 上那些漂亮的按钮。 ;)

我已经搜索和阅读了好几天,每次我发现能让我接近的东西(比如 CreateRoundRectRgn)时,它就会爆炸,因为 Windows Mobile 6 GDI+ 不支持它。

我可以做整个所有者绘制之类的事情。但是我如何弯曲那些硬角并 reshape 按钮呢? :/

注意可用工具:仅限 native Win32(无 MFC)


我有过这种想法,但它留下了两个问题:

1) 带有圆边的位图不会仍然使按钮的角可见。

2) 位图非常适合固定屏幕尺寸。但是由于有多种分辨率,我的目标是在运行时在内存中动态创建按钮位图并以这种方式使用它。

我可以使用方形按钮。然而,我已经看到其他软件使用的圆角按钮。 必须有一种 reshape 按钮的方法。

最佳答案

获得像这样漂亮的按钮通常是通过创建一个完整的所有者绘制的按钮并绘制图形设计师为其创建的图像来完成的,而不是让 GDI 进行任何控件绘制。您只需要一个“向上”图像和一个“按下”图像。您可以手动绘制焦点或使用另一个带有 ROP 蒙版的图像将其绘制在按钮上。要获得漂亮的“圆形”效果,您只需创建具有背景色的图像,然后将其用作透明色。

Tee 缩放问题在某种程度上是 WinMo 独有的,因为 iPhone 实际上只有一种分辨率。如果您需要针对不同分辨率的 WinMo 设备,您可以执行以下两件事之一(您使用的取决于您使用的图像)。 Eitehr 只需绘制缩放后的图像,或包括图像的不同尺寸版本,并在运行时根据屏幕分辨率决定使用哪个。

关于c++ - 如何在WM6中创建圆角矩形按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/339200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com