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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Увеличение изображении при нажатии на него

Ответить
Настройки темы
[решено] Увеличение изображении при нажатии на него

Аватара для Centrinar

Старожил


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

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


Что-то похожее на галерею, есть картинки GUICtrlCreatePic... размером 50х50, возможно ли реализовать увеличении ее в отдельно окошке при нажатии на нее.

Отправлено: 23:20, 16-02-2011

 

Аватара для Yashied

Старожил


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

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


Изображения
Тип файла: jpg Test.jpg
(43.4 Kb, 17 просмотров)

Код: Выделить весь код
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>

Global $Zoom = 0

GUICreate('MyGUI', 400, 400)
$Pic = GUICtrlCreatePic('Test.jpg', 168, 168, 64, 64)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Pic
            If $Zoom Then
                For $i = 244 To 64 Step -20
                    GUICtrlSetPos($Pic, (400 - $i) / 2,(400 - $i) / 2, $i, $i)
                    GUICtrlSetImage($Pic, 'Test.jpg')
                Next
            Else
                For $i = 76 To 256 Step 20
                    GUICtrlSetPos($Pic, (400 - $i) / 2,(400 - $i) / 2, $i, $i)
                    GUICtrlSetImage($Pic, 'Test.jpg')
                Next
            EndIf
            $Zoom = Not $Zoom
    EndSwitch
WEnd
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:34, 17-02-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для madmasles

Ветеран


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

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


Centrinar,
Или так.
Icons.au3
читать дальше »
Код: Выделить весь код
#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']]

$iW = 128
$iH = 128
$iInterval = 10
$ijW = 0
$ijH = 0
$hGui = GUICreate('Test', $iW * 3 + ($aPic[0][0] / 3 + 1) * $iInterval, $iH * 3 + ($aPic[0][0] / 3 + 1) * $iInterval)
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('', 0, 0, $iW * 3 + ($aPic[0][0] / 3 + 1) * $iInterval, $iH * 3 + ($aPic[0][0] / 3 + 1) * $iInterval)
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $nPic
            For $j = 1 To $aPic[0][0]
                GUICtrlSetState($aPic[$j][1], $GUI_SHOW)
            Next
            _SetImage($nPic, '')
            GUICtrlSetState($nPic, $GUI_HIDE)
        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)
                    _SetImage($nPic, $aPic[$i][0])
                EndIf
            Next
    EndSwitch
WEnd

Последний раз редактировалось madmasles, 13-08-2011 в 14:30.

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:33, 17-02-2011 | #3


Аватара для 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Увеличение изображении при нажатии на него

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Фон при нажатии ctrl - alt - delete eboue Windows Server 2008/2008 R2 5 25-02-2011 22:35
Разное - Аномалия при долгом нажатии SHIFT Frantic Microsoft Windows 7 2 17-01-2011 16:09
Разное - [решено] При нажатии Shut Down не выключается. Glebush Microsoft Windows 2000/XP 5 09-11-2009 17:01
При нажатии на день... magwolf Вебмастеру 1 10-11-2008 19:18
При нажатии F8 miikki Microsoft Windows 2000/XP 3 06-02-2007 14:08




 
Переход