Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Yashied,
У Вас симпатичнее.
К своему приспособил:
читать дальше »
Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Icons.au3>

Dim $aPic[10][2] = [[9],[@ScriptDir & '\1.png'],[@ScriptDir & '\2.png'],[@ScriptDir & '\3.png'], _
        [@ScriptDir & '\4.png'],[@ScriptDir & '\5.png'],[@ScriptDir & '\6.png'], _
        [@ScriptDir & '\7.png'],[@ScriptDir & '\8.png'],[@ScriptDir & '\9.png']]
$nLastPic = ''
$iW = 128
$iH = 128
$iInterval = 10
$ijW = 0
$ijH = 0

$iW_Gui = $iW * 3 + ($aPic[0][0] / 3 + 1) * $iInterval
$iH_Gui = $iH * 3 + ($aPic[0][0] / 3 + 1) * $iInterval

$hGui = GUICreate('Test', $iW_Gui, $iH_Gui, -1, -1, -1, $WS_EX_COMPOSITED)
GUISetBkColor(0xFFDAB9)
For $i = 1 To $aPic[0][0]
    $aPic[$i][1] = GUICtrlCreatePic('', $iInterval * 2 + $iW * $ijW, $iInterval * 2 + $iH * $ijH, $iW, $iH)
    _SetImage($aPic[$i][1], $aPic[$i][0])
    $ijW += 1
    If Not Mod($i, 3) Then
        $ijW = 0
        $ijH += 1
    EndIf
Next
$nPic = GUICtrlCreatePic('', ($iW_Gui - $iW) / 2, ($iH_Gui - $iH) / 2, $iW, $iH)
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $nPic
            For $ii = $iW_Gui To $iW Step -10
                GUICtrlSetPos($nPic, ($iW_Gui - $ii) / 2, _
                        ($iH_Gui - $ii) / 2, $ii, $ii)
                _SetImage($nPic, $nLastPic)
            Next
            $nLastPic = ''
            _SetImage($nPic, $nLastPic)
            GUICtrlSetState($nPic, $GUI_HIDE)
            For $j = 1 To $aPic[0][0]
                GUICtrlSetState($aPic[$j][1], $GUI_SHOW)
            Next
        Case Else
            For $i = 1 To $aPic[0][0]
                If $nMsg = $aPic[$i][1] Then
                    For $j = 1 To $aPic[0][0]
                        GUICtrlSetState($aPic[$j][1], $GUI_HIDE)
                    Next
                    GUICtrlSetState($nPic, $GUI_SHOW)
                    $nLastPic = $aPic[$i][0]
                    For $ii = $iW To $iW_Gui Step 10
                        GUICtrlSetPos($nPic, ($iW_Gui - $ii) / 2, _
                                ($iH_Gui - $ii) / 2, $ii, $ii)
                        _SetImage($nPic, $nLastPic)
                    Next
                    GUICtrlSetPos($nPic, 0, 0, $iW_Gui, $iH_Gui)
                    _SetImage($nPic, $nLastPic)
                EndIf
            Next
    EndSwitch
WEnd
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:21, 17-02-2011 | #4