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

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

Пользователь


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

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


Подредактировал код от beve кажется получилось плавное появление картинки.
файл - 2.png - находится чуть по выше.



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

Global $opacity = 0

$gui = GUICreate("Transparent", 0, 0, -1, -1, $WS_POPUP , $WS_EX_LAYERED)
_GDIPlus_Startup ()
$image = _GDIPlus_ImageLoadFromFile ("2.png")
SetBitMap ($gui , $image, $opacity)

GUISetState()

For $i = 0 To 255 Step 5
        SetBitmap ($gui, $image, $i)
        Sleep (30)
Next

Func SetBitmap($gui, $image, $opacity)
        $hScrDC = _WinAPI_GetDC (0)
        $hMemDC = _WinAPI_CreateCompatibleDC ($hScrDC)
        $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap ($image)
        $hOld = _WinAPI_SelectObject ($hMemDC, $hBitmap)
        $tSize = DllStructCreate ($tagSIZE)
        $pSize = DllStructGetPtr ($tSize )
        DllStructSetData ($tSize, "X", _GDIPlus_ImageGetWidth ($image))
        DllStructSetData ($tSize, "Y", _GDIPlus_ImageGetHeight ($image))
        $tSource = DllStructCreate ($tagPOINT)
        $pSource = DllStructGetPtr ($tSource)
        $tBlend = DllStructCreate ($tagBLENDFUNCTION)
        $pBlend = DllStructGetPtr ($tBlend)
        DllStructSetData ($tBlend, "Alpha" , $opacity)
        DllStructSetData ($tBlend, "Format", 1)
        _WinAPI_UpdateLayeredWindow ($gui, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
        _WinAPI_ReleaseDC (0, $hScrDC)
        _WinAPI_SelectObject ($hMemDC, $hOld)
        _WinAPI_DeleteObject ($hBitmap)
        _WinAPI_DeleteDC ($hMemDC)
EndFunc

While GUIGetMsg () <> $GUI_EVENT_CLOSE
WEnd

Последний раз редактировалось assch, 18-07-2009 в 18:41.


Отправлено: 07:11, 18-07-2009 | #16