Что нового

анимация GIF под Lablel (GIFAnimation.au3)

saraconor

Новичок
Сообщения
379
Репутация
2
Как можно Label поставить перед анимированным GIF?
Код:
#AutoIt3Wrapper_Res_File_Add=1.gif, rt_rcdata, G2

#include "resources.au3"
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include "GIFAnimation.au3"
#include <StaticConstants.au3>
#include <EditConstants.au3>

$hGui = GUICreate("GIF Animation", 411, 144, -1, -1, $WS_SIZEBOX, $WS_EX_COMPOSITED)

$VS = GUICtrlCreateLabel("TEST TEST TEST", 144, 27, 273 , 38 , $ES_CENTER + $SS_CENTERIMAGE, $WS_EX_TRANSPARENT)
GUICtrlSetColor(-1, 0x787878)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 21, 800, 0)

$hGIF = _GUICtrlCreateGIF(@ScriptDir & "\1.gif", "", 10, 10)
if @Compiled then $hGIF = _GUICtrlCreateGIF(@ScriptFullPath, "10;G2", 61, 10)

$B1 = GUICtrlCreateButton('STOP', 12, 71, 131, 41)
$B2 = GUICtrlCreateButton('START', 151, 71, 131, 41)
GUISetState()


While 1
$msg = GUIGetMsg()
	Switch $msg
		Case -3
			exit
		case $B1
		_GIF_PauseAnimation($hGIF)
		case $B2
		_GIF_ResumeAnimation($hGIF)
	EndSwitch
wend

В примере Label перед GIF каринкой, но анимация сломана. а если убрать "$WS_SIZEBOX, $WS_EX_COMPOSITED" то анимация останется, но Label будет на заднем фоне.
 

Вложения

  • 140,2 КБ Просмотры: 3

joiner

Модератор
Локальный модератор
Сообщения
3 362
Репутация
586
Два окна. В одном гиф, в другом., поверх первого, строка
 
Автор
S

saraconor

Новичок
Сообщения
379
Репутация
2
Вы можете показать на примере?
 

joiner

Модератор
Локальный модератор
Сообщения
3 362
Репутация
586
Код:
#include <WinAPI.au3>
$hGui = GUICreate("GIF Animation", 411, 144, -1, -1, $WS_SIZEBOX)

$hGIF = _GUICtrlCreateGIF(@ScriptDir & "\1.gif", "", 10, 10, 273, 38)
If @Compiled Then $hGIF = _GUICtrlCreateGIF(@ScriptFullPath, "10;G2", 61, 10)

$B1 = GUICtrlCreateButton('STOP', 12, 71, 131, 41)
$B2 = GUICtrlCreateButton('START', 151, 71, 131, 41)

Local $hChild = GUICreate('', 273, 38, 5, 5, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hGui)
GUISetBkColor(345, $hChild)
$VS = GUICtrlCreateLabel("TEST TEST TEST", 0, 0, 273, 38, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetColor(-1, 0x787878)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 16, 800, 0)
_WinAPI_SetLayeredWindowAttributes($hChild, 345, 255)

GUISetState(@SW_SHOW, $hChild)
GUISetState(@SW_SHOW, $hGui)
 
Автор
S

saraconor

Новичок
Сообщения
379
Репутация
2
Вокруг букв появилась черная тонкая черная окантовка, ее как-то можно убрать?
 

joiner

Модератор
Локальный модератор
Сообщения
3 362
Репутация
586
замени в обоих случаях 345 на 0x787877
 
Автор
S

saraconor

Новичок
Сообщения
379
Репутация
2
Ясно, спасибо за помощь.
 
Верх