WinGetControls

Gibt ein Array von Namen (ClassNNs) aller Steuerelemente in einem bestimmten Fenster zurück.

ClassNNs := WinGetControls(FensterTitel, FensterText, AusnahmeTitel, AusnahmeText)

Parameter

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Typ: Zeichenkette, Integer oder Objekt

Wenn jeder dieser Parameter leer ist oder weggelassen wird, wird das Zuletzt Gefundene Fenster verwendet. Andernfalls geben Sie für FensterTitel einen Fenstertitel oder andere Kriterien zur Identifizierung des Zielfensters und/oder für FensterText eine Teilzeichenkette aus einem Textelement des Zielfensters an (Textelemente können mit dem internen Tool "Window Spy" in Erfahrung gebracht werden).

AusnahmeTitel und AusnahmeText können verwendet werden, um ein oder mehrere Fenster anhand ihres Titels oder Textes auszuschließen. Ihre Angabe ähnelt der von FensterTitel und FensterText, außer dass AusnahmeTitel keine anderen Kriterien als den Fenstertitel erkennt.

Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Standardmäßig werden versteckte Fenster nicht erkannt und versteckte Textelemente erkannt, was mit DetectHiddenWindows und DetectHiddenText geändert werden kann. Standardmäßig kann ein Fenstertitel den angegebenen FensterTitel oder AusnahmeTitel an beliebiger Stelle enthalten, um eine Übereinstimmung zu sein, was mit SetTitleMatchMode geändert werden kann.

Rückgabewert

Typ: Array

Diese Funktion gibt ein Array von Namen aller Steuerelemente in einem bestimmten Fenster zurück. Jeder Name besteht aus dem Klassennamen des Steuerelements gefolgt von seiner Sequenznummer (ClassNN), wie im internen Tool "Window Spy" angezeigt.

Wenn zum Beispiel der Rückgabewert in eine Variable namens ClassNNs gespeichert wird und zwei Steuerelemente vorhanden sind, gibt ClassNNs[1] den Namen des ersten Steuerelements, ClassNNs[2] den Namen des zweiten Steuerelements und ClassNNs.Length die Zahl 2 zurück.

Steuerelemente werden nach ihrer Z-Reihenfolge sortiert, was üblicherweise der Navigation via Tab entspricht, sofern vom Fenster unterstützt.

Fehlerbehandlung

Es wird ein TargetError ausgelöst, wenn das Fenster nicht gefunden werden konnte.

Bemerkungen

Mit MouseGetPos kann die ID des Fensters oder Steuerelements unter dem Mauszeiger abgerufen werden.

WinGetControlsHwnd, Win-Funktionen, Control-Funktionen

Beispiele

Extrahiert die einzelnen Steuerelementnamen aus der Steuerelementliste des aktiven Fensters.

for N, Strlmnt in WinGetControls("A")
{
    Ergebnis := MsgBox("Steuerelement Nr. " N " ist '" Strlmnt "'. Weiter?",, 4)
    if (Ergebnis = "No")
        break
}

Zeigt in Echtzeit die Steuerelementliste des aktiven Fensters an.

SetTimer AktivesFensterBeobachten, 200

AktivesFensterBeobachten()
{
    try
    {
        Strlmnte := WinGetControls("A")
        StrlmntListe := ""
        for ClassNN in Strlmnte
            StrlmntListe .= ClassNN . "`n"
        if (StrlmntListe = "")
            ToolTip "Das aktive Fenster hat keine Steuerelemente."
        else
            ToolTip StrlmntListe
    }
    catch TargetError
        ToolTip "Kein sichtbares Fenster aktiv."
}