精易论坛

标题: 超级好看的GdiPlus类自绘提示框 仿web页面插件效果 [打印本页]

作者: houtian    时间: 2024-1-21 19:56
标题: 超级好看的GdiPlus类自绘提示框 仿web页面插件效果
本帖最后由 houtian 于 2024-1-22 15:06 编辑





上次的单窗口提示框在这里
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14809160

现在把以前的想法完善了,能够90%还原网页效果,更加美观强大

主要功能


使用帮助
提示框已经编译成模块以便调用,调用了GdiPlus类,可以自行扣出代码
需要使用程序集变量或者全局变量定义提示框类,在窗口创建完毕或者首次激活中初始化千万不要用局部变量
因为这个提示框本质上是创建了一个与窗口等大的窗口作为画板浮在源窗口上,然后进行画图





2024年1月21日 23:02:35 已更新附件,加入了提示音(因为懒只加入了一种),可以扩展为每个类型一种
2024年1月22日 13:15:58 已更新附件,加入了点击回调,父窗口大小改变会同步改变

提示框_20240122.7z (289.15 KB, 下载次数: 265)






补充内容 (2024-1-23 17:35):
死循环解决办法
在工具->系统配置->编辑时是否检测死循环代码  把√去掉   
或者定义个逻辑型程序集变量  设置为真  在刷新画板的循环里面把真换掉

补充内容 (2024-1-30 19:00):
2024-01-30 18:52:52 修复子窗口打开关闭崩溃问题  87楼

补充内容 (2024-4-3 20:11):
超级好看的GdiPlus类自绘自适应提示框  更新了
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14813683
(出处: 精易论坛)

作者: 447485268    时间: 2024-1-21 19:59
支持开源~!感谢分享
作者: 远赴    时间: 2024-1-21 20:06
新技能已get√
作者: 王筅笙    时间: 2024-1-21 20:11
新技能已get√
作者: 0小白    时间: 2024-1-21 20:19
现在把以前的想法完善了,能够90%还原网页效果,更加美观强大
作者: 聿聿    时间: 2024-1-21 20:43
太强了,感谢分享
作者: 小虎来了    时间: 2024-1-21 20:44
顶一下。感谢分享
作者: abpyu    时间: 2024-1-21 21:22
谢谢大佬分享
作者: 灵海雪缘    时间: 2024-1-21 21:34

作者: 猫猫Angel    时间: 2024-1-21 21:49
新技能已get√
作者: 易神    时间: 2024-1-21 21:53
谢谢分享
作者: xf702    时间: 2024-1-21 22:11
收藏备用。。。
作者: 安陆华硕专卖    时间: 2024-1-21 22:23
谢谢分享
作者: 皮卡秋    时间: 2024-1-21 22:37
不错,支持开源有知代码
作者: houtian    时间: 2024-1-21 23:06
易神 发表于 2024-1-21 21:53
谢谢分享

感谢建议,提示音已加入
作者: xcw    时间: 2024-1-21 23:16
学习学习
作者: ZHuanR    时间: 2024-1-21 23:27
新技能已get√
作者: 易神    时间: 2024-1-21 23:29
houtian 发表于 2024-1-21 23:06
感谢建议,提示音已加入

效率真是高啊
作者: 光影魔术    时间: 2024-1-22 00:34
感谢分享
作者: bianyuan456    时间: 2024-1-22 00:37
已经顶贴,感谢您对论坛的支持!
作者: 深圳梦    时间: 2024-1-22 00:42
感谢分享,很给力!~
作者: qqmqqg    时间: 2024-1-22 01:03
666666666666666666
作者: 咸鱼666    时间: 2024-1-22 03:28
最好支持适应可调窗口,监听下父窗口的尺寸变化或者加个函数
作者: 查过    时间: 2024-1-22 07:44
已经顶贴,感谢您对论坛的支持!
作者: 豆豆灰常开心    时间: 2024-1-22 07:49
全都是大佬~
作者: orjg    时间: 2024-1-22 08:15

感谢分享,期待继续完善
作者: wgqxj    时间: 2024-1-22 09:03
谢谢分享
作者: 圆圈    时间: 2024-1-22 09:11

作者: WinkAI    时间: 2024-1-22 09:43
楼主麻烦问下这个有影响吗


作者: 虚vs伪    时间: 2024-1-22 09:53
好看,支持一下
作者: houtian    时间: 2024-1-22 09:56
WinkAI 发表于 2024-1-22 09:43
楼主麻烦问下这个有影响吗

在工具->系统配置->编辑时是否检测死循环代码  把√去掉   
或者定义个逻辑型程序集变量  设置为真  在刷新画板的循环里面把真换掉
作者: houtian    时间: 2024-1-22 10:02
咸鱼666 发表于 2024-1-22 03:28
最好支持适应可调窗口,监听下父窗口的尺寸变化或者加个函数

本来是监听窗口尺寸变化更改画布的大小,直接更改尺寸还好,如果是鼠标拖动边框修改 没法很好的判断修改尺寸完成,造成闪烁  太影响美观
作者: 咸鱼666    时间: 2024-1-22 10:27
houtian 发表于 2024-1-22 10:02
本来是监听窗口尺寸变化更改画布的大小,直接更改尺寸还好,如果是鼠标拖动边框修改 没法很好的判断修改 ...

鼠标拖动的话,我的解决办法是,接收到变化消息后,启动线程处理变化,开头加入判断是否处理中,处理中就直接返回
作者: 我們還太嫩    时间: 2024-1-22 11:04
有单击 后的事件就好了
作者: pipicool    时间: 2024-1-22 12:30
学习一下
作者: houtian    时间: 2024-1-22 13:20
咸鱼666 发表于 2024-1-22 10:27
鼠标拖动的话,我的解决办法是,接收到变化消息后,启动线程处理变化,开头加入判断是否处理中,处理中就 ...

查了下API  通过WM_ENTERSIZEMOVE和WM_EXITSIZEMOVE判断窗口调整  然后根据窗口尺寸是否改变 再改变画板的大小  也能够实现了
作者: houtian    时间: 2024-1-22 13:20
我們還太嫩 发表于 2024-1-22 11:04
有单击 后的事件就好了

点击回调已安排
作者: kyo9766    时间: 2024-1-22 14:10
很漂亮,感谢分享
作者: 星空漫步    时间: 2024-1-22 14:12
支持开源~!感谢分享
作者: shuya1    时间: 2024-1-22 14:34
支持开源~!感谢分享
作者: 小松    时间: 2024-1-22 14:43
支持开源~!感谢分享
作者: 396384183    时间: 2024-1-22 17:27
谢谢分享
作者: zhangchao123    时间: 2024-1-22 17:35
发发给对方
作者: 撒加    时间: 2024-1-22 17:49
而你,我的朋友,你才是真正的英雄!
作者: HuangYanHui    时间: 2024-1-22 20:40
那个提示 怎么设置总在最前?
作者: シ钟意妳゛つ    时间: 2024-1-23 00:13
感谢分享~~~~
作者: 查过    时间: 2024-1-23 07:56
感谢分享,很给力!~
作者: 豆豆灰常开心    时间: 2024-1-23 08:01
已经顶贴,感谢您对论坛的支持!
作者: 胖子葛格    时间: 2024-1-23 08:35
感谢大神分享~!
作者: year1970    时间: 2024-1-23 09:09
感谢分享
作者: xuanxuan520    时间: 2024-1-23 10:50
        而你,我的朋友,你才是真正的英雄!
作者: jysoft2022    时间: 2024-1-23 12:22
谢谢分享
作者: 六先生    时间: 2024-1-23 12:49
感谢分享
作者: 四叔    时间: 2024-1-23 13:28
兄弟,你很帅
作者: xiaolang5499    时间: 2024-1-23 18:25
感谢大神的无私奉献!
作者: renjianhong48we    时间: 2024-1-23 19:50
感谢分享
作者: 七颗心    时间: 2024-1-23 23:06
感谢分享~!
作者: 查过    时间: 2024-1-24 07:06
感谢楼主分享!
作者: 豆豆灰常开心    时间: 2024-1-24 07:10
已经顶贴,感谢您对论坛的支持!
作者: 一指温柔    时间: 2024-1-24 09:34
感谢分享,很给力!~
作者: 薇沐啊    时间: 2024-1-24 19:38
感谢分享
作者: 1043603367    时间: 2024-1-24 23:02
支持exui吗
作者: shaokui123    时间: 2024-1-25 08:48
感谢分享,很给力!~
作者: 一指温柔    时间: 2024-1-25 09:13
支持开源~!感谢分享
作者: 515667395    时间: 2024-1-25 13:58
多谢分享
作者: macdom    时间: 2024-1-25 19:19
收下我的膝盖!
作者: macdom    时间: 2024-1-25 19:19
NNNNNNNNNNNNNNNNNNNNNNNNNBBBBBBBBBBBBBBBBBBBBBBBBBBBB
作者: qianfuquan886    时间: 2024-1-25 21:52

作者: shaokui123    时间: 2024-1-26 08:33
感谢分享,很给力!~
作者: shaokui123    时间: 2024-1-26 08:33
感谢分享,很给力!~
作者: 轻舟开发    时间: 2024-1-26 15:06
111111111111111111111111111
作者: 110qwe110    时间: 2024-1-27 00:42
        而你,我的朋友,你才是真正的英雄
作者: shaokui123    时间: 2024-1-27 11:29
感谢分享,很给力!~
作者: shaokui123    时间: 2024-1-27 11:30
感谢分享,很给力!~
作者: 布鲁惠斯    时间: 2024-1-27 17:37
感谢分享,很给力!~
作者: a1445240821    时间: 2024-1-27 21:41

NNNNNNNNNNNNNNNNNNNNNNNNNBBBBBBBBBB
作者: a1445240821    时间: 2024-1-27 21:41

NNNNNNNNNNNNNNNNNNNNNNNNNBBBBBBBBBB
作者: shaokui123    时间: 2024-1-28 01:44
谢谢分享!
作者: shaokui123    时间: 2024-1-28 01:45
谢谢分享!
作者: w521521    时间: 2024-1-28 08:58
感谢分享,很给力!~
作者: ctry78985    时间: 2024-1-28 12:34
感谢分享
作者: 阴影    时间: 2024-1-28 20:00
感谢分享,很给力!~
作者: yokie    时间: 2024-1-29 09:02
发现个问题,启动窗口载入A窗口,A窗口使用该提示框,首次激活初始化后,关闭创窗口在打开,使用展示时间-1.就会卡死,提示框闪,关之后超数组

8mw0j-gosd4.gif (2.71 MB, 下载次数: 3)

8mw0j-gosd4.gif

作者: houtian    时间: 2024-1-29 09:11
yokie 发表于 2024-1-29 09:02
发现个问题,启动窗口载入A窗口,A窗口使用该提示框,首次激活初始化后,关闭创窗口在打开,使用展示时间-1 ...

定义的是程序集变量,你窗口销毁  变量并不会销毁, 你需要做销毁处理
作者: yokie    时间: 2024-1-30 08:51
houtian 发表于 2024-1-29 09:11
定义的是程序集变量,你窗口销毁  变量并不会销毁, 你需要做销毁处理

销毁之后,我整个程序都关闭了
作者: zhei87    时间: 2024-1-30 17:02
yokie 发表于 2024-1-30 08:51
销毁之后,我整个程序都关闭了

我的也是同样问题,在子窗口中使用就会出错
作者: houtian    时间: 2024-1-30 18:59
2024-01-30 18:52:52 修复子窗口打开关闭崩溃问题

问题在于多个变量重复初始化GdiPlus,调用销毁后关闭GdiPlus
数组问题是未重定义数组,在初始化或者销毁重定义为空数组就行,我放在了初始化里

提示框20240130.7z (326.92 KB, 下载次数: 34)

作者: houtian    时间: 2024-1-30 19:00
yokie 发表于 2024-1-30 08:51
销毁之后,我整个程序都关闭了

已修复  附件在87楼
作者: houtian    时间: 2024-1-30 19:01
zhei87 发表于 2024-1-30 17:02
我的也是同样问题,在子窗口中使用就会出错

已修复  附件在87楼
作者: yueyingCA    时间: 2024-2-1 00:04
支持开源感谢分享
作者: シ钟意妳゛つ    时间: 2024-2-1 04:35
错误所处位置: 模块:"後天_提示框"; 程序集:"类_提示框"; 子程序:"刷新画板" 错误(10064): 发现死循环代码。
作者: houtian    时间: 2024-2-7 19:35
シ钟意妳゛つ 发表于 2024-2-1 04:35
错误所处位置: 模块:"後天_提示框"; 程序集:"类_提示框"; 子程序:"刷新画板" 错误(10064): 发现死循环代码 ...

死循环问题上面已经说明了, 改下配置就行
作者: 平谈    时间: 2024-2-10 10:01
学习了一下
作者: wgqxj    时间: 2024-2-26 12:50
谢谢分享
作者: yongshaoxia    时间: 2024-2-26 13:54
6666666666666666666666666666666
作者: ttkk0002    时间: 2024-3-1 14:17
能不能再加一个高度啊,太大了,看起来.感谢大佬

作者: houtian    时间: 2024-3-1 15:43
ttkk0002 发表于 2024-3-1 14:17
能不能再加一个高度啊,太大了,看起来.感谢大佬

根据需求调整下里面的数值就可以, 默认高度是60, 上下左右边距是12, 文本距离上下20, 图标32*32
修改完后在改下动画位置就行
作者: ttkk0002    时间: 2024-3-2 00:32
houtian 发表于 2024-3-1 15:43
根据需求调整下里面的数值就可以, 默认高度是60, 上下左右边距是12, 文本距离上下20, 图标32*32
修改完后 ...


佬,这个在哪里改啊

作者: houtian    时间: 2024-3-2 08:08
ttkk0002 发表于 2024-3-2 00:32
佬,这个在哪里改啊

刷新画板中, 多个纵向偏移 60 / 66修改下
作者: 易小生    时间: 2024-3-3 18:33
难懂的代码千篇一律, 好看的界面效果万里挑一




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