找回密码
 加入
搜索
楼主: lanfengc

[效率算法] 窗体控件移动类---超多控件整体高效移动[已解决]

 火.. [复制链接]
 楼主| 发表于 2012-5-5 21:27:05 | 显示全部楼层
http://www.autoitx.com/forum.php ... hlight=%D7%D3%B4%B0
子窗体创建及特效操作。 我找到了。试试。
发表于 2012-5-5 21:27:41 | 显示全部楼层
回复 11# lanfengc


    创建个 $WS_POPUP 样式 及 $WS_EX_MDICHILD 扩展样式的子窗体,WinMove 移动子窗体时_WinAPI_SetWindowRgn 指定显示区域
发表于 2012-5-5 21:30:44 | 显示全部楼层
试了下,果然移动很慢,就跟在Koda中整体移动很多控件一样,速度很让我抓狂!
发表于 2012-5-5 21:38:23 | 显示全部楼层
不用lable直接用bitmap行不
发表于 2012-5-5 21:40:15 | 显示全部楼层
本帖最后由 水木子 于 2012-5-5 21:42 编辑

#include <Constants.au3>
#include <WindowsConstants.au3>

Global $aButton[1000] ;总数
Global $iNumber = 100 ;每行数量
Global $iSpacingX = 9, $iSpacingY = 9 ;垂直、水平,间距
Global $iY = 0

Opt('GUIOnEventMode', 1)

$Form1 = GUICreate('', 298, 91)
GUISetOnEvent(-3, '_Events')
GUISetState()

$Form2 = GUICreate('', 910, 200, 0, 10, $WS_CHILD, $WS_EX_ACCEPTFILES, $Form1)
For $i = 0 To UBound($aButton) - 1
        $aButton[$i] = GUICtrlCreateLabel('', $iSpacingX * Mod($i, $iNumber), $iSpacingY * Floor($i / $iNumber), 10, 10, $WS_BORDER)
        If Random(1, 5, 1) = 1 Then GUICtrlSetBkColor(-1, 0xFF0000)
Next
GUISetState()

While 1
        WinMove($Form2, '', $iY, 0)
        $iY -= 9
        
        Sleep(500)
WEnd

Func _Events()
        Switch @GUI_CtrlId
                Case -3
                        Exit
        EndSwitch
EndFunc   ;==>_Events

评分

参与人数 3金钱 +47 贡献 +10 收起 理由
sanmoking + 22 + 5 超版一出手古井贡酒。
lanfengc + 10 + 5 不错。 谢谢你了,我正在改代码, 你弄好了 ...
user3000 + 15 上分表达敬佩之意!

查看全部评分

发表于 2012-5-5 21:45:06 | 显示全部楼层
回复 20# 水木子


    其实我在想,建个Listview来替换这些Label应该没有问题的,这样移动也快

评分

参与人数 1金钱 +10 收起 理由
3mile + 10 我很赞同

查看全部评分

发表于 2012-5-5 21:49:01 | 显示全部楼层
回复 20# 水木子

弄大点, 再把方向改成或上或下, 速度再加快一点, 岂不是重现了"骇客帝国"里的数码雨?
发表于 2012-5-5 21:53:30 | 显示全部楼层
回复 22# user3000
做为帮忙解决楼主的问题例子而已!

至于要加快速度,直接减少Sleep(500)时间就行了,运动方向就不用多说了吧!
发表于 2012-5-10 10:41:45 | 显示全部楼层
观摩,跟踪关注
发表于 2012-5-10 19:35:15 | 显示全部楼层
wow~Goodwow~Good
发表于 2012-5-10 21:16:15 | 显示全部楼层
good~good~
发表于 2012-5-11 12:27:45 | 显示全部楼层
回复 1# lanfengc
能看到有解决办法真是高兴啊!
发表于 2012-6-3 11:46:15 | 显示全部楼层
彻底学习一了一下,数学好,果然是好事。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-12 23:43 , Processed in 0.071599 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表