wsfda 发表于 2011-2-13 12:27:59

回复 14# ywq111


    同感,希望能更好

chenronting 发表于 2011-2-14 11:28:27

回复 10# ceoguang


    如果按你说的, 拖动时的灰框要怎么表达?

专业的门外汉笨 发表于 2011-2-14 13:32:04

回复 17# chenronting

怎么表达是我的事情,我要问的是【如何达到效果】,请不要为如何使用表达担心

chenronting 发表于 2011-2-14 18:53:28

回复 18# 专业的门外汉笨


    虽然不想回复, 但我问的不是你~
{:face (189):}

不要叫我帅哥 发表于 2011-2-16 16:32:02

#include <GUIConstants.au3>
#include <StaticConstants.au3>

$GUI = GUICreate("..Drag Test..")
GUISetBkColor(0x0000ff)
$item1 = GUICtrlCreateButton("         Drag Me", 100, 100, 200, 50)
;~DRAG CONTROLS
Local $LastClick, $SquareResizers, $Hover = -1337
$DragOverlay = GUICtrlCreateLabel("", -99, -99, 1, 1, $SS_BLACKFRAME)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 12)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 10)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 10)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 12)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 11)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 11)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
GUISetState()

While 1
      Sleep(15)
      $msg = GUIGetMsg()
      Select
                Case $msg = $GUI_EVENT_CLOSE
                        Exit
                Case $msg = $SquareResizers
                        _GUICtrlResizeNE()
                Case $msg = $SquareResizers
                        _GUICtrlResizeNW()
                Case $msg = $SquareResizers
                        _GUICtrlResizeSE()
                Case $msg = $SquareResizers
                        _GUICtrlResizeSW()
                Case $msg = $SquareResizers
                        _GUICtrlResizeN()
                Case $msg = $SquareResizers
                        _GUICtrlResizeS()
      EndSelect
      _GUICtrlDrag($Hover)
      _GUICtrlDragOverlay()
WEnd

Func _GUICtrlDragOverlay()
      $cursor = GUIGetCursorInfo()
      If IsArray($cursor) Then
                If $cursor <> 0 Then
                        If $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers Then
                              $pos = ControlGetPos($GUI, "", $cursor)
                              $pos2 = ControlGetPos($GUI, "", $DragOverlay)
                              If $pos <> $pos2+1 AND $pos <> $pos2+1 AND $pos <> $pos2-2 AND $pos <> $pos2-2 Then
                                        GUICtrlSetPos($DragOverlay, $pos-1, $pos-1, $pos+2, $pos+2)
                                        GUICtrlSetState($DragOverlay, $GUI_SHOW)
                                        GUICtrlSetState($cursor, $GUI_DISABLE)
                                        $Hover = $cursor
                              EndIf
                        EndIf
                Else
                        GUICtrlSetState($Hover, $GUI_ENABLE)
                        $Hover = -1337
                        GUICtrlSetPos($DragOverlay, -99, -99, 1, 1)
                EndIf
      EndIf
EndFunc

Func _GUICtrlResizeS()
      GUISetCursor(11)
      GUICtrlSetCursor($LastClick, 10)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos, $pos, ($cursor-$pos))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeN()
      GUISetCursor(11)
      GUICtrlSetCursor($LastClick, 11)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos-($pos-$cursor), $pos, $pos+($pos-$cursor))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeSE()
      GUISetCursor(10)
      GUICtrlSetCursor($LastClick, 10)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos-($pos-$cursor), $pos, ($pos-$cursor)+$pos, ($cursor-$pos))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeNW()
      GUISetCursor(10)
      GUICtrlSetCursor($LastClick, 10)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos-($pos-$cursor), $cursor-$pos, $pos+($pos-$cursor))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeNE()
      GUISetCursor(12)
      GUICtrlSetCursor($LastClick, 12)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      $XStayPos = $pos+$pos
      $YStayPos = $pos+$pos
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                If $cursor > $XStayPos Then $cursor = $XStayPos
                If $cursor > $YStayPos Then $cursor = $YStayPos
                GUICtrlSetPos($LastClick, $cursor, $cursor, $XStayPos-$cursor, $YStayPos-$cursor)
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeSW()
      GUISetCursor(12)
      GUICtrlSetCursor($LastClick, 12)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos, $cursor-$pos, $cursor-$pos)
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlDrag($Control, $GridScale = 0)
      Select
                Case $msg = $DragOverlay
                        For $i = 0 To UBound($SquareResizers)-1
                              GUICtrlSetState($SquareResizers[$i], $GUI_HIDE)
                        Next
                        GUICtrlSetState($DragOverlay, $GUI_HIDE)
                        GUICtrlSetCursor($Control, 9)
                        $pos = ControlGetPos($GUI, "", $Control)
                        $cursor = GUIGetCursorInfo()
                        $XStayPos = $cursor-$pos
                        $YStayPos = $cursor-$pos
                        Do
                              Sleep(5)
                              $cursor = GUIGetCursorInfo()
                              $sX = $cursor-$XStayPos
                              $sY = $cursor-$YStayPos
                              If $GridScale <> 0 Then
                                        $sX = Round($sX/$GridScale)*$GridScale
                                        $sY = Round($sY/$GridScale)*$GridScale
                              EndIf
                              GUICtrlSetPos($Control, $sX, $sY)
                        Until $cursor = 0
                        GUICtrlSetCursor($Control, 2)
                        GUICtrlSetPos($SquareResizers, $sX-3, $sY-5)
                        GUICtrlSetPos($SquareResizers, ($sX+$pos)-2, $sY-5)
                        GUICtrlSetPos($SquareResizers, $sX-3, $sY+$pos)
                        GUICtrlSetPos($SquareResizers, ($sX+$pos)-2, $sY+$pos)
                        GUICtrlSetPos($SquareResizers, (($sX+$pos)-($pos/2)), $sY-5)
                        GUICtrlSetPos($SquareResizers, (($sX+$pos)-($pos/2)), $sY+$pos)
                        For $i = 0 To UBound($SquareResizers)-1
                              GUICtrlSetState($SquareResizers[$i], $GUI_SHOW)
                        Next
                        $pos = ControlGetPos($GUI, "", $cursor)
                        GUICtrlSetPos($DragOverlay, $pos-1, $pos-1, $pos+2, $pos+2)
                        GUICtrlSetState($DragOverlay, $GUI_SHOW)
                        $LastClick = $Control
      EndSelect
EndFunc


不知道是不是这种效果

专业的门外汉笨 发表于 2011-2-16 17:22:09

#include
#include#include <GUIConstants.au3>
#include <StaticConstants.au3>

$GUI = GUICreate("..Drag Test..")
GUISetBkColor(0x0000ff)
$item1 = GUICtrlCreateButton("         Drag Me", 100, 100, 200, 50)
;~DRAG CONTROLS
Local $LastClick, $SquareResizers, $Hover = -1337
$DragOverlay = GUICtrlCreateLabel("", -99, -99, 1, 1, $SS_BLACKFRAME)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 12)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 10)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 10)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 12)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 11)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
$SquareResizers = GUICtrlCreateLabel("", 0, 0, 5, 5)
GUICtrlSetCursor(-1, 11)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlSetState(-1,$GUI_HIDE)
GUISetState()

While 1
      Sleep(15)
      $msg = GUIGetMsg()
      Select
                Case $msg = $GUI_EVENT_CLOSE
                        Exit
                Case $msg = $SquareResizers
                        _GUICtrlResizeNE()
                Case $msg = $SquareResizers
                        _GUICtrlResizeNW()
                Case $msg = $SquareResizers
                        _GUICtrlResizeSE()
                Case $msg = $SquareResizers
                        _GUICtrlResizeSW()
                Case $msg = $SquareResizers
                        _GUICtrlResizeN()
                Case $msg = $SquareResizers
                        _GUICtrlResizeS()
      EndSelect
      _GUICtrlDrag($Hover)
      _GUICtrlDragOverlay()
WEnd

Func _GUICtrlDragOverlay()
      $cursor = GUIGetCursorInfo()
      If IsArray($cursor) Then
                If $cursor <> 0 Then
                        If $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers AND $cursor <> $SquareResizers Then
                              $pos = ControlGetPos($GUI, "", $cursor)
                              $pos2 = ControlGetPos($GUI, "", $DragOverlay)
                              If $pos <> $pos2+1 AND $pos <> $pos2+1 AND $pos <> $pos2-2 AND $pos <> $pos2-2 Then
                                        GUICtrlSetPos($DragOverlay, $pos-1, $pos-1, $pos+2, $pos+2)
                                        GUICtrlSetState($DragOverlay, $GUI_SHOW)
                                        GUICtrlSetState($cursor, $GUI_DISABLE)
                                        $Hover = $cursor
                              EndIf
                        EndIf
                Else
                        GUICtrlSetState($Hover, $GUI_ENABLE)
                        $Hover = -1337
                        GUICtrlSetPos($DragOverlay, -99, -99, 1, 1)
                EndIf
      EndIf
EndFunc

Func _GUICtrlResizeS()
      GUISetCursor(11)
      GUICtrlSetCursor($LastClick, 10)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos, $pos, ($cursor-$pos))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeN()
      GUISetCursor(11)
      GUICtrlSetCursor($LastClick, 11)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos-($pos-$cursor), $pos, $pos+($pos-$cursor))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeSE()
      GUISetCursor(10)
      GUICtrlSetCursor($LastClick, 10)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos-($pos-$cursor), $pos, ($pos-$cursor)+$pos, ($cursor-$pos))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeNW()
      GUISetCursor(10)
      GUICtrlSetCursor($LastClick, 10)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos-($pos-$cursor), $cursor-$pos, $pos+($pos-$cursor))
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeNE()
      GUISetCursor(12)
      GUICtrlSetCursor($LastClick, 12)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      $XStayPos = $pos+$pos
      $YStayPos = $pos+$pos
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                If $cursor > $XStayPos Then $cursor = $XStayPos
                If $cursor > $YStayPos Then $cursor = $YStayPos
                GUICtrlSetPos($LastClick, $cursor, $cursor, $XStayPos-$cursor, $YStayPos-$cursor)
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, $pos-2, $pos-5)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlResizeSW()
      GUISetCursor(12)
      GUICtrlSetCursor($LastClick, 12)
      GUICtrlSetState($DragOverlay, $GUI_HIDE)
      $pos = ControlGetPos($GUI, "", $LastClick)
      Do
                Sleep(5)
                $cursor = GUIGetCursorInfo()
                GUICtrlSetPos($LastClick, $pos, $pos, $cursor-$pos, $cursor-$pos)
                $pos = ControlGetPos($GUI, "", $LastClick)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos+$pos)
                GUICtrlSetPos($SquareResizers, ($pos+$pos)-2, $pos-5)
                GUICtrlSetPos($SquareResizers, $pos-3, $pos+$pos)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos-5)
                GUICtrlSetPos($SquareResizers, (($pos+$pos)-($pos/2)), $pos+$pos)
      Until $cursor = 0
      GUICtrlSetCursor($LastClick, 2)
      GUISetCursor(2)
EndFunc

Func _GUICtrlDrag($Control, $GridScale = 0)
      Select
                Case $msg = $DragOverlay
                        For $i = 0 To UBound($SquareResizers)-1
                              GUICtrlSetState($SquareResizers[$i], $GUI_HIDE)
                        Next
                        GUICtrlSetState($DragOverlay, $GUI_HIDE)
                        GUICtrlSetCursor($Control, 9)
                        $pos = ControlGetPos($GUI, "", $Control)
                        $cursor = GUIGetCursorInfo()
                        $XStayPos = $cursor-$pos
                        $YStayPos = $cursor-$pos
                        Do
                              Sleep(5)
                              $cursor = GUIGetCursorInfo()
                              $sX = $cursor-$XStayPos
                              $sY = $cursor-$YStayPos
                              If $GridScale <> 0 Then
                                        $sX = Round($sX/$GridScale)*$GridScale
                                        $sY = Round($sY/$GridScale)*$GridScale
                              EndIf
                              GUICtrlSetPos($Control, $sX, $sY)
                        Until $cursor = 0
                        GUICtrlSetCursor($Control, 2)
                        GUICtrlSetPos($SquareResizers, $sX-3, $sY-5)
                        GUICtrlSetPos($SquareResizers, ($sX+$pos)-2, $sY-5)
                        GUICtrlSetPos($SquareResizers, $sX-3, $sY+$pos)
                        GUICtrlSetPos($SquareResizers, ($sX+$pos)-2, $sY+$pos)
                        GUICtrlSetPos($SquareResizers, (($sX+$pos)-($pos/2)), $sY-5)
                        GUICtrlSetPos($SquareResizers, (($sX+$pos)-($pos/2)), $sY+$pos)
                        For $i = 0 To UBound($SquareResizers)-1
                              GUICtrlSetState($SquareResizers[$i], $GUI_SHOW)
                        Next
                        $pos = ControlGetPos($GUI, "", $cursor)
                        GUICtrlSetPos($DragOverlay, $pos-1, $pos-1, $pos+2, $pos+2)
                        GUICtrlSetState($DragOverlay, $GUI_SHOW)
                        $LastClick = $Control
      EndSelect
EndFunc


$GUI = GUICreate("..Drag Test..")
GUISetBkColor(0x0000ff)
$item1 = GUICtr ...
不要叫我帅哥 发表于 2011-2-16 16:32 http://autoitx.com/images/common/back.gif


对对对,神,就是这种效果,没错

hzxymkb 发表于 2011-2-17 10:38:52

回复 20# 不要叫我帅哥


    哇,那位大神用我的马甲,一发就是精品?{:face (88):}

chenronting 发表于 2011-2-17 11:25:21

20楼 细看还是有差, 而且会闪, 我觉得用AU3 再做一个这样的, 真是NC
{:face (356):}

专业的门外汉笨 发表于 2011-2-17 11:36:42

20楼 细看还是有差, 而且会闪, 我觉得用AU3 再做一个这样的, 真是NC
chenronting 发表于 2011-2-17 11:25 http://autoitx.com/images/common/back.gif

nc?????,但是人家能弄出来个,您这个不nc的,能弄什么????????

chenronting 发表于 2011-2-17 12:43:19

回复 24# 专业的门外汉笨


    可能我觉得有KODA就够了吧,不会去想类似的东西。纯个人想法。你这个真是吃力不讨好 。

水木子 发表于 2011-2-17 13:00:51

本帖最后由 水木子 于 2011-2-17 13:08 编辑

回复 25# chenronting

你这种想法违背了积极、进取、追求、探索、等XXX思想,满足于现状是无法进步的。

有句话是这样说的:“站在巨人的肩上,可以看得更远”,KODA固然是很不错,但肯定也有不尽人意之处,楼主若能通过自己的不懈努力,做出比KODA更方便、更强大的设计工具,这不是很好吗!
即便楼主最终是失败的,但在制作和学习的过程中,相信他也能学到很多新的东西,我相信这才是最重要的。

我个人的观点,祝楼主早日成功。

chenronting 发表于 2011-2-17 14:06:02

回复 26# 水木子


   只能说我的能力不够吧,没法对KODA有任何改进

nxbigdaddy 发表于 2011-2-17 14:46:51

真的不知道你写的是什么意思

专业的门外汉笨 发表于 2011-2-17 15:05:59

回复chenronting

你这种想法违背了积极、进取、追求、探索、等XXX思想,满足于现状是无法进步的。

有句话是这样说的:“站在巨人的肩上,可以看得更远”,KODA固然是很不错,但肯定也有不尽人意之处,楼主若能通过自己的不懈努力,做出比KODA更方便、更强大的设计工具,这不是很好吗!
即便楼主最终是失败的,但在制作和学习的过程中,相信他也能学到很多新的东西,我相信这才是最重要的。

我个人的观点,祝楼主早日成功。
...
水木子 发表于 2011-2-17 13:00 http://autoitx.com/images/common/back.gif



我對於您的這幾句話好感動,我真的是很感動,感激涕零

zcx880517 发表于 2011-2-17 15:15:34

真不大明白。。
页: 1 [2] 3
查看完整版本: 这种效果如何实现,请各位大大指教