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

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

Ветеран


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

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


FlatX007, старый вариант удачно работает, только как я и думал надо GUIDelete($hSplash) ставить после GUISetState(@SW_SHOW), иначе сплэш даже не успевает подгрузиться (у меня в проге слипа вначале скрипта нет, он сам долго грузиться).

Итого решение (благодаря FlatX007):

Код: Выделить весь код
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <SendMessage.au3> ;Needed for _SendMessage function.
#include <ProgressConstants.au3>
#include <GUIConstantsEx.au3>
Global $hSplash

$hProgressSplash = _SplashTextProgress("Внимание! Идет сбор системной информации. Ждите...")

Opt("GUIOnEventMode", 1)

$hMain_GUI = GUICreate("OPPPPP", 619, 442, 189, 122)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

$Tab1 = GUICtrlCreateTab(8, 16, 601, 377)
$DriverErrors = GUICtrlCreateTabItem("XXXXXXXXXX")

Sleep(5000) ; Имитация сбора информации

GUICtrlCreateTabItem("")

GUISetState()
GUIDelete($hSplash)

While 1
    Sleep(100)
WEnd

Func CLOSEClicked()
  Exit
EndFunc

Func _SplashTextProgress($sText)
	   SplashOff() ;Turn previous splash text screens off.
       $hSplash = GUICreate("", 500, 150, -1, -1, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE, $WS_EX_TOOLWINDOW))
       $iProgressBar = GUICtrlCreateProgress(30, 100, 440, 35, $PBS_MARQUEE) ;A Marquee progress bar.
       _SendMessage(GUICtrlGetHandle(-1), $PBM_SETMARQUEE, True, 80) ;last parameter is update time in ms. Sends message to run the Marquee progress bar.
       $iMessage = GUICtrlCreateLabel($sText, 0, 20, 500, 50, $SS_CENTER)
       GUICtrlSetFont(-1, 16, 500, 0, "Courier New")
       GUISetState(@SW_SHOW)
       Return SetExtended($iProgressBar, $hSplash)

EndFunc
FlatX007, оффтопик, но все же - как Вы такой код вставляете? Имею в виду разноцветный...

-------
мы рождены, чтоб сказку сделать былью


Отправлено: 20:08, 28-09-2010 | #7