VB 5/6-Tipp 0505: Ändern der Schriftfarbe eines Commandbuttons
von Klaus Langbein
Beschreibung
Die Farbe eines Commandbuttons ist leider immer
Schwarz. Immerhin kann jedoch man seit VB5 Bilder auf den
Buttons unterbringen. Dies wird hier genutzt, um farbige
Buttontexte zu erzeugen.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Bildfeld-Steuerelement "Picture1" ' ' Autor: K. Langbein Klaus@ActiveVB.de ' ' Beschreibung: Die Farbe eines Commandbuttons ist leider immer ' Schwarz. Immerhin kann jedoch man seit VB5 Bilder auf den ' Buttons unterbringen. Dies wird hier genutzt, um farbige ' Buttontexte zu erzeugen. ' Option Explicit Sub color_caption(cntrl As Control, ByVal caption$, ByVal col As Long) Picture1.Cls 'Picture1.Picture = Nothing Picture1.AutoRedraw = -1 ' Alle Einstellungen uebernehmen Picture1.BackColor = cntrl.BackColor Picture1.ForeColor = col Picture1.Font = cntrl.Font Picture1.FontBold = cntrl.FontBold Picture1.FontItalic = cntrl.FontItalic Picture1.FontUnderline = cntrl.FontUnderline Picture1.FontStrikethru = cntrl.FontStrikethru ' Groesse der Picturebox anpassen Picture1.Width = Picture1.TextWidth(caption$) * 1.05 Picture1.Height = Picture1.TextHeight(caption$) * 1.2 ' Die neue Caption als Text darstellen Picture1.Print caption$ ' Die Originalcaption muss geloescht werden Command1.caption = "" Command1.Picture = Picture1.Image 'Alternativ koennte mn auch die Picture-Eigenschaft uebergeben 'picture1.Picture=picture1.Image 'Command1.Picture = Picture1.Picture End Sub Private Sub Command1_Click() Dim col As Long Randomize ' ' Hier wird eine zufaellige Farbe erzeugt col = QBColor(Rnd * 15) ' und dann and die Funktion uebergeben. Call color_caption(Command1, "Change Color", col) End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB5 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB6 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 4 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Jochen Hintringer am 09.06.2011 um 11:40
Vorsichtig!
Dieses Script ist fehlerhaft! Es ist zwar ungefährlich, aber funktioniert nicht so, wie man es sich wünscht.
Liebes ActiveVB-Team, bitte überarbeiten.
Danke.
Kommentar von Daniel Nützler am 11.07.2006 um 11:12
Ich musste zuerst
Picture1.ScaleMode = vbPixelssetzen.
Bei "Alle Einstellungen uebernehmen" fehlt
Picture1.FontSize = cntrl.FontSize.
Beim Ändern mehrerer Buttons bzw. Buttons mit unterschiedlicher Caption ist es notwendig, nach dem Setzen der Größe der Picturebox
Picture1.Clsaufzurufen, sonst wird Größe von Picture1.Image nicht angepasst und die Schrift ist nicht mittig auf dem Button.
Soll die Schrift mittig auf dem Button sein, können die Faktoren bei der Anpassung der Größe der Picturebox entfallen.
Kommentar von Heinz Maier am 02.10.2003 um 13:32
Hi,
Denn Download des Beispielprojekts machte ich.
Dann wollte ich Ihr Makro "Ändern der Schriftfarbe eine Command Buttons (Tip 0505)" bei mir laufen lassen.Klappt nicht!!!
Im Einzenlen. Es handelt sich doch um eine VBA-Pgm unter Excel oder ?
Also ich kopiere jedenfalls Ihren Code vom Internet runter und will dann kompilieren.
Dann stört er (ich nenne ihn den Allerweltswisser)sich an Picture1.cls. Wundert mich nicht, weil ich mit ihrer Picture1 was eine Bildatei sein soll nichts anfangen kann bzw. unter Eigenschaften habe ich eine Picture.datei (*.bmp) eibgebunden, die hat er auch geladen.
Aber er erkennt trotzdem nicht was die Picture1 ist.
Was ist den Picture1 ?
Außerdem kann ich ebenfalls mit Project1.vbp nichts anfagen. was ist das ?
Ist das VB ?
Ich kenne nur VBA dort VBA-Project(Excel-Datei) ?
Was meinen Sie kann ich das noch zum Laufen bringen ?
Für evtl. Mühe bedanke ich mich jetzt schon.
mfg
Heinz Maier
Kommentar von Henne am 10.10.2002 um 12:17
Und wie siehts mit dem unterstrichenen Buchstaben aus?? (Tastenkombination mit Alt)