vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
BackColor für Tabs beim SSTab 
Autor: LarsSchneider
Datum: 06.04.05 10:41

Im Forum wurde des öfteren gefragt, ob es möglich sei, die Farbe der Register zu ändern.

Mit VB-Boradmitteln heißt die Antwort eindeutig: NEIN!

Es gibt aber dennoch eine Lösung: API

Mit der Funktion ExtFloodFill ist es möglich die Hintergrundfarbe neu zu zeichnen.
Da sich aber bei jedem Neuzeichnen der Form oder klicken auf einen Tab (bzw. wechseln des Registers) das Control wieder in seinen "Lieblingsfarben" zeigt, ist es etwas umständlich in jedem Ereignis diese Funktion auszuführen.

Das Zauberwort heißt SubClassing:
Wir fangen einfach die Nachrichten, welche an das SSTab-Control gehen, ab und
führen bei der Nachricht WM_PAINT einfach o.g. Funktion aus.
Alle Nachrichten werden dabei aber an Control unverändert weitergegeben.
D.h. wir lassen das Control selbst neuzeichnen und erst danach setzen wir die
Funktion drauf!

Dieses Vorgehen hat leider ein paar kleine Nachteile:
- die Bezeichnung der Tabs wird nicht vollständig mit der neuen Farbe gefüllt
- die Prozessorrauslastung steigt, deshalb wirkt das Control etwas träge.


ABER: es färbt sich doch

MfG Lars Schneider
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
BackColor für Tabs beim SSTab680LarsSchneider06.04.05 10:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel