Setzt den Text in dem festgelegten Abschnitt eines Statusfensters
#include <GuiStatusBar.au3>
_GUICtrlStatusBar_SetText ( $hWnd [, $sText = "" [, $iPart = 0 [, $iUFlag = 0]]] )
| $hWnd | Handle des Controls |
| $sText | [optional] Darzustellender Text in einem Abschnitt |
| $iPart | [optional] Der Abschnitt für den Text |
| $iUFlag | [optional] 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 Elternfenster 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 Elternfenster dargestellt |
| Erfolg: | True |
| Fehler: | False |
Für eine einfache Statusbar ist $iPart auf $SB_SIMPLEID zu setzen
- - - - - - - - Erklärung der Controls - - - - - - - -
#include "Extras\HelpFileInternals.au3"
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WinAPIIcons.au3>
Example()
Func Example()
; Erstellt eine GUI
Local $hGUI = GUICreate("StatusBar: Setzt und ermittelt Text (v" & @AutoItVersion & ")", 450, 320, 100, 100)
Local $hStatus = _GUICtrlStatusBar_Create($hGUI)
; Erstellt ein Memo Control
_MemoCreate(2, 8, 444, 259)
GUISetState(@SW_SHOW)
; Setzt die Abschnitte
Local $aParts[4] = [75, 150, 300, 400]
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 0")
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 1", 1)
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 2", 2)
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 3", 3)
Local $iWrongSetText = _GUICtrlStatusBar_SetText($hStatus, "Falscher Abschnitt", 4)
; Setzt die Icons
Local $ahIcons[2]
$ahIcons[0] = _WinAPI_LoadShell32Icon(23)
$ahIcons[1] = _WinAPI_LoadShell32Icon(40)
_GUICtrlStatusBar_SetIcon($hStatus, 0, $ahIcons[0])
_GUICtrlStatusBar_SetIcon($hStatus, 1, $ahIcons[1])
; Zeigt den Text der Abschnitte
_MemoWrite("Text von Abschnitt 0 ........: " & _GUICtrlStatusBar_GetText($hStatus, 0))
_MemoWrite("Text von Abschnitt 1 ........: " & _GUICtrlStatusBar_GetText($hStatus, 1))
; Zeigt die Handles der Icons
_MemoWrite("Iconhandle Abschnitt 0 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
_MemoWrite("Iconhandle Abschnitt 1 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 1)))
_MemoMsgBoxStatus("", -1, $hGUI) ; Keine weiteren Aktionen, es wird gewartet bis die GUI geschlossen wird.
; 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($ahIcons[0])
_WinAPI_DestroyIcon($ahIcons[1])
GUIDelete()
EndFunc ;==>Example
;== Beispiel 2 direkte Verwendung mit Icon-Datei
#include "Extras\HelpFileInternals.au3"
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
Beispiel()
Func Beispiel()
; Erstellt eine GUI
Local $hGUI = GUICreate("StatusBar: Setzt und ermittelt Text (v" & @AutoItVersion & ")", 450, 320, 100, 100)
Local $hStatus = _GUICtrlStatusBar_Create($hGUI)
; Erstellt ein Memo Control
_MemoCreate(2, 8, 444, 259)
GUISetState(@SW_SHOW)
; Setzt die Abschnitte
Local $aParts[4] = [75, 150, 300, 400]
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 0")
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 1", 1)
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 2", 2)
_GUICtrlStatusBar_SetText($hStatus, "Abschnitt 3", 3)
; 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 0 ........: " & _GUICtrlStatusBar_GetText($hStatus, 0))
_MemoWrite("Text von Abschnitt 1 ........: " & _GUICtrlStatusBar_GetText($hStatus, 1))
; Zeigt die Handles der Icons
_MemoWrite("Iconhandle Abschnitt 0 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
_MemoWrite("Iconhandle Abschnitt 1 .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 1)))
_MemoMsgBoxStatus("", -1, $hGUI) ; Keine weiteren Aktionen, es wird gewartet bis die GUI geschlossen wird.
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Beispiel
#include "Extras\HelpFileInternals.au3" #include <GuiStatusBar.au3> Example() Func Example() Local $sFromTo Local $hWin = _MemoRunAU3OutProcess($sFromTo) Local $hStatus = _MemoCreateOutProcess($hWin, "msctls_statusbar32", 0, $sFromTo) Local $iPart = 0 _GUICtrlStatusBar_SetText($hStatus, "UPD 0", $iPart) ; update the external Process StatusBar part 0 _MemoWrite(@CRLF & "=====================" & @CRLF & "StatusBar info displayed" & $sFromTo & " External process" & @CRLF & "=====================") ; Show part text _MemoWrite("Part " & $iPart & " text ........: " & _GUICtrlStatusBar_GetText($hStatus, $iPart)) _MemoWrite("Parts count ........: " & _GUICtrlStatusBar_GetCount($hStatus)) Local $aParts = _GUICtrlStatusBar_GetParts($hStatus) For $iI = 0 To $aParts[0] - 1 _MemoWrite("Part " & $iI & " width .: " & _GUICtrlStatusBar_GetWidth($hStatus, $iI) & " (" & $aParts[$iI + 1] & ")") Next _MemoWrite(@CRLF & "=====================") _MemoMsgBoxStatus("", Default, $hWin) ; no more action, wait GUI for closing, close also OutProcess GUI EndFunc ;==>Example