导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2023/5/9 9:04:55
标题:
如何用Delphi编写WIN11界面风格的程序?
浏览:1605
加入我的收藏
楼主:
如图所示,WIN11这种能利用桌面背景动态模糊后作为窗体的底色,效果确实漂亮,比WIN7的AERO更漂亮,但如何利用Delphi实现呢? 没有搜到这方面的资料。
此帖子包含附件: 大小: 415.3K
----------------------------------------------
-
作者:
2023/5/9 9:05:56
1楼:
除了WIN11本身外,目前能看到的能实现这个UI风格的程序好像不多,StartAllBack算一个。
此帖子包含附件: 大小: 271.6K
----------------------------------------------
-
作者:
2023/5/9 19:01:56
2楼:
这种效果,以前 Windows 7 的时候有透明毛玻璃效果的 Form 就可以用 Delphi 做出来。后来 Windows 搞那个方块砖界面的时候,又把半透明毛玻璃效果的 Form 取消了。 莫非现在 Win11 又恢复了?
----------------------------------------------
-
作者:
2023/5/9 21:16:06
3楼:
这个和毛玻璃效果是不同的,个人觉得比毛玻璃更好看,貌似叫做Mica特效,也叫云母特效,不知道咋做的,不知道新版Delphi是否做了原生支持? 话说WIN8~WIN10那个方块砖的界面,丑陋至极!这也是我坚守WIN7一直到WIN11发布的唯一原因,实在无法忍受那个巨丑的界面。WIN11美观太多了,现在新硬件不支持WIN7了正好WIN11顶上,直接升级,要不都没法用了。
----------------------------------------------
-
作者:
2023/5/9 22:56:32
4楼:
Fluent Design / Win UI 3 + Mica 官网倒是有个Win UI 3的Demo 另外 https://en.delphipraxis.net/topic/1619-new-fluent-ui-demos-with-stylecontrols-vcl/http://bbs.2ccc.com/topic.asp?topicid=665315
----------------------------------------------
z@S7
作者:
2023/5/10 9:19:51
5楼:
to zhyhero: 你发的那个链接,我下载看了,界面也是挺精美的,模拟WIN11风格,但不是WIN11风格,还是那种毛玻璃的模糊,不是WIN11的Mica云母特效。 1.Mica云母特效窗体,无论该窗体是否直接在桌面上背后无遮挡都能体现墙纸模糊化的背景,这个Demo如果有遮挡就不能体现墙纸的模糊背景了,只能体现其下层所显示的内容进行模糊. 2.其模糊方式是普通的毛玻璃模糊,比较局限背景造型,能明显看出背景的轮廓,色彩也趋同于背景;Mica云母特效虽然是对墙纸进行模糊,但其模糊方式似乎是在更大范围内对墙纸的色彩进行宏观混合,色彩基本不趋同于墙纸色彩本身,只有其色彩大概趋势,比较淡雅,而且看不出背景的轮廓。另外,Mica云母特效对绿色、黄色比较敏感,其它颜色比如红色、蓝色等色彩体现平淡,基本类似于白色处理,不能明显体现其原色的色彩趋势。
此帖子包含附件: 大小: 365.9K
----------------------------------------------
-
作者:
2023/5/10 9:26:26
6楼:
以上图为例,该图桌面背景是一只青蛙,图中基本能看出轮廓的。
此帖子包含附件: 大小: 460.8K
----------------------------------------------
-
作者:
2023/5/10 9:27:39
7楼:
但是Mica云母特效的窗体,就完全看不出轮廓,色彩也淡雅得多。
此帖子包含附件: 大小: 361.2K
----------------------------------------------
-
作者:
2023/5/10 9:50:11
8楼:
StyleControl应该是暂时还不支持Mica特效。 你可能得看官网那个Win UI 3的Demo有没有可能加入Mica特效了。
----------------------------------------------
z@S7
作者:
2023/5/10 10:00:44
9楼:
嗯,StyleControl肯定还不支持Mica云母特效,所以不是WIN11风格。 你说的官网Win UI 3的Demo,网址是多少?
----------------------------------------------
-
作者:
2023/5/10 10:45:07
10楼:
我记得那个毛玻璃效果是 windows 系统带来的。 不知道这个云母效果是 WINDOWS 系统带的,还是应用程序自己搞的? 毛玻璃效果其实就是 Form 透明,所以能看到底下的其它 Form。按照 5 楼的说法,云母效果是不管底下有没有其它程序的 Form,它都显示桌面墙纸。这样的话,假设不依赖系统的功能,单纯自己用代码实现的话,大概需要搞定 2 点: 1. 先把桌面墙纸的图抓下来,然后程序根据当前 Form 在桌面的位置,从墙纸图片的对应位置截图,把截图当作当前 Form 的背景; 2. 把这个截图背景做虚化。而且这个虚化的算法,是 5 楼描述的那种效果,而不是简单的模糊。简单的模糊好做,5楼描述的那种效果,不知道怎么做?Delphi FMX 里面有一些对图片做模糊操作的 Filter 不知道有没有能做那种效果的现成的 Filter。
----------------------------------------------
-
作者:
2023/5/10 10:56:16
11楼:
windows 有SDK,SDK封装了Win UI的一些东西。
----------------------------------------------
z@S7
作者:
2023/5/10 11:57:50
12楼:
to pcplayer: Mica云母特效本身肯定是WIN11自带的,按理无须应用程序自己搞,比如一个普通不支持Mica云母特效的程序在WIN11下运行,其标题栏就自带Mica云母特效的效果,但窗体部分不支持。 就好比XP时代一开始XP以前的程序不支持XP的界面风格,老程序在XP下运行窗体、按钮等还是之前传统3D模式,但标题栏却是XP的效果,实际上大多数老程序只需要添加一个XML描述文件即可完全实现XP界面风格。 也许WIN11的Mica云母特效也可能通过调用系统的某API或者类似的东西来实现,但作为业余菜鸟,实在不知如何实现。如果需要程序自己做,那效果就不能保证了,就像以前XP时代各种模拟XP风格的控件总是各种缺陷,和原生的比差不少。 像StartAllBack这种第三方小工具倒是第一时间就实现了Mica云母特效,还是挺厉害的。而且,不知道StartAllBack这恢复了WIN7/10的传统任务栏不合并、开始菜单以及右键菜单等等,也不知道是程序重写了相应功能直接接管了WIN11的相应功能还是动态注入WIN11系统改变相应功能,总之,在我看来挺厉害的……
----------------------------------------------
-
作者:
2023/5/11 0:19:36
13楼:
如果是 windows 自带,上网搜搜,应该能搜到。 我的电脑是 WIN11,还没见到哪个程序有那个效果
----------------------------------------------
-
作者:
2023/5/11 10:20:25
14楼:
就像当初XP界面风格一样,XP自带,但不是所有XP自带的程序都有那个风格,但标题栏都有那个效果。 WIN11自带的计算器、记事本、任务管理器,都是WIN11的Mica云母特效风格啊。
此帖子包含附件: 大小: 273.7K
----------------------------------------------
-
作者:
2023/5/11 10:56:41
15楼:
我的电脑的计算器没有这种效果。是否电脑需要设置一下才行?
----------------------------------------------
-
作者:
2023/5/11 11:10:32
16楼:
真怀疑你用的是不是WIN11啊?不需要任何设置的,正常默认就是这样。 或者,是不是要升级一下WIN11,你的WIN11啥版本,是不是太老了有些程序没有更新?
此帖子包含附件: 大小: 614.6K
----------------------------------------------
-
作者:
2023/5/11 11:39:34
17楼:
在设置里面搞了一下,效果出来了,确实需要修改设置才行。有个【透明效果】要打开,省电模式要关掉。 至于 Delphi 实现这种效果,网上一搜就有。可惜现在 github 抽风,我打不开,看不到代码。
----------------------------------------------
-
作者:
2023/5/11 11:42:31
18楼:
https://github.com/Leghari-K/MicaMaterial/blob/main/MicaV2/Mica/MicaDelphiDark/MicaDelphiDarkUnit1.pas
----------------------------------------------
-
作者:
2023/5/11 12:01:18
19楼:
to pcplayer: 我安装WIN11时默认就是WIN11风格效果,不需要设置,可能你的电脑配置不够高因为设置了自动而导致系统关闭了该特效。 源码是下面这样的。这个代码不就是普通的窗体半透明?WIN2000时代就是这个。 补充: 下面代码我在Delphi 11.3上测试过了,根本就不是WIN11的Mica云母特效,只不过通过设置窗体的颜色来接近默认色彩而已,完全的就是普通窗体。 unit MicaDelphiDarkUnit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, MicaEffect; type TForm1 = class(TForm) MicaMaterial1: TMicaMaterial; procedure micaSettings(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.micaSettings(Sender: TObject); begin Form1.Color := RGB(38, 40, 44); Form1.AlphaBlend := true; Form1.AlphaBlendValue := 253; end; end.
----------------------------------------------
-
作者:
2023/5/12 10:04:57
20楼:
我的电脑设置好支持这个效果以后,用 Delphi 写的 VCL 程序,标题栏已经自动变成背景颜色了。
----------------------------------------------
-
作者:
2023/5/12 16:19:36
21楼:
是啊,跟XP一样,无论程序本身是否支持,标题栏支持了,所以,这肯定是系统自带的效果,不需要程序去模拟。
----------------------------------------------
-
作者:
2023/5/13 1:31:40
22楼:
用程序模拟也没多难。看了下网上的资料,Windows 实现这个功能的方式,也是直接把桌面图抓了一张图,然后做高斯模糊。这样做的好处是直接把图贴到程序里面就再也不用管了,因此更省电,和做模糊透明比起来,模糊透明是一直进行计算的,因此更消耗 CPU 或者 GPU 资源,也就是更耗电。 所以假设 Delphi 的 Form 没有实现系统的这个功能,自己用代码模拟,应该也没多难。
----------------------------------------------
-
作者:
2023/5/13 9:16:10
23楼:
to pcplayer: 说的简单,恐怕也没那么容易。当初XP刚出来时,多少人去模拟XP的界面风格,Delphi下各种模拟XP的控件,就一个按钮的XP效果都很少有模拟到位的。很久之后我才发现一个叫“KSDev.ThemeEngine”的控件模拟的到位并且进一步发展添加了各种动画特效,人家采取的是自有主题的方式去模拟的,自成一套,工程量很大。 且不只是窗体背景模糊问题,而且WIN11风格中列表选项,也很特别,也有别于传统界面。如下图中的【背景】【颜色】【主题】【锁屏界面】这些乳白色的选项栏,还有其它各种界面要素,包括其动画效果,是一个综合工程,自己模拟不容易实现,也很难模拟到位。 我是个业余菜鸟,我肯定是没能力实现。你不信你可以试一试。
----------------------------------------------
-
作者:
2023/5/13 16:01:39
24楼:
23 楼你说的那些选项,VCL 里面有没有现成的我不知道,如果用 FMX 来做,应该不难。
----------------------------------------------
-
作者:
2023/5/13 16:03:27
25楼:
期待你做一个简单的Demo出来展示一下
----------------------------------------------
-
作者:
2023/5/16 13:34:36
26楼:
看来虽然看起来是个小问题,难度不小,都不知道是怎么实现的……
----------------------------------------------
-
作者:
lsuper (lsuper)
★☆☆☆☆
-
盒子活跃会员
2023/5/16 22:09:49
27楼:
LZ 可以试下 AlphaControls:
----------------------------------------------
-
作者:
2023/5/17 13:36:55
28楼:
to lsuper: AlphaControls我有啊,但它没有WIN11风格的控件吧。 我在关于对话框里用了这个控件炫酷的特效Button按钮。
此帖子包含附件: 大小: 152.7K
----------------------------------------------
-
作者:
lsuper (lsuper)
★☆☆☆☆
-
盒子活跃会员
2023/5/17 14:36:23
29楼:
是没有专门的 Win11 风格控件,参考他 AMegaDemo 例子:开启 Windows 11 light 风格,能看到窗体 blured 那种 Win11 毛玻璃效果;设置 AnimEffects.Buttons.LightingMode 为 LmActiveControl 关闭聚光灯 等,模拟、调整逼近?
此帖子包含附件: 大小: 93.5K
----------------------------------------------
-
作者:
2023/5/17 17:53:05
30楼:
WIN11不是毛玻璃效果,毛玻璃和WIN11的Mica云母特效差别很大,我可没这实力模拟出来,否则也不会发帖问了。 说起来简单,真做很难,否则也不会发帖这么久没一个人会啊
----------------------------------------------
-
作者:
2023/5/17 22:15:43
31楼:
我觉得大概99%的程序员不会在界面美化上花太多时间,更别提深入研究了……
----------------------------------------------
z@S7
作者:
2023/5/18 1:10:48
32楼:
其实,这是误区,界面很重要的,虽然许多程序员看不起界面设计…… 为啥OS越来越漂亮,就是因为用户喜欢啊,所以一直不遗余力的在进化,从DOS那种纯黑的字符界面到WIN3.x之前的简陋图形界面,再到WIN95的划时代精致拟真的立体界面,后再进一步进化到开始唯美的XP质感界面,然后到VISTA、WIN7巅峰的华丽界面,接下来走了回头路,重新进入到2D大色块的狗屎WIN8/10界面,以至于这2代系统我直接跳过,从WIN7直接到WIN11。WIN11界面除了按钮风格外(感觉和窗体的质感艺术界面不搭调),我觉得比WIN7更漂亮,更唯美……但如果论按钮、选项卡等组件的风格,还是XP的最有质感、最美!
----------------------------------------------
-
作者:
2023/5/18 17:31:28
33楼:
不是程序员看不起界面设计,是程序员做 UI 设计,本身这件事就不专业。 楼主用微软 Windows 来举例,不太恰当。 微软现在不是以用户为中心,以推广自己的产品为核心。 Google 的浏览器也在走同样的道路。 一家独大。没有竞争,就是这样。 好看也是要付出代价的。 看看支付宝就知道了。东西太多(前期没有规划好吧)。 改了又改,优了又优,还是将手机越拖越慢。 UI 设计,这个东西及其主观性。 在国内,公司老总说这样,就是这样。你我大家认为,都不重要。 很多公司老总不懂技术,就喜欢折腾界面。他以为他是最专业的。 CS 界面,丑陋的一塌糊涂。大家也不在意,功能稳定,能用就行; BS 界面,花里胡哨。彻底跑偏。 真正爱好编码的,谁又愿意花精力去折腾 UI。 Torvalds 弄了个 linux 操作系统、也弄了个 git,都是没有界面的幺。 小厂都是程序员充当美工。能好看到哪里去。 大厂的行业软件,华为、海康的管理软件,界面及其素淡。 浅色调为主。非常简洁。符合国际潮流。 界面颜色不超过三种。否则就会亮瞎你的狗眼。 看看汽车车标的设计就知道了,简洁。是永恒不变的真理。 奥迪、奔驰车标漂亮、好看、大气、上档次吧。没有人会反对吧。 主观了不是。
----------------------------------------------
武汉天气不好
作者:
2023/5/19 11:58:49
34楼:
to dbyoung: 你说的也有一定道理。不过现实中确实有很多程序员看不起UI设计,觉得那个没技术含量,不值一提。其实,UI设计搞的很另类很漂亮确实有难度,但遵循标准搞出来至少不丑,许多程序员不会UI设计,但也不遵循标准,所以搞出来的东西难看又难用…… 拿微软的OS演化举例,其实还算是比较恰当的,总体上遵循从简单、丑陋到复杂、美观的路线在前进。 保时捷车标挺复杂的,但看起来也不错
----------------------------------------------
-