Êîìïüþòåðíûé ôîðóì OSzone.net  

Êîìïüþòåðíûé ôîðóì OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [ðåøåíî] Óâåëè÷åíèå èçîáðàæåíèè ïðè íàæàòèè íà íåãî (http://forum.oszone.net/showthread.php?t=199687)

Centrinar 16-02-2011 23:20 1614885

Óâåëè÷åíèå èçîáðàæåíèè ïðè íàæàòèè íà íåãî
 
×òî-òî ïîõîæåå íà ãàëåðåþ, åñòü êàðòèíêè GUICtrlCreatePic... ðàçìåðîì 50õ50, âîçìîæíî ëè ðåàëèçîâàòü óâåëè÷åíèè åå â îòäåëüíî îêîøêå ïðè íàæàòèè íà íåå.

Yashied 17-02-2011 02:34 1614978

Âëîæåíèé: 1
  • Test.jpg (43.40 KB, ñêà÷èâàíèé: 34)
Êîä:

#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


madmasles 17-02-2011 03:33 1614987

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 17-02-2011 04:21 1614993

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



Âðåìÿ: 17:37.

Âðåìÿ: 17:37.
© OSzone.net 2001-