vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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

Allgemeine Diskussionen
So geht's 
Autor: --Florian--
Datum: 24.07.04 14:12

Hi,

Wenn jemand noch nicht weiß wie das geht, hier die Lösung:

Code im Modul:
Public Declare Function GetSysColor Lib "user32.dll" (ByVal nIndex As Long) As _
  Long
Public Declare Function OleTranslateColor Lib "OLEPRO32.DLL" (ByVal OLE_COLOR _
As Long, ByVal HPALETTE As Long, pccolorref As Long) As Long
 
Public Const CLR_INVALID As Long = &HFFFF&
 
Public Property Get BlendColor(ByVal oColorFrom As OLE_COLOR, ByVal oColorTo As _
  OLE_COLOR, Optional ByVal alpha As Long = 128) As Long
Dim lCFrom As Long
Dim lCTo As Long
   lCFrom = TranslateColor(oColorFrom)
   lCTo = TranslateColor(oColorTo)
Dim lSrcR As Long
Dim lSrcG As Long
Dim lSrcB As Long
Dim lDstR As Long
Dim lDstG As Long
Dim lDstB As Long
   lSrcR = lCFrom And &HFF
   lSrcG = (lCFrom And &HFF00&) \ &H100&
   lSrcB = (lCFrom And &HFF0000) \ &H10000
   lDstR = lCTo And &HFF
   lDstG = (lCTo And &HFF00&) \ &H100&
   lDstB = (lCTo And &HFF0000) \ &H10000
 
 
   BlendColor = RGB(((lSrcR * alpha) / 255) + ((lDstR * (255 - alpha)) / 255), ( _
     (lSrcG * alpha) / 255) + ((lDstG * (255 - alpha)) / 255), ((lSrcB * alpha) _
     / 255) + ((lDstB * (255 - alpha)) / 255))
 
End Property
Public Function TranslateColor(ByVal clr As OLE_COLOR, Optional hPal As Long = _
  0) As Long
    If OleTranslateColor(clr, hPal, TranslateColor) Then TranslateColor = _
    CLR_INVALID
End Function
Für das Beispiel erstelle ein Formular mit 15 Pictureboxen. Benenne einfach eine "Farben", gib ihr den Index 0 und kopiere sie 14 mal.
Code in Form1:
Private Sub Farben_Paint(Index As Integer)
Farben(0).BackColor = GetSysColor(vb3DShadow And &H1F&) 'Linie
Farben(1).BackColor = BlendColor(vb3DHighlight And &H1F&, vbWindowBackground, _
  6) 'Hintergrund
Farben(2).BackColor = TranslateColor(BlendColor(vbWindowBackground, vb3DFace, _
42)) 'Checkmark
Farben(3).BackColor = BlendColor(vb3DShadow, vbWindowBackground, 256) 'Disable 
' Checked Border
Farben(4).BackColor = BlendColor(vb3DLight, vbWindowBackground, 110) 'Disable 
' Checked Fläche
Farben(5).BackColor = BlendColor(vbHighlight, vbWindowBackground, 255) 'Enabled 
' Checked Border
Farben(6).BackColor = BlendColor(vbHighlight, vbWindowBackground, 40) 'Enabled 
' Checked Fläche
Farben(7).BackColor = BlendColor(vbHighlight, vbWindowBackground, 116) 'Enabled 
' Checked Fläche Over
Farben(8).BackColor = BlendColor(vbHighlight, vbWindowBackground, 255) 'Enabled 
' Checked Border Over
Farben(9).BackColor = BlendColor(vb3DShadow, vbWindowBackground, 256) 'Disabled 
' Checked Border Over
Farben(10).BackColor = TranslateColor(ActiveMenuForeColor) 'Textcolor
Farben(11).BackColor = TranslateColor(InActiveMenuForeColor) 'Inactive Textcolor
Farben(12).BackColor = BlendColor(vb3DLight, vbWindowBackground, 110) 'Disabled 
' Textcolor
Farben(13).BackColor = BlendColor(vbHighlight, vbWindowBackground, 77) 'Fläche 
' Over
Farben(14).BackColor = BlendColor(vbHighlight, MenuBackgroundColor, 255) _
  'Border Over
End Sub
PS: @Dieter: Du könntest dies auch in deine sevMenuXP ActiveX einbauen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Menuleisten -> Farben auslesen945--Florian--07.09.03 01:28
Re: Menuleisten -> Farben auslesen660E708.09.03 13:04
Re: Menuleisten -> Farben auslesen567--Florian--08.09.03 13:11
Kann mir keiner helfen540--Florian--01.10.03 17:26
Re: Kann mir keiner helfen597E701.10.03 19:45
Re: Kann mir keiner helfen553--Florian--01.10.03 20:30
Re: Kann mir keiner helfen598--Florian--01.10.03 21:33
Re: Kann mir keiner helfen593E706.10.03 20:04
So geht's688--Florian--24.07.04 14:12

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