vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Grafik und Font · Sonstiges   |   VB-Versionen: VB4, VB5, VB622.05.01
RGB-Werte einer System-Farbe

Bestimmung der RGB-Werte einer beliebigen Farbe (auch Systemfarben)

Autor:   Torsten KerzBewertung:     [ Jetzt bewerten ]Views:  14.848 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Die folgende Funktion ermöglicht es, auch von Systemfarben (z.B. Konstante vb3dFace) die RGB-Farbanteile zu ermitteln. Somit ist es z.B. leicht möglich, Schatten von Steuerelementenimmer in einer passenden Farbe darzustellen.

Hierzu einfach die zurückerhaltenen Werte etwas abdunkeln und somit eine neue Farbe generieren.

' zunächst die benötigten API-Deklarationen
Private Declare Function GetSysColor Lib "user32" ( _
  ByVal nIndex As Long) As Long
 
Public Type typRGB
 Red    As Integer
 Green  As Integer
 Blue   As Integer
End Type
 
Public Function RGBColor(ByVal Color As OLE_COLOR) As typRGB
  ' ------------------------------------------------------
  ' Abfragen einer Farbe
  ' ------------------------------------------------------
  If (Color And &HFF000000) = &H80000000 Then _
    Color = GetSysColor(Color And &HFFFFFF)
 
  RGBColor.Red = (Color And &HFF&)
  RGBColor.Green = (Color And &HFF00&) / &H100
  RGBColor.Blue = (Color And &HFF0000) / &H10000
  ' ------------------------------------------------------
End Function

Bsp.: Darstellen eines abgedunkelten Schatten...

CommandButton mit Schatten
Die rechte Abbildung zeigt, wie man ganz leicht einen CommandButton mit einem zusätzlichen dunklen Schatten versehen kann.

Private Sub Form_Load()
  Dim Color As typRGB
 
  Color = RGBColor(Command1.BackColor)
  Color.Red = Color.Red / 2
  Color.Blue = Color.Blue / 2
  Color.Green = Color.Green / 2
 
  ' Shape autom. positionieren
  With Command1
    Shape1.Move .Left + 45, .Top + 45, .Width, .Height
  End With
 
  ' Eigenschaften + Schattenfarbe (Füllfarbe)
  With Shape1
    .BorderStyle = 0
    .BackStyle = 1
    .BackColor = RGB(Color.Red, Color.Green, Color.Blue)
  End With
End Sub

Dieser Tipp wurde bereits 14.848 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2019 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