精易论坛

标题: 标题栏模拟_GDI+版v1.6(集成GDI+2.4.1) ,MDI窗口模拟应用 [打印本页]

作者: sadamu999    时间: 2023-10-6 15:57
标题: 标题栏模拟_GDI+版v1.6(集成GDI+2.4.1) ,MDI窗口模拟应用
模块应用MDI窗口:


标题栏模拟_GDI+版v1.6(集成GDI+2.4.1)  
精易论坛号:sadamu999

功能:
       1. 主要实现标题栏部分加菜单和按钮(可自定义)
       2. 绘制了窗口的边框
       3. 应用到MDI窗口时保持效果

问题:
       1. 拖动改变窗口大小时,易控件会闪烁(搜到一些解决方法,但技术有限)
       2. 感觉卡顿,不流畅(还是技术问题)
       3. 模块内无阴影功能、透明功能(可外部添加)

预期:
       标题栏背景色上下渐变,左右渐变,加滚动字幕,菜单置正常位置和置标题栏的切换等等

感想:
       从API到GDI,再到GDI+,实在是太难了。
       源码下载了一堆,要不英文多,要不无注释,慢慢啃了好久才有这个模块。
       现在再回头看易语言TV的自绘视频教程好象能听懂了,呵呵

       论坛的精币全部用来下载源码了,所以......

源码:
       标题栏模拟_GDI 版.rar (1.55 MB, 下载次数: 305)

图标及PSD文件:
       pic.rar (2.1 MB, 下载次数: 124)

       感受到自学的不易,我的源码都注释的很仔细,希望帮得到你!








补充内容 (2023-10-10 15:03):
61楼,小更新了一下,标题栏模拟_GDI+版v1.6.1
作者: zifeiyu    时间: 2023-10-6 16:00
66666666666666666666666
作者: 784326742    时间: 2023-10-6 17:38
加油 你可以的
作者: 空竹    时间: 2023-10-6 17:45
下载感受下
作者: 亿意亦易    时间: 2023-10-6 18:24

加油 你可以的
作者: skyhyb    时间: 2023-10-6 18:29
你好,我想看看
作者: cqcc    时间: 2023-10-6 18:42
不错,支持开源
作者: pipicool    时间: 2023-10-6 19:04
学习一下
作者: ZHuanR    时间: 2023-10-6 19:15
新技能已get√
作者: qingtongpang    时间: 2023-10-6 19:20
6666666666666666
作者: kantal    时间: 2023-10-6 19:35
支持开源~!感谢分享~!
作者: 布点脚本师    时间: 2023-10-6 19:40
        支持开源~!感谢分享
作者: aini1wna2    时间: 2023-10-6 20:34
支持开源~!感谢分享
作者: 给自己留一片天空    时间: 2023-10-6 21:32
支持开源~!感谢分享
作者: elixdsx    时间: 2023-10-6 21:56
感谢分享·~!~!
作者: freeocean    时间: 2023-10-6 23:11
zr赠人玫瑰手有余香
作者: zzzyf    时间: 2023-10-7 00:55
#在这里快速回复#        感谢分享,很给力!~
作者: 皮卡秋    时间: 2023-10-7 02:54
自绘库起步阶段,哈哈
作者: a3960382663    时间: 2023-10-7 06:19
自学的不易
作者: 一指温柔    时间: 2023-10-7 08:32
感谢分享
作者: shaozhu    时间: 2023-10-7 09:20
感谢分享
作者: 云韵    时间: 2023-10-7 09:31
支持一下也来学习学习
作者: bianyuan456    时间: 2023-10-7 11:18
已经顶贴,感谢您对论坛的支持!
作者: bianyuan456    时间: 2023-10-7 11:22
已经顶贴,感谢您对论坛的支持!
作者: 忧郁之子    时间: 2023-10-7 12:12
好东西,谢谢分享,支持一下。
作者: 胖子葛格    时间: 2023-10-7 14:15
感谢大神分享~!
作者: 薇沐啊    时间: 2023-10-7 14:40
感谢分享
作者: fxchenglong1    时间: 2023-10-7 15:30

作者: 光影魔术    时间: 2023-10-7 18:02
感谢分享
作者: qqmqqg    时间: 2023-10-7 18:25
6666666666666666
作者: zaozi    时间: 2023-10-7 18:29
支持开源~!感谢分享
作者: 夏亿    时间: 2023-10-7 21:21
感谢分享
作者: 深圳梦    时间: 2023-10-7 22:07
        支持开源~!感谢分享
作者: 缘定今生    时间: 2023-10-8 13:52
有财人真是多啊
作者: 缘定今生    时间: 2023-10-8 13:52
找了好久都没有找到这样的例子
作者: 缘定今生    时间: 2023-10-8 13:52
谢谢版主无私贡献
作者: 缘定今生    时间: 2023-10-8 13:54
这个PSD文件可以自己修改吧
作者: 缘定今生    时间: 2023-10-8 13:55

作者: gyt1978    时间: 2023-10-8 16:38
自学的不易,回复就是支持
作者: Efly    时间: 2023-10-8 17:28
@sadamu999 用一下这个模块,在启动窗口里使用启动窗口的句柄,试试组件还闪烁不

组件不再闪烁.rar

843 Bytes, 下载次数: 1, 下载积分: 精币 -2 枚


作者: sadamu999    时间: 2023-10-8 18:23
Efly 发表于 2023-10-8 17:28
@sadamu999 用一下这个模块,在启动窗口里使用启动窗口的句柄,试试组件还闪烁不 ...

试了下,单窗口有改善,不彻底,多窗口时无用。
我知道的防止易组件闪烁方法大概有:
1. 只要“WS_BORDER”这一个风格就行,但是不支持窗口圆角,圆角就失效了。
2. 有个源码:窗口非客户区扩展自定义,也可以不闪,但一样不能圆角。
3. 用分层窗口可以不闪烁,但不支持易组件了(还没试过,只是了解了下)。
4. 还可以用剪辑区的概念,就是说刷新时不刷新易组件(这个应该靠谱,有空先试这个)。
只能说还有待学习,不过还是感谢你的关心和帮助!
作者: sadamu999    时间: 2023-10-8 18:24
缘定今生 发表于 2023-10-8 13:54
这个PSD文件可以自己修改吧

可以的,既然发出来,就是给大家用的
作者: 619561615    时间: 2023-10-8 18:51
        支持开源~!感谢分享
作者: wll138    时间: 2023-10-8 21:32
1111111111111111111111111111111
作者: wll138    时间: 2023-10-8 21:33
11111111111111111111111111111111111111111111111
作者: tsl0413    时间: 2023-10-9 00:04
感谢分享,很给力!~
作者: Efly    时间: 2023-10-9 00:37
sadamu999 发表于 2023-10-8 18:23
试了下,单窗口有改善,不彻底,多窗口时无用。
我知道的防止易组件闪烁方法大概有:
1. 只要“WS_BORDER ...

我通常都是每一个父窗口用一次,对应每一个父窗口下面的组件,通常都可以使用双缓冲模式解决闪烁
作者: Efly    时间: 2023-10-9 00:39
今天在上班,没有带源码,源码是这样的

组件不再闪烁.e

2.59 KB, 下载次数: 2, 下载积分: 精币 -2 枚


作者: shandian888    时间: 2023-10-9 06:42
支持开源~!感谢分享
作者: lgbc    时间: 2023-10-9 06:59
点个赞鼓励!!
作者: 396384183    时间: 2023-10-9 07:16

感谢分享
作者: 情人节猫猫    时间: 2023-10-9 12:50
开始我以为是半透明的窗口呢。有点失望
作者: sadamu999    时间: 2023-10-9 15:30
情人节猫猫 发表于 2023-10-9 12:50
开始我以为是半透明的窗口呢。有点失望

可以外部实现啊,源码压缩包内的“MDI窗口模拟 - 0.2”就是半透明的示例。
作者: sadamu999    时间: 2023-10-9 15:33
Efly 发表于 2023-10-9 00:37
我通常都是每一个父窗口用一次,对应每一个父窗口下面的组件,通常都可以使用双缓冲模式解决闪烁 ...

源码自绘部分就是用的双缓冲模式,只是因为设置了分层窗口样式,又要显示易控件,所以就会引起易控件闪烁
作者: sadamu999    时间: 2023-10-9 15:47
本帖最后由 sadamu999 于 2023-10-9 15:49 编辑
Efly 发表于 2023-10-9 00:37
我通常都是每一个父窗口用一次,对应每一个父窗口下面的组件,通常都可以使用双缓冲模式解决闪烁 ...

插入你提供的代码到源码内的位置:
F:\E\E编程序\标题栏模拟_GDI+版\无标题.png
有效果,但是不能彻底解决,非常感谢你的支持!



作者: wang8679506    时间: 2023-10-9 21:08
感谢大佬分享  学习一下
作者: zjbdsg    时间: 2023-10-10 00:43
66666666666666666
作者: 擎天007    时间: 2023-10-10 11:10
标题栏模拟_GDI+版v1.6(集成GDI+2.4.1) ,MDI窗口模拟应用 [修改]
作者: shandian888    时间: 2023-10-10 11:19
支持开源~!感谢分享
作者: 84915659    时间: 2023-10-10 12:00
确实有点牛逼呀
作者: sadamu999    时间: 2023-10-10 15:02
标题栏模拟_GDI+版v1.6.1

更新:
        1. 修复了一个内存泄漏
        2. 感谢坛友“Efly”,改了窗口样式,现在单窗口改变大小时完全不闪烁了,
            MDI窗口时还不行,而且界面打开感觉更慢了。
        3. 略精简了下代码

源码:         标题栏模拟_GDI 版v1.6.1集成2.4.1 .e (1010.27 KB, 下载次数: 145)

作者: 阿Q3    时间: 2023-10-10 18:12
进来看看 并膜拜大神 顺道取走一个币虽然看不大懂
作者: shuya1    时间: 2023-10-10 20:45
感谢分享,很给力!~
作者: 黑哥论贱    时间: 2023-10-11 00:43
感谢大佬分享  学习一下
作者: zjbdsg    时间: 2023-10-11 05:10
2222222222222
作者: 给自己留一片天空    时间: 2023-10-11 08:56
感谢分享,很给力!~
作者: 舒米勒    时间: 2023-10-11 10:41
感谢分享,很给力!~
作者: w1398113241    时间: 2023-10-11 15:41
感谢大佬
作者: y82799872    时间: 2023-10-11 21:48
感谢分享
作者: xf702    时间: 2023-10-11 21:54
向大师学习。。。
作者: xx1231    时间: 2023-10-12 10:38
支持开源~!感谢分享
作者: 净谭    时间: 2023-10-12 13:15
66666666666666666
作者: david830311    时间: 2023-10-12 15:54
谢谢楼主,感谢楼主分享!
作者: a1226010554    时间: 2023-10-12 19:03
谢谢楼主,感谢楼主分享!
作者: qq73s5456    时间: 2023-10-12 19:16
开源 可以, 不错。
作者: 华夏老中医    时间: 2023-10-12 20:15
感谢分享,很给力!~
作者: e小鸟168    时间: 2023-10-12 22:53
有点牛逼
作者: 零食困难户    时间: 2023-10-13 09:19
sadamu999 发表于 2023-10-10 15:02
标题栏模拟_GDI+版v1.6.1

更新:

感谢大佬
作者: 世川    时间: 2023-10-13 14:20
有些牛!!!
作者: 26879156    时间: 2023-10-13 23:34
支持开源~!感谢分享
作者: chenxueyou    时间: 2023-10-15 07:35
从API到GDI,再到GDI+,实在是太难了
作者: sqx    时间: 2023-10-15 15:33
就拦截了
作者: sqx    时间: 2023-10-15 15:33
给跟给跟老家里给跟给跟给跟
作者: sqx    时间: 2023-10-15 15:33
好好给跟给跟给跟给跟给跟给跟给
作者: sqx    时间: 2023-10-15 15:34
哈哈哈哈哈哈哈哈
作者: 像神一样飘渺    时间: 2023-10-17 11:03
感谢分享
作者: ningjz    时间: 2023-10-17 21:00
示例图那个源码有吗
作者: sadamu999    时间: 2023-10-18 12:58
ningjz 发表于 2023-10-17 21:00
示例图那个源码有吗

示例在源码里,有很多自定义项,如圆角、直角、标题背景色、边框颜色等,试下吧!
作者: hymm2003    时间: 2023-10-18 23:14
谢谢分享
作者: 郑701    时间: 2023-10-19 13:44
感谢分享
作者: chichi027    时间: 2023-10-21 09:34
怎么刷新一下扣3分啊
作者: qianfuquan886    时间: 2023-10-25 18:25

作者: dmxbzb    时间: 2023-10-27 16:34
谢谢分享
作者: dmxbzb    时间: 2023-10-27 16:34
支持一下
作者: 李泽勇2    时间: 2023-10-29 09:31
sadamu999 发表于 2023-10-10 15:02
标题栏模拟_GDI+版v1.6.1

更新:

非常感谢,下载学习了。
作者: dmxbzb    时间: 2023-10-31 16:15
谢谢分享
作者: dmxbzb    时间: 2023-10-31 16:16
学习一下
作者: 杨京廷    时间: 2023-11-3 10:05
学习一下
作者: xl970525    时间: 2023-11-5 16:06
学习一下
作者: ldhhflhl08    时间: 2023-11-6 18:01
好好学习天天向上牛啊




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4