Главная страница
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.03 c
1-1119780267
Euro
2005-06-26 14:04
2005.07.18
Canvas


1-1119971220
TStas
2005-06-28 19:07
2005.07.18
как получить позицию начала выделения в пикселах?


3-1117703191
jiny
2005-06-02 13:06
2005.07.18
проблема с вложенными запросами


1-1120186136
dm37
2005-07-01 06:48
2005.07.18
DBGrid scrolling


3-1118057488
makle
2005-06-06 15:31
2005.07.18
Сжать и сохранить базу Access