User:Miha

From Free Pascal wiki
Revision as of 21:34, 23 December 2006 by Miha (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Example 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.