User:Miha
From Free Pascal wiki
Jump to navigationJump to searchExample of using msegraphics.setcolormapvalue
unit GuiStyle; {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} interface uses msegraphics {$ifdef mswindows},windows{$endif}; procedure InitColorMapFromOS; implementation procedure InitColorMapFromOS; function BGRCol(RGBCol: LongWord): LongWord; var Rec: rgbtriplety; Tmp: Byte; begin Rec := rgbtriplety(RGBCol); Tmp := Rec.red; Rec.red := Rec.blue; Rec.blue := Tmp; Result := LongWord(Rec); end; begin {$ifdef mswindows} SetColorMapValue(cl_dkshadow, BGRCol(GetSysColor(COLOR_3DDKSHADOW))); SetColorMapValue(cl_shadow, BGRCol(GetSysColor(COLOR_3DSHADOW))); SetColorMapValue(cl_mid, BGRCol(GetSysColor(COLOR_BTNTEXT))); SetColorMapValue(cl_light, BGRCol(GetSysColor(COLOR_3DLIGHT))); SetColorMapValue(cl_highlight, BGRCol(GetSysColor(COLOR_3DHILIGHT))); SetColorMapValue(cl_background, BGRCol(GetSysColor(COLOR_BTNFACE))); SetColorMapValue(cl_foreground, BGRCol(GetSysColor(COLOR_WINDOW))); SetColorMapValue(cl_active, BGRCol(GetSysColor(COLOR_HIGHLIGHT))); SetColorMapValue(cl_noedit, BGRCol(GetSysColor(COLOR_GRAYTEXT))); SetColorMapValue(cl_text, BGRCol(GetSysColor(COLOR_WINDOWTEXT))); SetColorMapValue(cl_selectedtext, BGRCol(GetSysColor(COLOR_HIGHLIGHTTEXT))); SetColorMapValue(cl_selectedtextbackground, BGRCol(GetSysColor(COLOR_HIGHLIGHT))); SetColorMapValue(cl_infobackground, BGRCol(GetSysColor(COLOR_INFOBK))); {$endif} end; end.