源码下载:https://gitee.com/Ailsc/Duilib.git
一步搞定:指定窗口属性layered="true",之后按照正常的UI布局即可。

<Window size="100,100" caption ="0,0,0,-1" roundcorner="2,2" layered="true" >
</Window>

Duilib源码修改

  1. 分层属性绘画窗口的地方:UIManager.cpp ==>WM_PAINT

  2. 背景色透明通道支持,UIRender.cpp==>DrawColor
#ifndef GetAValue
#define GetAValue(rgb) (LOBYTE(((DWORD)(rgb)) >> 24))
#endif


此时分层窗口就完成了。

关于分层窗口字体穿透问题可以在启用gdiplus的基础上指定:enabledeffect="true"即可解决。更多问题,可以参考博客:Duilib分层窗口存在的问题和解决办法

  • 关于背景穿透或者字体穿透的问题 ?

方法一:当透明度等于0或者等于0xff,则会发生穿透。
方法二:使用gdi+绘画背景和字体,则可以避免透明度为0xff的穿透问题

  • 关于微软雅黑字体模糊的问题?

方法一:指定字体优化(字体会变形不像雅黑):enabledeffect=“true” textrenderinghint="singlebitperpixelgridgit"
方法二:参照桌面图标的字体优化方式:增加阴影。:enabledeffect=“true” enabledstroke="true" strokecolor="#1124293E"
方法三:更换为其他字体

Duilib异形窗口相关推荐

  1. DUILIB异形窗口实现

    搞Windows程序的人尽皆知分层窗口能够实现很多不错的效果,之前看过一些异形窗口的实现,所以就手痒也想自己搞一个玩一玩.自己动手实现过程才发现还是有不少问题的. 基本思路是: 1.将窗口扩展属性设置 ...

  2. duilib 子窗口位置_duilib绝对定位与相对定位

    前言 duilib中窗口,布局,控件等在屏幕上的显示位置都是按照配置好的xml文件规则显示的,每个显示元素的位置大小也需要显式指定,才能呈现出更好看的界面效果,显示元素的位置有两种配置规则,即绝对位置 ...

  3. QT窗口:透明与半透明、不规则异形窗口、控件透明与半透明、不规则异形按钮

    目录 1.不规则异形窗口和控件的代码原理 2.主窗口全透明 3.主窗口半透明(以白里透红为例) 4.不规则异形窗口 5.不规则异形按钮 6.使用样式表实现透明与半透明 1.不规则异形窗口和控件的代码原 ...

  4. mfc异形窗口的创建

    在OnInitDialog进行窗体形状的设置 BOOL CTestWindowDlg::OnInitDialog() {CDialog::OnInitDialog();// 设置此对话框的图标.当应用 ...

  5. WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)

    在 WPF 中,如果想做一个背景透明的异形窗口,基本上都要设置 WindowStyle="None".AllowsTransparency="True" 这两个 ...

  6. [MFC] WS_EX_LAYERED 实现透明异形窗口(酷狗歌词、360加速球、窗口边缘阴影)

    关键词:WS_EX_LAYERED. UpdateLayeredWindow PC应用不少都有透明的异形窗口  比如以下程序的效果: 酷狗音乐播放器的歌词窗口(窗口除了歌词内容 其他都是透明的) 36 ...

  7. wpf异形按钮_WPF Window异形窗口演示

    我们先通过简单的效果展示,切换展示不同图片: 我们先定义图片资源文件,我们可以在window资源中定义,下面的在app.xaml文件来定义: xmlns="http://schemas.mi ...

  8. duilib 子窗口位置_duilib入门简明教程 -- 界面布局(9)

    上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的位置会跟着变化,这是因为我们将按钮放到了HorizontalLayout.VerticalLayout,这样 ...

  9. duilib : 模态窗口

    void CMainDlg::DoTask() { CTaskDlg * pDlg = NULL; pDlg = new CTaskDlg(XML_FILE_NAME_TASK_DLG, WND_CL ...

最新文章

  1. 阿里某程序员吐槽:年终奖被金融行业的老婆完爆!自己奖金15万,老婆奖金66万!...
  2. Nature:功能微生物组研究典范—采用甘露糖苷选择性抑制尿路致病性大肠杆菌...
  3. 让你秒懂的折半查找(二分查找)
  4. shell脚本接收输入
  5. web cache缓存设备的需求与讨论 ( Http://CACHE.MARASYSTEMS.ASIA )
  6. ABP框架v2.0 和 ABP商业版
  7. es multi match_PHP 的ES搜索操作
  8. oracle+prko+2006,oracle卸载Oracle Clusterware
  9. 决策树(四)--随机森林与GBDT
  10. Java Web中界面之间传值的实现方法
  11. 共享锁 排他锁 是什么区别
  12. 计算机软件怎么共享使用,局域网共享软件,教您局域网共享软件如何使用
  13. 视频教程-R语言实战之行业案例分享视频课程-其他
  14. 传智燕青学成在线项目视频分享
  15. xposed框架_免root用Xposed框架!安卓用户一定要学会
  16. 多智能体深度强化学习值分解方法总结(1)——VDN/QMIX/QTRAN/Qatten
  17. 7- 代码段权限检查与 jmp
  18. ad中那个快捷键是重复上一部_PPT中十大快捷键
  19. 不同时区时间换算_世界时区划分时差在线查询计算_时间换算器
  20. java applepay_【苹果支付】添加ApplePay的支持

热门文章

  1. 浏览器通过原生JS实现录音功能
  2. CSS基础————千本樱滑落的瞬间
  3. 仅需三步完成微信小程序注册
  4. 北航计算机控制系统实验报告,北航计算机控制系统实验报告教程.doc
  5. 键盘右Crtl键变成了鼠标键效果的解决办法
  6. Mysql之查看数据库版本
  7. 安装Office Visio 提示Office 16 Click-to-Run Extensibility Component
  8. Pycharm 安装 github copilot 报错:failed to initiate the github login process please try again
  9. K8S搭建自动化部署环境(三)Jenkins下载、安装和启动
  10. VMWare安装Kali Linux(4-4)