ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 20.04.2000

Diese Seite wurde zuletzt aktualisiert am 20.04.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

CheckBox mit Durchblick

Zurück...


Anzeige

(-hg) mailto:hg_transparentcheckbox@aboutvb.de

Leider kann eine CheckBox nicht wie ein Label-Steuerelement transparent werden. Bei einer flächigen Hintergrundfarbe des Containers könnten Sie zwar diese als Hintergrundfarbe der CheckBox übernehmen, doch bei "bunten" Hintergründen, die Farbverläufe oder Bilder enthalten, hat das wenig Sinn.

Sie können jedoch die Größe der CheckBox so weit minimieren, dass nur noch das Kästchen sichtbar bleibt und als Ersatz für die Beschriftung ein transparentes Label-Steuerelement daneben platzieren.


Eine Kombination aus einer reduzierten CheckBox und einem Label erscheint wie eine transparente CheckBox

Die Größe der CheckBox sollte im Normalfall (Standard-Bildschirmeinstellungen) 195 zu 195 Twips sein (oder, um abweichende Schriftgrößen bei den Bildschirmeinstellungen zu berücksichtigen, 13 * Screen.TwipsPerPixelX zu 13 * Screen.TwipsPerPixelY). Der Abstand des Label-Steuerelements von der linken Kante der CheckBox aus gemessen, sollte 270 Twips betragen (bzw. 18 * Screen.TwipsPerPixelX), während die Oberkante identisch ist.

Sie können die Kurztaste für die CheckBox (Kennzeichnung des entsprechenden Buchstabens mit "&") in die Caption-Eigenschaft des Label-Steuerelements übernehmen. Damit das funktioniert, muss der Wert der TabIndex-Eigenschaft des Label-Steuerelements um 1 kleiner sein als bei der CheckBox.

Damit ein Klick auf das Label-Steuerelement wie gewohnt die CheckBox umschaltet und diese, soweit sie ihn noch nicht hat, den Fokus erhält, fügen Sie folgenden Code für das Click-Ereignis des Label-Steuerelements ein:

Private Sub LabelZuCheckBox_Click()
  With CheckBox
    .SetFocus
    .Value = Abs(Not CBool(.Value))
  End With
End Sub

Weitere Ereignisse des Label-Steuerelements müssen Sie gegebenenfalls analog zur CheckBox auswerten und bearbeiten.

Einziger kleiner Schönheitsfehler dieser alternativen CheckBox-Konstruktion ist, dass die Markierung des Fokus nicht so einfach nachzubilden ist. Visual Basic liefert leider keinerlei Informationen darüber, wann ein Steuerelement tatsächlich den Fokus erhält oder verliert - die Ereignisse GotFocus und LostFocus sind ja nur relativ in Bezug auf die Anwendung und melden nicht den Fokuserhalt bzw. -verlust in Bezug auf andere Anwendungen und das gesamte System. Wenn Sie sich mit Subclassing auskennen, können Sie die Nachrichten SetFocus und KillFocus auswerten und dementsprechend das Fokus-Rechteck mit der API-Funktion DrawFocusRect zeichnen.

Eine transparente Alternative zu einem Option-Button ist auf gleiche Weise leider nicht realisierbar, da die "Schaltfläche" ja rund ist. Wenn Sie allerdings die paar wenigen Pixels in den Ecken nicht stören sollten (sie können ja vorsichtshalber eine Hintergrundfarbe für den Option-Button wählen, die dem Hintergrund weitgehendst angepasst ist), steht einer Übertragung des Prinzips jedoch nichts im Wege.

Den Farbverlauf im Beispiel-Form erzeugt übrigens eine in Als die Farben laufen lernten"Als die Farben laufen lernten" vorgestellte Prozedur.


Beispiel-Projekt TransparentCheckBox (transparentcheckbox.zip - ca. 3,1 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer