Как получить имя текщего стиля и имя цветовой схемы?

Previous  Top  Next

    
 

 

 

Code:

uses ComObj, SyncObjs;

 

var

GetCurrentThemeName: function (pszThemeFileName: LPWSTR; cchMaxNameChars: Integer;

   pszColorBuff: LPWSTR; cchMaxColorChars: Integer; pszSizeBuff: LPWSTR;

   cchMaxSizeChars: Integer): HRESULT; stdcall;

 

procedure TForm1.Button1Click(Sender: TObject);

var

FileName, ColorScheme, SizeName: WideString;

hThemeLib: THandle;

begin

try

   hThemeLib := LoadLibrary('uxtheme.dll');

   if hThemeLib > 0 then

     GetCurrentThemeName := GetProcAddress(hThemeLib, 'GetCurrentThemeName');

   if Assigned(GetCurrentThemeName) then

   begin

     SetLength(FileName, 255);

     SetLength(ColorScheme, 255);

     SetLength(SizeName, 255);

     OleCheck(GetCurrentThemeName(PWideChar(FileName), 255,

       PWideChar(ColorScheme), 255, PWideChar(SizeName), 255));

     // show the the theme path and file name.

     ShowMessage(PWideChar(FileName));

     // show the color scheme name

     ShowMessage(PWideChar(ColorScheme));

     // show the size name

     ShowMessage(PWideChar(SizeName));

   end;

finally

   FreeLibrary(hThemeLib);

end;

end;

 

 

©Drkb::00400

Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php