Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Панели групп как в Windows Explorer через MS Visual Styles API ?   Найти похожие ветки 

 
Rius   (2005-05-20 16:54) [0]

В общем все получается красиво разрисовать через ThemeApi, но есть один глюк с панелями групп (в Проводнике Windows XP/2003 слева, типа там "System Tasks", "Other Places", "Details".
Данные части имеют идентификаторы:

EXPLORERBAR
EBP_HEADERBACKGROUND  
EBP_NORMALGROUPBACKGROUND  
EBP_NORMALGROUPCOLLAPSE
EBP_NORMALGROUPEXPAND
EBP_NORMALGROUPHEAD  
EBP_SPECIALGROUPBACKGROUND  
EBP_SPECIALGROUPCOLLAPSE
EBP_SPECIALGROUPEXPAND
EBP_SPECIALGROUPHEAD

При выводе через DrawThemeBackground рисуется соответствующее изображение, находящееся в файле стиля *.msstyles (например Longhorn Aero.msstyles)
Сам же Windows Explorer берет их из библиотеки shellstyle.dll.
Вопрос: как мне рисовать нужные изображения как WinExplorer через ThemeApi ? Т.е. не доставать их вручную как ресурсы из DLL, а чтобы это делало API.

работаю в C++Builder 6, но никакой разницы от Delphi 7 не должно быть.


 
Ученик   (2005-05-21 19:33) [1]

>Rius   (20.05.05 16:54)  

Похоже на Windows Explorer, возможно, что-то не так



uses
 Themes;

{$R *.dfm}

procedure TForm1.PaintBox1Paint(Sender: TObject);
var
 Details: TThemedElementDetails;
 Rect: TRect;
begin
 with PaintBox1 do begin
   Rect := ClientRect;
   Rect.Bottom := Rect.Top + 30;
   Details := ThemeServices.GetElementDetails(tebNormalGroupHead);
   ThemeServices.DrawElement(Canvas.Handle, Details, Rect);
   Details := ThemeServices.GetElementDetails(tebNormalGroupBackground);
   Rect := ClientRect;
   Rect.Top := Rect.Top + 30;
   ThemeServices.DrawElement(Canvas.Handle, Details, Rect)
 end
end;




Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.034 c
14-1118775528
WondeRu
2005-06-14 22:58
2005.07.18
Давайте кошку Шредингера мучать?


14-1119429983
timotei
2005-06-22 12:46
2005.07.18
Memory Spy


8-1111307719
seregka
2005-03-20 11:35
2005.07.18
Преобразование в ч/б


1-1119970429
MuxauJl
2005-06-28 18:53
2005.07.18
Программа не хочет вырубаться


14-1119340150
BiN
2005-06-21 11:49
2005.07.18
Ну заработал, наконец-то