Имя пользователя:
Пароль:
 

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

Аватара для madmasles

Ветеран


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

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


Vsirf,
Попробуйте, например, так.
Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $aIcon[3][5] = [[0, -3, -2, -5],[0, -4, -2, -3],[0, -5, -2, -4]], _
        $aText[3] = ['Minimize', 'MsgBox', 'Exit']

$hGui = GUICreate('Test', 200, 100, -1, -1, $WS_POPUP, $WS_EX_DLGMODALFRAME)
GUICtrlCreateLabel('Таскать можно', 0, 0, 140, 22, -1, $GUI_WS_EX_PARENTDRAG)
GUICtrlCreateLabel('', 0, 22, 200, 2, -1, $WS_EX_STATICEDGE)
For $i = 0 To 2
    $aIcon[$i][0] = GUICtrlCreateIcon('', 0, 140 + $i * 20, 3, 16, 16)
    GUICtrlSetCursor(-1, 0)
    GUICtrlSetTip(-1, $aText[$i])
Next
GUISetState()

While 1
    _ChangeImage()
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE, $aIcon[2][0]
            Exit
        Case $aIcon[0][0]
            GUISetState(@SW_MINIMIZE)
        Case $aIcon[1][0]
            MsgBox(64, 'Info', '2 Icon click', 0, $hGui)
    EndSwitch
WEnd

Func _ChangeImage()
    Local $s_IconFile = @SystemDir & '\user32.dll'
    Local $a_Cursor = GUIGetCursorInfo()
    If @error Then Return
    For $i = 0 To 2
        If $a_Cursor[4] = $aIcon[$i][0] Then
            If $a_Cursor[2] Then
                If $aIcon[$i][4] <> 1 Then
                    GUICtrlSetImage($aIcon[$i][0], $s_IconFile, $aIcon[$i][1])
                    $aIcon[$i][4] = 1
                    ConsoleWrite($i + 1 & ' Icon click' & @LF)
                EndIf
            Else
                If $aIcon[$i][4] <> 2 Then
                    GUICtrlSetImage($aIcon[$i][0], $s_IconFile, $aIcon[$i][2])
                    $aIcon[$i][4] = 2
                EndIf
            EndIf
        Else
            If $aIcon[$i][4] <> 3 Then
                GUICtrlSetImage($aIcon[$i][0], $s_IconFile, $aIcon[$i][3])
                $aIcon[$i][4] = 3
            EndIf
        EndIf
    Next
EndFunc   ;==>_ChangeImage

Последний раз редактировалось madmasles, 25-02-2012 в 20:53.

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

Отправлено: 20:40, 25-02-2012 | #8