Difference between revisions of "User:Miha"

From Free Pascal wiki
Jump to navigationJump to search
 
Line 15: Line 15:
 
    
 
    
 
   procedure InitColorMapFromOS;
 
   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
 
   begin
    {$ifdef mswindows}
+
    {$ifdef mswindows}
    SetColorMapValue(cl_dkshadow, BGRCol(GetSysColor(COLOR_3DDKSHADOW)));
+
    SetColorMapValue(cl_dkshadow, swaprgb(GetSysColor(COLOR_3DDKSHADOW)));
    SetColorMapValue(cl_shadow, BGRCol(GetSysColor(COLOR_3DSHADOW)));
+
    SetColorMapValue(cl_shadow, swaprgb(GetSysColor(COLOR_3DSHADOW)));
    SetColorMapValue(cl_mid, BGRCol(GetSysColor(COLOR_BTNTEXT)));
+
    SetColorMapValue(cl_mid, swaprgb(GetSysColor(COLOR_BTNTEXT)));
    SetColorMapValue(cl_light, BGRCol(GetSysColor(COLOR_3DLIGHT)));
+
    SetColorMapValue(cl_light, swaprgb(GetSysColor(COLOR_3DLIGHT)));
    SetColorMapValue(cl_highlight, BGRCol(GetSysColor(COLOR_3DHILIGHT)));
+
    SetColorMapValue(cl_highlight, swaprgb(GetSysColor(COLOR_3DHILIGHT)));
    SetColorMapValue(cl_background, BGRCol(GetSysColor(COLOR_BTNFACE)));
+
    SetColorMapValue(cl_background, swaprgb(GetSysColor(COLOR_BTNFACE)));
    SetColorMapValue(cl_foreground, BGRCol(GetSysColor(COLOR_WINDOW)));
+
    SetColorMapValue(cl_foreground, swaprgb(GetSysColor(COLOR_WINDOW)));
    SetColorMapValue(cl_active, BGRCol(GetSysColor(COLOR_HIGHLIGHT)));
+
    SetColorMapValue(cl_active, swaprgb(GetSysColor(COLOR_HIGHLIGHT)));
    SetColorMapValue(cl_noedit, BGRCol(GetSysColor(COLOR_GRAYTEXT)));
+
    SetColorMapValue(cl_noedit, swaprgb(GetSysColor(COLOR_GRAYTEXT)));
    SetColorMapValue(cl_text, BGRCol(GetSysColor(COLOR_WINDOWTEXT)));
+
    SetColorMapValue(cl_text, swaprgb(GetSysColor(COLOR_WINDOWTEXT)));
    SetColorMapValue(cl_selectedtext, BGRCol(GetSysColor(COLOR_HIGHLIGHTTEXT)));
+
    SetColorMapValue(cl_selectedtext, swaprgb(GetSysColor(COLOR_HIGHLIGHTTEXT)));
    SetColorMapValue(cl_selectedtextbackground, BGRCol(GetSysColor(COLOR_HIGHLIGHT)));
+
    SetColorMapValue(cl_selectedtextbackground, swaprgb(GetSysColor(COLOR_HIGHLIGHT)));
    SetColorMapValue(cl_infobackground, BGRCol(GetSysColor(COLOR_INFOBK)));
+
    SetColorMapValue(cl_infobackground, swaprgb(GetSysColor(COLOR_INFOBK)));
    {$endif}
+
    {$endif}
 
   end;
 
   end;
 
    
 
    
 
   end.
 
   end.

Revision as of 18:02, 25 December 2006

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;
 begin
   {$ifdef mswindows}
   SetColorMapValue(cl_dkshadow, swaprgb(GetSysColor(COLOR_3DDKSHADOW)));
   SetColorMapValue(cl_shadow, swaprgb(GetSysColor(COLOR_3DSHADOW)));
   SetColorMapValue(cl_mid, swaprgb(GetSysColor(COLOR_BTNTEXT)));
   SetColorMapValue(cl_light, swaprgb(GetSysColor(COLOR_3DLIGHT)));
   SetColorMapValue(cl_highlight, swaprgb(GetSysColor(COLOR_3DHILIGHT)));
   SetColorMapValue(cl_background, swaprgb(GetSysColor(COLOR_BTNFACE)));
   SetColorMapValue(cl_foreground, swaprgb(GetSysColor(COLOR_WINDOW)));
   SetColorMapValue(cl_active, swaprgb(GetSysColor(COLOR_HIGHLIGHT)));
   SetColorMapValue(cl_noedit, swaprgb(GetSysColor(COLOR_GRAYTEXT)));
   SetColorMapValue(cl_text, swaprgb(GetSysColor(COLOR_WINDOWTEXT)));
   SetColorMapValue(cl_selectedtext, swaprgb(GetSysColor(COLOR_HIGHLIGHTTEXT)));
   SetColorMapValue(cl_selectedtextbackground, swaprgb(GetSysColor(COLOR_HIGHLIGHT)));
   SetColorMapValue(cl_infobackground, swaprgb(GetSysColor(COLOR_INFOBK)));
   {$endif}
 end;
 
 end.