Главная страница
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.031 c
1-1119946584
rolex
2005-06-28 12:16
2005.07.18
Как сохранить/загрузить содержимое ListView в файл?


14-1119521618
passlight
2005-06-23 14:13
2005.07.18
Размер пошлин на ввоз иномарки


10-1097128475
KV
2004-10-07 09:54
2005.07.18
При отладке COM объекта не доходит до брейкпоинта


14-1119601537
КаПиБаРа
2005-06-24 12:25
2005.07.18
Стоит ли переходить с дневного на заочное обучение?


1-1119872622
Addast
2005-06-27 15:43
2005.07.18
копия