Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Стили оформления (XP, Классический)


Nevermind ©   (2003-07-15 08:43:00) 

Как узнать, какой из стилей оформления используется на машине?


Nevermind   (2003-07-16 23:54:00) [1]


> Song © (15.07.03 22:00)

Хорошо, только надо через try|except все делать) На строке
OleCheck(GetCurrentThemeName(.. вылетает оно самое, в том случае, если используется классическое оформление).
А так, однако, при изменении стиля на XP, в реестре, вот здесь: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager\
появляется несколько интересных параметров, включая полученные при использовании GetCurrentThemeName. Спасибо за помощь.)


Song   (2003-07-15 22:00:00) [2]

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;


Nevermind   (2003-07-15 21:54:00) [3]

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager\ThemeActive = 1?


Spawn   (2003-07-15 10:50:00) [4]

Посмотри Themes API. Может там что есть.


Наверх

Титульная страница Поиск, карта сайта Написать письмо