精易论坛

标题: 窗口尺寸调整_避免闪烁例子 [打印本页]

作者: lianzuo123    时间: 2024-4-1 16:14
标题: 窗口尺寸调整_避免闪烁例子
本帖最后由 lianzuo123 于 2024-4-1 16:19 编辑
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
m_old_proc整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
m_old_proc = SetWindowLongA (_启动窗口.取窗口句柄 (), -4, 到整数 (&win_proc))
子程序名返回值类型公开备 注
win_proc整数型 
参数名类 型参考可空数组备 注
hwnd整数型
wMsg整数型
wParam整数型
lParam整数型
' 调试输出 (wMsg)
' 禁止重画 跟 允许重画 可以不加
如果真 (wMsg = 5)
调试输出 (“WM_SIZE--拦截此消息,不在此处调整窗口,如果控件过多可能会造成闪烁”)
返回 (0)

判断 (wMsg = 561)
调试输出 (“WM_ENTERSIZEMOVE---开始调整窗口尺寸/位置”)
_启动窗口.禁止重画 ()
判断 (wMsg = 562)
调试输出 (“WM_EXITSIZEMOVE--调整尺寸/位置完毕了,才此处调用”)
_启动窗口.允许重画 ()
__启动窗口_尺寸被改变 ()



返回 (CallWindowProcA (m_old_proc, hwnd, wMsg, wParam, lParam))
子程序名返回值类型公开备 注
__启动窗口_尺寸被改变  
调试输出 (取程序名称 (1))


i支持库列表   支持库注释   
spec特殊功能支持库



  
DLL命令名返回值类型公开备 注
SetWindowLongA整数型 在窗口结构中为指定的窗口设置信息  指定数据的前一个值
DLL库文件名:
user32.dll
在DLL库中对应命令名:
SetWindowLongA
参数名类 型传址数组备 注
hwnd整数型句柄
nIndex整数型-16=样式,-20=扩展样式
dwNewLong整数型新样式
DLL命令名返回值类型公开备 注
CallWindowProcA整数型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
CallWindowProcA
参数名类 型传址数组备 注
窗口程序指针整数型
hwnd整数型
消息值整数型
参数1整数型
参数2整数型



作者: lianzuo123    时间: 2024-4-1 16:15
正好用到,但是找了下论坛没什么资料.自己研究了下..分享给大家
作者: 447485268    时间: 2024-4-1 16:16
支持开源~!感谢分享
作者: 深圳梦    时间: 2024-4-1 16:22
支持开源~!感谢分享
作者: fire9    时间: 2024-4-1 16:43

支持开源~!感谢分享
作者: sadamu999    时间: 2024-4-1 17:35
支持开源~!感谢分享
作者: bianyuan456    时间: 2024-4-1 18:19
已经顶贴,感谢您对论坛的支持!
作者: kingchain    时间: 2024-4-1 20:18
谢谢分享
作者: vcenio    时间: 2024-4-1 21:01

谢谢分享
作者: qqmqqg    时间: 2024-4-1 21:04
6666666666666666666
作者: 亿万    时间: 2024-4-1 21:12
感谢分享
作者: ZHuanR    时间: 2024-4-2 07:06
新技能已get√
作者: fengyyun    时间: 2024-4-2 08:05
支持开源~!感谢分享

作者: kike    时间: 2024-4-2 08:25
精易有你更精彩
作者: jysoft2022    时间: 2024-4-2 14:54
感谢分享
作者: kyo9766    时间: 2024-4-2 16:37
学习一下怎么不闪烁,感谢分享
作者: 天雨时晴    时间: 2024-4-2 21:42
谢谢分享,学习了.
作者: 396384183    时间: 2024-4-3 13:42
谢谢分享
作者: 五花牛    时间: 2024-4-3 13:43
谢谢分享
作者: year1970    时间: 2024-4-4 09:28
感谢分享
作者: 兮籽    时间: 2024-4-5 12:48
但是改变窗口位置不改变尺寸也会重画导致每次移动都闪烁
作者: 兮籽    时间: 2024-4-5 13:49
兮籽 发表于 2024-4-5 12:48
但是改变窗口位置不改变尺寸也会重画导致每次移动都闪烁

C:\Users\Administrator\Desktop\65.jpg
作者: 兮籽    时间: 2024-4-5 13:51
兮籽 发表于 2024-4-5 13:49

解决了 .版本 2
.支持库 const

.判断开始 (wMsg = #WM_SIZING)
    _启动窗口.禁止重画 ()
  


改这个就行了
作者: 光影魔术    时间: 2024-4-9 08:23
感谢分享
作者: wolfpack    时间: 2024-5-8 22:39
谢谢分享。。。。。。。。。。。。
作者: a3960382663    时间: 2024-5-13 16:17
感谢分享,很给力!~
作者: jingyi2020    时间: 2024-7-25 22:42
必须支持开源 学些了
作者: Cobra    时间: 2024-11-1 19:13
是不闪烁了,但有一个问题,就是拉大窗口拉大的尺寸是黑色的!




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