lanfengc 发表于 2012-5-5 21:27:05

http://www.autoitx.com/forum.php?mod=viewthread&tid=31355&highlight=%D7%D3%B4%B0
子窗体创建及特效操作。 我找到了。试试。

afan 发表于 2012-5-5 21:27:41

回复 11# lanfengc


    创建个 $WS_POPUP 样式 及 $WS_EX_MDICHILD 扩展样式的子窗体,WinMove 移动子窗体时_WinAPI_SetWindowRgn 指定显示区域

xms77 发表于 2012-5-5 21:30:44

试了下,果然移动很慢,就跟在Koda中整体移动很多控件一样,速度很让我抓狂!

seniors 发表于 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 ;总数
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

happytc 发表于 2012-5-5 21:45:06

回复 20# 水木子


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

user3000 发表于 2012-5-5 21:49:01

回复 20# 水木子

弄大点, 再把方向改成或上或下, 速度再加快一点, 岂不是重现了"骇客帝国"里的数码雨?

水木子 发表于 2012-5-5 21:53:30

回复 22# user3000
做为帮忙解决楼主的问题例子而已!

至于要加快速度,直接减少Sleep(500)时间就行了,运动方向就不用多说了吧!

bellfeige 发表于 2012-5-10 10:41:45

观摩,跟踪关注

inter701 发表于 2012-5-10 19:35:15

wow~Goodwow~Good

inter701 发表于 2012-5-10 21:16:15

good~good~

xms77 发表于 2012-5-11 12:27:45

回复 1# lanfengc
能看到有解决办法真是高兴啊!

冷玉公子 发表于 2012-6-3 11:46:15

彻底学习一了一下,数学好,果然是好事。
页: 1 [2]
查看完整版本: 窗体控件移动类---超多控件整体高效移动[已解决]