Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
1-1119785382
Sower
2005-06-26 15:29
2005.07.18
Чтение из конца в начало.


14-1119416218
Ega23
2005-06-22 08:56
2005.07.18
С днём рождения! 22 июня


5-1090750591
P.N.P.
2004-07-25 14:16
2005.07.18
PropertyEditor


1-1120159595
GanibalLector
2005-06-30 23:26
2005.07.18
CustomSort в TStringList


14-1119870378
zunder
2005-06-27 15:06
2005.07.18
Установка D2005 на WinXPSP2




   Наверх