Jump to content

Recommended Posts

Posted

Hi,

So ive got a splash screen with a progress bar however the text wont update on it, any ideads?

#include <ProgressConstants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Main = GUICreate("Splash Screen",600,480,-1,-1,-1)
Global $splash = GUICtrlCreateButton("SPLASH IT!", 484, 197, 89, 20)
GUISetState(@SW_SHOW)

While (1)
        $nMsg=GUIGetMsg()
            switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $splash    
            splash()
        EndSwitch
Wend

Func splash()

$hProgressSplash = _SplashTextProgress("This is a test.")

Sleep(5000)
;do some stuff

Global $sText = "This is a test Update."
;do some stuff

Sleep(5000)
;do some stuff

    
Global $sText = "This is a test End."
Sleep(5000)
    GUISetState(@SW_HIDE)
EndFunc

Func _SplashTextProgress($sText) ;Creates a Splash Text Screen with a progress bar.
    SplashOff() ;Turn previous splash text screens off.
    $hSplash = GUICreate("", 500, 400, -1, -1, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE, $WS_EX_TOOLWINDOW))
    $iProgressBar = GUICtrlCreateProgress(100, 325, 305, 25, $PBS_MARQUEE) ;A marquee progress bar.
    GUICtrlSendMsg(-1, $PBM_SETMARQUEE, True, 80) ;last parameter is update time in ms. Sends message to run the marquee progress bar.
    $iMessage = GUICtrlCreateLabel($sText, 0, 100, 500, 200, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 700, 0, "Courier New")

    GUISetState(@SW_SHOW)

    Return SetExtended($iProgressBar, $hSplash)
    
EndFunc   ;==>_SplashTextProgress
  • Moderators
  • Solution
Posted

cookiemonster,

It never updates because you never ask tell it to update. ;)

Declare $iMessage as Global and then add a GUICtrlSetData($iMessage, $sText) each time you change $sText. :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted

#include <ProgressConstants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Main = GUICreate("Splash Screen", 600, 480, -1, -1, -1)
Global $splash = GUICtrlCreateButton("SPLASH IT!", 484, 197, 89, 20)
GUISetState(@SW_SHOW)

While (1)
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $splash
            splash()
    EndSwitch
WEnd

Func splash()

    $hProgressSplash = _SplashTextProgress("This is a test.")

    Sleep(1000)
    ;do some stuff

    Global $sText = "This is a test Update."
    GUICtrlSetData($hProgressSplash, $sText) ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    Sleep(1000)
    ;do some stuff


    Global $sText = "This is a test End."
    GUICtrlSetData($hProgressSplash, $sText)
    Sleep(1000)
    GUISetState(@SW_HIDE)
EndFunc   ;==>splash

Func _SplashTextProgress($sText) ;Creates a Splash Text Screen with a progress bar.
    SplashOff() ;Turn previous splash text screens off.
    $hSplash = GUICreate("", 500, 400, -1, -1, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE, $WS_EX_TOOLWINDOW))
    $iProgressBar = GUICtrlCreateProgress(100, 325, 305, 25, $PBS_MARQUEE) ;A marquee progress bar.
    GUICtrlSendMsg(-1, $PBM_SETMARQUEE, True, 80) ;last parameter is update time in ms. Sends message to run the marquee progress bar.
    $iMessage = GUICtrlCreateLabel($sText, 0, 100, 500, 200, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 700, 0, "Courier New")

    GUISetState(@SW_SHOW)

    Return SetExtended($iProgressBar, $iMessage) ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

EndFunc   ;==>_SplashTextProgress

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...