Systemfarben anzeigen #COLOR_????

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
sverson
Beiträge: 19
Registriert: 06.02.2005 01:42
Wohnort: Deutschland

Systemfarben anzeigen #COLOR_????

Beitrag von sverson »

Ich wollte wissen, was hinter den #COLOR_???? Konstanten steckt.
Vielleicht kann das ja noch jemand brauchen...

Code: Alles auswählen

;/ Display system colors
;/ sverson 02/2005

Structure SYSCOLORS
  ColorConst.s
  ColorNumber.l
EndStructure
NewList ColorList.SYSCOLORS()

Procedure InitColorList()
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DDKSHADOW" : ColorList()\ColorNumber = 21
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DFACE = #COLOR_BTNFACE" : ColorList()\ColorNumber = 15
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DHILIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = 20
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DHIGHLIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = 20
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DLIGHT" : ColorList()\ColorNumber = 22
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DSHADOW = #COLOR_BTNSHADOW" : ColorList()\ColorNumber = 16
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_ACTIVEBORDER" : ColorList()\ColorNumber = 10
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_ACTIVECAPTION" : ColorList()\ColorNumber = 2
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_APPWORKSPACE" : ColorList()\ColorNumber = 12
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BACKGROUND" : ColorList()\ColorNumber = 1
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNFACE" : ColorList()\ColorNumber = 15
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = 20
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNHILIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = 20
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNSHADOW" : ColorList()\ColorNumber = 16
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNTEXT" : ColorList()\ColorNumber = 18
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_CAPTIONTEXT" : ColorList()\ColorNumber = 9
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_DESKTOP = #COLOR_BACKGROUND" : ColorList()\ColorNumber = 1
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_GRADIENTACTIVECAPTION" : ColorList()\ColorNumber = 27
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_GRADIENTINACTIVECAPTION" : ColorList()\ColorNumber = 28 
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_GRAYTEXT" : ColorList()\ColorNumber = 17
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HIGHLIGHT" : ColorList()\ColorNumber = 13
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HIGHLIGHTTEXT" : ColorList()\ColorNumber = 14
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HOTLIGHT" : ColorList()\ColorNumber = 26
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVEBORDER" : ColorList()\ColorNumber = 11
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVECAPTION" : ColorList()\ColorNumber = 3
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVECAPTIONTEXT" : ColorList()\ColorNumber = 19
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INFOBK" : ColorList()\ColorNumber = 24
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INFOTEXT" : ColorList()\ColorNumber = 23
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_MENU" : ColorList()\ColorNumber = 4
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_MENUTEXT" : ColorList()\ColorNumber = 7
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_SCROLLBAR" : ColorList()\ColorNumber = 0
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOW" : ColorList()\ColorNumber = 5
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOWFRAME" : ColorList()\ColorNumber = 6
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOWTEXT" : ColorList()\ColorNumber = 8
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLORMATCHTOTARGET_EMBEDED" : ColorList()\ColorNumber = 1
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLORONCOLOR" : ColorList()\ColorNumber = 3
EndProcedure

InitColorList()
If OpenWindow(0,10,10,640,CountList(ColorList())*15+1,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"Display system colors")
  background = GetSysColor_(#COLOR_WINDOW)
  If StartDrawing(WindowOutput())
    DrawingFont(LoadFont(0, "Arial", 8))
    FirstElement(ColorList())
    For a = 0 To CountList(ColorList())-1
      SysColor = GetSysColor_(ColorList()\ColorNumber)
      Box(0,15*a,640,16,RGB(0,0,0))
      Box(1,15*a+1,638,14,RGB(255,255,255))
      Box(300,15*a+2,200,12,SysColor)
      FrontColor(0,0,0)
      BackColor(255,255,255)
      Locate(12,15*a+1)
      DrawText(RSet(Str(ColorList()\ColorNumber),3,"0")+"  "+ColorList()\ColorConst)
      Locate(510,15*a+1) 
      DrawText(RSet(Str(SysColor),8,"0")+"  "+RSet(Str(Red(SysColor)),3,"0")+"/"+RSet(Str(Green(SysColor)),3,"0")+"/"+RSet(Str(Blue(SysColor)),3,"0"))
      NextElement(ColorList())
    Next
    StopDrawing()
  EndIf
  Repeat
      EventID.l = WaitWindowEvent()
  Until EventID = #PB_EventCloseWindow
  CloseWindow(0)
EndIf
End
:wink: sverson
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Steht auch alles in der bekannten Win32.HLP.
Für alle die es genauer wissen wollen.
sverson
Beiträge: 19
Registriert: 06.02.2005 01:42
Wohnort: Deutschland

Beitrag von sverson »

...nun, das stimmt - nur fehlen da ein paar, die jedoch im ApiViewer zu finden sind - aaaber so übersichtlich anschauen kann man seine aktuelle Systemfarbeneinstellung inkl. Farbnummern im WIN32.HLP nicht! :cry: Genau das war mein Ziel.

Wer die System- (oder auch andere Farben) nun noch heller oder dunkler machen möchte, der kann sich ja mal folgenden Code anschauen:

Code: Alles auswählen

;/ RGB farbhelligkeit korrigieren  PB 3.92 / ASM
;/ Eine schnelle ASM-Routine zur "om the fly" Korrektur der RGB Farbhelligkeit
;/ BrightnessRGB(RGB_Color.l, Delta.w) Delta -255...255 - andere Werte sind sinnlos
;/ 02/2005 sverson

Enumeration
  #DemoWindow
  #DemoImage
  #DemoImageGeaget
  #ColorTrackBar
  #BrightnesTrackBar
EndEnumeration

Structure SYSCOLORS
  ColorConst.s
  ColorNumber.l
EndStructure
NewList ColorList.SYSCOLORS()

Procedure InitColorList() ;/ Systemfarben
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DDKSHADOW" : ColorList()\ColorNumber = GetSysColor_(#COLOR_3DDKSHADOW)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DFACE = #COLOR_BTNFACE" : ColorList()\ColorNumber = GetSysColor_(#COLOR_3DFACE)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DHILIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_3DHILIGHT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DHIGHLIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_3DHIGHLIGHT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DLIGHT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_3DLIGHT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DSHADOW = #COLOR_BTNSHADOW" : ColorList()\ColorNumber = GetSysColor_(#COLOR_3DSHADOW)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_ACTIVEBORDER" : ColorList()\ColorNumber = GetSysColor_(#COLOR_ACTIVEBORDER)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_ACTIVECAPTION" : ColorList()\ColorNumber = GetSysColor_(#COLOR_ACTIVECAPTION)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_APPWORKSPACE" : ColorList()\ColorNumber = GetSysColor_(#COLOR_APPWORKSPACE)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BACKGROUND" : ColorList()\ColorNumber = GetSysColor_(#COLOR_BACKGROUND)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNFACE" : ColorList()\ColorNumber = GetSysColor_(#COLOR_BTNFACE)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_BTNHIGHLIGHT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNHILIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_BTNHILIGHT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNSHADOW" : ColorList()\ColorNumber = GetSysColor_(#COLOR_BTNSHADOW)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_BTNTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_CAPTIONTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_CAPTIONTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_DESKTOP = #COLOR_BACKGROUND" : ColorList()\ColorNumber = GetSysColor_(#COLOR_DESKTOP)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_GRAYTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_GRAYTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HIGHLIGHT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_HIGHLIGHT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HIGHLIGHTTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_HIGHLIGHTTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVEBORDER" : ColorList()\ColorNumber = GetSysColor_(#COLOR_INACTIVEBORDER)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVECAPTION" : ColorList()\ColorNumber = GetSysColor_(#COLOR_INACTIVECAPTION)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVECAPTIONTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_INACTIVECAPTIONTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INFOBK" : ColorList()\ColorNumber = GetSysColor_(#COLOR_INFOBK)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INFOTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_INFOTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_MENU" : ColorList()\ColorNumber = GetSysColor_(#COLOR_MENU)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_MENUTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_MENUTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_SCROLLBAR" : ColorList()\ColorNumber = GetSysColor_(#COLOR_SCROLLBAR)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOW" : ColorList()\ColorNumber = GetSysColor_(#COLOR_WINDOW)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOWFRAME" : ColorList()\ColorNumber = GetSysColor_(#COLOR_WINDOWFRAME)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOWTEXT" : ColorList()\ColorNumber = GetSysColor_(#COLOR_WINDOWTEXT)
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLORONCOLOR" : ColorList()\ColorNumber = GetSysColor_(#COLORONCOLOR)
  ;/ + 3 Demofarben
  AddElement(ColorList()) : ColorList()\ColorConst = "Demo Blue" : ColorList()\ColorNumber = RGB(0,0,128)
  AddElement(ColorList()) : ColorList()\ColorConst = "Demo Green" : ColorList()\ColorNumber = RGB(0,128,0)
  AddElement(ColorList()) : ColorList()\ColorConst = "Demo Red" : ColorList()\ColorNumber = RGB(128,0,0)
EndProcedure

Procedure BrightnessRGB(RGB_Color.l, Delta.w);- RGB farbhelligkeit korrigieren
  Protected ColorBack.l  
  !XOR Eax, Eax         ;/ EAX-Register löschen
  !XOR Ebx, Ebx         ;/ EBX-Register löschen
  !XOR Ecx, Ecx         ;/ ECX-Register löschen
  !MOV BX, Word [Esp+4] ;/ Delta-Wert in BX einlesen
  !MOV Edx, dWord [Esp] ;/ RGB-Farbwert in EDX einlesen
  !MOV AL, DL           ;/ R-Wert nach AL
  !CALL .adddelta       ;/--> DELTA ZU AL (R) ADDIEREN ++
  !MOV CL, AL           ;/ R-Wert in CL zwischenspeichern
  !MOV AL, DH           ;/ G-Wert nach AL
  !CALL .adddelta       ;/--> DELTA ZU AL (G) ADDIEREN ++
  !MOV ch, AL           ;/ G-Wert in CH zwischenspeichern
  !BSWAP Edx            ;/ B-Wert via BYTESWAP in DH zugänglich machen
  !MOV AL, DH           ;/ G-Wert nach AL
  !CALL .adddelta       ;/--> DELTA ZU AL (B) ADDIEREN ++
  !MOV DH, AL           ;/ G-Wert nach DH zurückschreiben
  !BSWAP Edx            ;/ G-Wert via BYTESWAP wieder an richtige Position bringen
  !MOV dx, cx           ;/ R und G Wert aus Zwischenspeicher CX wieder in DX schreiben
  !JMP .ready           ;/==> FARBKORREKTUR BEENDET ++
  !.adddelta:           ;/ ++ DELTA ZU AL ADDIEREN ++
  !ADD AX, BX           ;/ Delta aus BX zu AX addieren
  !BT AX, 15            ;/ auf Negativwert testen
  !JC .negativ          ;/==> NEUER WERT KLEINER NULL ++
  !CMP AX, $FF          ;/ auf Maximalwert testen
  !JBE .inrange         ;/==> NEUER ZWISCHEN 0 UND 255 ++
  !.bigger:             ;/ ++ NEUER WERT GRÖSSER 255 ++
  !MOV AX, $00FF        ;/ AX auf 255 begrenzen
  !JMP .inrange         ;/==> WERT IN DEN GRENZEN ++
  !.negativ:            ;/ ++ NEUER WERT KLEINER NULL ++
  !XOR Eax, Eax         ;/ AX auf 0 begrenzen
  !.inrange:            ;/ ++ WERT IN DEN GRENZEN ++
  !RET                  ;/ Rücksprung aus Makro
  !.ready:              ;/ ++ FARBKORREKTUR BEENDET ++
  !MOV [Esp+6], Edx     ;/ Korrigierten RGB-Wert über ColorBack ausgeben
  ProcedureReturn ColorBack
EndProcedure

Procedure UpdateImage(ITitle$,IColor.l,iDelta.w);/ Image aktualisieren
  UseImage(#DemoImage)
  StartDrawing(ImageOutput())
  newColor = BrightnessRGB(IColor,iDelta)
  Box(0,0,280,200,IColor)
  Box(78,48,124,104,RGB(255,255,255))
  Box(79,49,122,102,RGB(0,0,0))
  Box(80,50,120,100,newColor)
  DrawingMode(1)
  FrontColor(255,255,255)
  Locate(10, 10)
  DrawText(ITitle$)
  Locate(90, 65)
  DrawText("R"+RSet(Str(Red(newColor)),3,"0")+"G"+RSet(Str(Green(newColor)),3,"0")+"b"+RSet(Str(Blue((newColor))),3,"0"))
  Locate(90, 80)
  DrawText("delta: "+Str(iDelta))
  Locate(90, 100)
  FrontColor(0,0,0) ; print the text to white !
  DrawText("delta: "+Str(iDelta))
  Locate(90, 115)
  DrawText("R"+RSet(Str(Red(newColor)),3,"0")+"G"+RSet(Str(Green(newColor)),3,"0")+"b"+RSet(Str(Blue((newColor))),3,"0"))
  Locate(10, 175)
  DrawText(ITitle$)
  StopDrawing()
EndProcedure

If OpenWindow(#DemoWindow,0,0,320,240,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Helligkeitsregler") And CreateGadgetList(WindowID(#DemoWindow)) 
  If CreateImage(#DemoImage, 280, 200)
    InitColorList()
    LastElement(ColorList())
    UpdateImage(ColorList()\ColorConst,ColorList()\ColorNumber,0)
    ImageGadget(#DemoImageGeaget,5,5,280,200,UseImage(#DemoImage),#PB_Image_Border)
    TrackBarGadget(#BrightnesTrackBar, 5, 215, 280, 20,0,510) 
    SetGadgetState(#BrightnesTrackBar,255)
    TrackBarGadget(#ColorTrackBar, 295, 5, 20, 200,1,CountList(ColorList()),#PB_TrackBar_Vertical) 
    SetGadgetState(#ColorTrackBar,CountList(ColorList()))
    Repeat :
      WinEvent = WaitWindowEvent()
      Select WinEvent
        Case #PB_EventGadget
          SelectElement(ColorList(),GetGadgetState(#ColorTrackBar)-1)
          UpdateImage(ColorList()\ColorConst,ColorList()\ColorNumber,GetGadgetState(#BrightnesTrackBar)-255)
          SetGadgetState(#DemoImageGeaget,UseImage(#DemoImage))
      EndSelect
    Until WinEvent = #PB_Event_CloseWindow 
  EndIf
EndIf 
End
:wink: sverson
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Neinnein,...Ich wollte dein Werk nicht miesreden.
Ich finds schon toll. Nur wollt ich was zur Ergänzung sagen.

:allright:
Zuletzt geändert von Hroudtwolf am 01.12.2005 13:32, insgesamt 1-mal geändert.
Gamer
Beiträge: 180
Registriert: 21.03.2005 16:59

Beitrag von Gamer »

Mal ne Frage:

Angenommen ich öffne ein Fenster und färbe den Hintergrund grün ein,
kann ich dann auch bei Frame3DGadget die grauen Flächen irgendwie
einfärben?

Falls es geht: Wirkt sich das dann nur auf das Fenster aus oder das komplette System?
nalor
Beiträge: 10
Registriert: 29.06.2009 15:48

Re: Systemfarben anzeigen #COLOR_????

Beitrag von nalor »

Bin gerade über den Thread hier gestolpert und weil ich es immer ein bisserl nervig finde wenn man nur schnell mal was probieren will und dann doch erst den Code an die aktuelle PB Fassung anpassen muss, hier die an PB5.x angepasste Fassung des Codes aus dem ersten Post.
Zusätzlich habe ich noch die Konstanten in 'InitColorList' durch die echten 'Konstanten' ersetzt - im ersten Post wurden da fixe Werte eingetragen... und eine Konstante kannte PB nicht, die habe ich entfernt (#COLORMATCHTOTARGET_EMBEDED)

Code: Alles auswählen

;/ Display system colors
;/ sverson 02/2005
;/ nalor..modified for PB5.x

Structure SYSCOLORS
  ColorConst.s
  ColorNumber.l
EndStructure
NewList ColorList.SYSCOLORS()

Procedure InitColorList()
	
	Shared ColorList()
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DDKSHADOW" : ColorList()\ColorNumber = #COLOR_3DDKSHADOW
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DFACE = #COLOR_BTNFACE" : ColorList()\ColorNumber = #COLOR_3DFACE
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DHILIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = #COLOR_3DHILIGHT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DHIGHLIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = #COLOR_3DHIGHLIGHT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DLIGHT" : ColorList()\ColorNumber = #COLOR_3DLIGHT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_3DSHADOW = #COLOR_BTNSHADOW" : ColorList()\ColorNumber = #COLOR_3DSHADOW
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_ACTIVEBORDER" : ColorList()\ColorNumber = #COLOR_ACTIVEBORDER
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_ACTIVECAPTION" : ColorList()\ColorNumber = #COLOR_ACTIVECAPTION
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_APPWORKSPACE" : ColorList()\ColorNumber = #COLOR_APPWORKSPACE
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BACKGROUND" : ColorList()\ColorNumber = #COLOR_BACKGROUND
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNFACE" : ColorList()\ColorNumber = #COLOR_BTNFACE
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = #COLOR_BTNHIGHLIGHT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNHILIGHT = #COLOR_BTNHIGHLIGHT" : ColorList()\ColorNumber = #COLOR_BTNHILIGHT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNSHADOW" : ColorList()\ColorNumber = #COLOR_BTNSHADOW
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_BTNTEXT" : ColorList()\ColorNumber = #COLOR_BTNTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_CAPTIONTEXT" : ColorList()\ColorNumber = #COLOR_CAPTIONTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_DESKTOP = #COLOR_BACKGROUND" : ColorList()\ColorNumber = #COLOR_DESKTOP
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_GRADIENTACTIVECAPTION" : ColorList()\ColorNumber = #COLOR_GRADIENTACTIVECAPTION
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_GRADIENTINACTIVECAPTION" : ColorList()\ColorNumber = #COLOR_GRADIENTINACTIVECAPTION
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_GRAYTEXT" : ColorList()\ColorNumber = #COLOR_GRAYTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HIGHLIGHT" : ColorList()\ColorNumber = #COLOR_HIGHLIGHT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HIGHLIGHTTEXT" : ColorList()\ColorNumber = #COLOR_HIGHLIGHTTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_HOTLIGHT" : ColorList()\ColorNumber = #COLOR_HOTLIGHT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVEBORDER" : ColorList()\ColorNumber = #COLOR_INACTIVEBORDER
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVECAPTION" : ColorList()\ColorNumber = #COLOR_INACTIVECAPTION
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INACTIVECAPTIONTEXT" : ColorList()\ColorNumber = #COLOR_INACTIVECAPTIONTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INFOBK" : ColorList()\ColorNumber = #COLOR_INFOBK
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_INFOTEXT" : ColorList()\ColorNumber = #COLOR_INFOTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_MENU" : ColorList()\ColorNumber = #COLOR_MENU
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_MENUTEXT" : ColorList()\ColorNumber = #COLOR_MENUTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_SCROLLBAR" : ColorList()\ColorNumber = #COLOR_SCROLLBAR
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOW" : ColorList()\ColorNumber = #COLOR_WINDOW
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOWFRAME" : ColorList()\ColorNumber = #COLOR_WINDOWFRAME
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLOR_WINDOWTEXT" : ColorList()\ColorNumber = #COLOR_WINDOWTEXT
  AddElement(ColorList()) : ColorList()\ColorConst = "#COLORONCOLOR" : ColorList()\ColorNumber = #COLORONCOLOR
EndProcedure

Define FontId.i
InitColorList()
If OpenWindow(0,10,10,640,ListSize(ColorList())*15+1,"Display system colors",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
	background = GetSysColor_(#COLOR_WINDOW)
	Font=LoadFont(#PB_Any, "Arial", 8)
  If StartDrawing(WindowOutput(0))
    DrawingFont(FontID(Font))
    FirstElement(ColorList())
    For a = 0 To ListSize(ColorList())-1
      SysColor = GetSysColor_(ColorList()\ColorNumber)
      Box(0,15*a,640,16,RGB(0,0,0))
      Box(1,15*a+1,638,14,RGB(255,255,255))
      Box(300,15*a+2,200,12,SysColor)
      FrontColor($000000)
      BackColor($FFFFFF)
      DrawText(12, 15*a+1, RSet(Str(ColorList()\ColorNumber),3,"0")+"  "+ColorList()\ColorConst)
      DrawText(510,15*a+1, RSet(Str(SysColor),8,"0")+"  "+RSet(Str(Red(SysColor)),3,"0")+"/"+RSet(Str(Green(SysColor)),3,"0")+"/"+RSet(Str(Blue(SysColor)),3,"0"))
      NextElement(ColorList())
    Next
    StopDrawing()
  EndIf
  Repeat
      EventID.l = WaitWindowEvent()
  Until EventID = #PB_Event_CloseWindow
  CloseWindow(0)
EndIf
End
Antworten