| |
Fortgeschrittene ProgrammierungExcel Farbauswahl | | | Autor: ExcelFreak | Datum: 01.09.07 12:43 |
| Hallo zusammen,
ich habe folgenden Code in Eurem Archiv gefunden
http://www.vbarchiv.net/vbapi/ChooseColor.php
und diesen für den Einsatz in Excel adaptiert.
Private Declare Function ChooseColor_Dlg Lib "comdlg32.dll" Alias _
"ChooseColorA" _
(lpcc As CHOOSECOLOR_TYPE) As Long
Private Type CHOOSECOLOR_TYPE
lStructSize As Long
hwndOwner As Long
hInstance As Long
rgbResult As Long
lpCustColors As Long
flags As Long
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
' Anwender kann alle Farben wählen
Private Const CC_ANYCOLOR = &H100
' Nachrichten können "abgefangen" werden
Private Const CC_ENABLEHOOK = &H10
' Dialogbox Template
Private Const CC_ENABLETEMPLATE = &H20
' Benutzt Template, ignoriert aber den Template-Namen
Private Const CC_ENABLETEMPLATEHANDLE = &H40
' Vollauswahl aller Farben anzeigen
Private Const CC_FULLOPEN = &H2
' Deaktiviert den Button zum Öffnen der Dialogbox-Erweiterung
Private Const CC_PREVENTFULLOPEN = &H4
' Vorgabe einer Standard-Farbe
Private Const CC_RGBINIT = &H1
' Hilfe-Button anzeigen
Private Const CC_SHOWHELP = &H8
' nur Grundfarben auswählbar
Private Const CC_SOLIDCOLOR = &H80
Private Sub CommandButton1_Click()
Dim CC_T As CHOOSECOLOR_TYPE, Retval As Long
Static BDF(16) As Long
'Einige Farben vordefinieren (Benutzerdefinierte Farben)
BDF(0) = RGB(255, 0, 255)
BDF(1) = RGB(125, 125, 125)
BDF(2) = RGB(90, 90, 90)
With CC_T
.lStructSize = Len(CC_T) 'Strukturgröße
.flags = CC_RGBINIT Or CC_ANYCOLOR Or CC_FULLOPEN Or _
CC_PREVENTFULLOPEN 'Flags
.rgbResult = RGB(0, 0, 0) 'Farbe voreinstellen
.lpCustColors = VarPtr(BDF(0)) 'Benutzerdefinierte Farben zuweisen
End With
Retval = ChooseColor_Dlg(CC_T) 'Dialog anzeigen
If Retval <> 0 Then
Me.CLPre.BackColor = CC_T.rgbResult 'gewählte Farbe als Hintergrund
' setzen
Me.RGB1 = CC_T.rgbResult
Else
MsgBox "Das Auswählen einer Farbe ist fehlgeschlagen," & _
"oder Sie haben Abbrechen gedrückt", vbCritical, "Fehler"
End If
End Sub Nun bin ich aber auf ein Problem gestoßen, bei dem ich eure Hilfe benötige. Ich würde gern die RGB getrennt in einer MSGbox anzeigen.
Z.B.
msgbox "Der gewählte Rotton ist: " & HierderR-Wert
msgbox "Der gewählte Grünton ist" & HierderG-Wert
msgbox "Der gewählte Blauton ist" & HierderB-Wert
Kann mir bitte jemand sagen, wie das funktioniert? | |
| 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 |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 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
|
|