Funktionsreferenz


_GUICtrlStatusBar_SetText

Setzt den Text in dem festgelegten Abschnitt eines Statusfensters

#include <GuiStatusBar.au3>
_GUICtrlStatusBar_SetText($hWnd, $sText = "", $iPart = 0, $iUFlag = 0)

Parameter

$hWnd Handle des Controls
$sText Darzustellender Text in einem Abschnitt
$iPart Der Abschnitt für den Text
$iUFlag Typ der Darstellung. Der Typ kann einer der folgenden Werte sein:
0 - Der Text wird mit einem Rand dargestellt, um niedriger als die Ebene des Fensters zu erscheinen
$SBT_NOBORDERS - Der Text wird ohne Ränder dargestellt
$SBT_OWNERDRAW - Der Text wird durch das Hauptfenster dargestellt
$SBT_POPOUT - Der Text wird mit einem Rand dargestellt, um höher als die Ebene des Fensters zu erscheinen
$SBT_RTLREADING - Der Text wird in Gegenrichtung des Textes im Hauptfenster dargestellt

Rückgabewert

Erfolg: True
Fehler: False

Bemerkungen

Für eine einfache Statusbar ist $iPart auf $SB_SIMPLEID zu setzen

- - - - - - - - Erklärung der Controls - - - - - - - -

Verwandte Funktionen

_GUICtrlStatusBar_GetText

Beispiel


#include <GuiConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>

$Debug_SB = False ; Prüft den Klassennamen (ClassName), der an die StatusBar-Funktion übergeben wird. Setze dies versuchsweise auf True und verwende dann ein Handle zu einem anderen Control, um die Funktionsweise zu verstehen.

Global $iMemo

Beispiel1()
Beispiel2()

Func Beispiel1()

    Local $hGUI, $hIcons[2], $hStatus
    Local $aParts[4] = [75, 150, 300, 400]

    ; Erstellt eine GUI
    $hGUI = GUICreate("StatusBar: Text setzen (Beispiel 1)", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create($hGUI)

    ; Erstellt ein Memo Control
    $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Setzt die Abschnitte
    _GUICtrlStatusBar_SetParts($hStatus, $aParts)
    _GUICtrlStatusBar_SetText($hStatus, "Abschnitt 1")
    _GUICtrlStatusBar_SetText($hStatus, "Abschnitt 2", 1)

    ; Setzt die Icons
    $hIcons[0] = _WinAPI_LoadShell32Icon(23)
    $hIcons[1] = _WinAPI_LoadShell32Icon(40)
    _GUICtrlStatusBar_SetIcon($hStatus, 0, $hIcons[0])
    _GUICtrlStatusBar_SetIcon($hStatus, 1, $hIcons[1])

    ; Zeigt den Text der Abschnitte
    MemoWrite("Text von Abschnitt 1 ........: " & _GUICtrlStatusBar_GetText($hStatus, 0))
    MemoWrite("Text von Abschnitt 2 ........: " & _GUICtrlStatusBar_GetText($hStatus, 1))

    ; Zeigt die Handles der Icons
    MemoWrite("Iconhandle Abschnitt 1 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
    MemoWrite("Iconhandle Abschnitt 2 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 1)))

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    ; Icons löschen
    _WinAPI_DestroyIcon($hIcons[0])
    _WinAPI_DestroyIcon($hIcons[1])
    GUIDelete()
EndFunc   ;==>Beispiel1

Func Beispiel2()

    Local $hGUI, $hStatus
    Local $aParts[4] = [75, 150, 300, 400]

    ; Erstellt eine GUI
    $hGUI = GUICreate("StatusBar: Text setzen (Beispiel 2)", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create($hGUI)

    ; Erstellt ein Memo Control
    $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Setzt die Abschnitte
    _GUICtrlStatusBar_SetParts($hStatus, $aParts)
    _GUICtrlStatusBar_SetText($hStatus, "Abschnitt 1")
    _GUICtrlStatusBar_SetText($hStatus, "Abschnitt 2", 1)

    ; Setzt die Icons
    _GUICtrlStatusBar_SetIcon($hStatus, 0, 23, "shell32.dll")
    _GUICtrlStatusBar_SetIcon($hStatus, 1, 40, "shell32.dll")

    ; Zeigt den Text der Abschnitte
    MemoWrite("Text von Abschnitt 1 ........: " & _GUICtrlStatusBar_GetText($hStatus, 0))
    MemoWrite("Text von Abschnitt 2 ........: " & _GUICtrlStatusBar_GetText($hStatus, 1))

    ; Zeigt die Handles der Icons
    MemoWrite("Iconhandle Abschnitt 1 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
    MemoWrite("Iconhandle Abschnitt 2 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 1)))

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Beispiel2

; Schreibt eine Nachricht in das Memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite