Ändert den Style oder erweiterten Style eines Steuerelements.
ControlSetStyle Wert, StrlmntID , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText ControlSetExStyle Wert, StrlmntID , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Typ: Integer oder Zeichenkette
Geben Sie einen positiven Integer an, um den Style des Fensters vollständig zu überschreiben bzw. direkt auf Wert zu setzen.
Um Styles hinzuzufügen, zu entfernen oder umzuschalten, geben Sie eine numerische Zeichenkette an, die entweder mit einem Pluszeichen (+), Minuszeichen (-) oder Zirkumflex (^) beginnt. Der neue Style-Wert wird wie folgt berechnet (wobei AktuellerStyle mit ControlGetStyle, ControlGetExStyle, WinGetStyle oder WinGetExStyle abgerufen werden kann):
| Operation | Präfix | Beispiel | Formel |
|---|---|---|---|
| Hinzufügen | + | "+0x80" |
NeuerStyle := AktuellerStyle | Wert |
| Entfernen | - | "-0x80" |
NeuerStyle := AktuellerStyle & ~Wert |
| Umschalten | ^ | "^0x80" |
NeuerStyle := AktuellerStyle ^ Wert |
Wenn Wert ein negativer Integer ist, wird er wie die entsprechende numerische Zeichenkette behandelt.
Um + oder ^ als direkt geschriebenen Text in einem Ausdruck zu verwenden, müssen Sie das Präfix oder den Wert in Anführungszeichen setzen. Zum Beispiel: ControlSetStyle("+0x80") oder ControlSetStyle("^" UmzuschaltenderStyle). Andernfalls würde z.B. der Ausdruck +123 123 erzeugen (also ohne Präfix) und ^123 einen Syntaxfehler auslösen.
Typ: Zeichenkette, Integer oder Objekt
ClassNN, Text oder HWND des Steuerelements, oder ein Objekt mit einer Hwnd-Eigenschaft. Einzelheiten finden Sie unter Steuerelementidentifikatoren.
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 (wie von Window Spy angezeigt).
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 bzw. DetectHiddenText geändert werden kann. Verwendet man reine HWNDs, werden versteckte Fenster immer erkannt. 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.
Es wird ein TargetError ausgelöst, wenn das Fenster oder Steuerelement nicht gefunden werden konnte.
Es wird ein OSError ausgelöst, wenn der Style nicht geändert werden konnte. Eine Teiländerung wird als Erfolg gewertet.
Diese Funktion ist für die Verwendung mit Steuerelementen in einem Nicht-GUI-Fenster vorgesehen, also einem Fenster, das nicht mit der Gui-Funktion erstellt wurde. Sie funktioniert am besten mit den gängigen oder vordefinierten Steuerelementen von Microsoft. Einige Anwendungen verwenden jedoch benutzerdefinierte oder modifizierte Steuerelemente – in diesem Fall funktioniert die Funktion möglicherweise nicht wie erwartet. Für GUI-Steuerelemente ist es in der Regel sinnvoller, GuiControl.Opt zu verwenden, das die Angabe einer Style-Nummer mit einem vorangestellten Plus- oder Minuszeichen ermöglicht.
Weitere Styles finden Sie unter Fenster- und Steuerelement-Styles.
Bestimmte Style-Änderungen werden erst wirksam, wenn das gesamte Fenster via WinRedraw neu gezeichnet wird.
ControlGetExStyle ändert nur generische erweiterte Styles, wie z.B. WS_EX_CLIENTEDGE (0x200). Um steuerelementspezifische erweiterte Styles zu ändern, verwenden Sie SendMessage. Zum Beispiel würde SendMessage(0x1036, 0, 0x1, "SysListView321") (0x1036 ist LVM_SETEXTENDEDLISTVIEWSTYLE und 0x1 ist LVS_EX_GRIDLINES) Gitternetzlinien zwischen den Zeilen und Spalten in einem ListView-Steuerelement anzeigen.
ControlGetStyle / ControlGetExStyle, WinSetStyle / WinSetExStyle, Styles-Tabelle, Control-Funktionen