![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Темы Windows [D7]
P © (2011-01-09 04:49:00)Доброго времени суток
Делаю собственную отрисовку ListView под Vista и выше, рисую итемы так
var
Form1: TForm1;
ExplorerTheme: Cardinal;
implementation
{$R *.dfm}
uses Themes, UxTheme;
procedure TForm1.Button1Click(Sender: TObject);
var
R: TRect;
begin
SetWindowTheme(Handle, 'explorer', nil);
ExplorerTheme := OpenThemeData(Handle, 'TREEVIEW');
R.Left := 5;
R.Top:= 5;
R.Right:= 200;
R.Bottom:= 25;
//Выделенный
DrawThemeBackground(ExplorerTheme, Canvas.Handle, LVP_LISTITEM, LIS_SELECTED, R, nil);
//Подсвеченный
DrawThemeBackground(ExplorerTheme, Canvas.Handle, LVP_LISTITEM, LIS_HOT, R, nil);
end;
Подскажите а как рисовать LIS_SELECTED + LIS_HOT, если смотреть в проводнике он получаеться немного темней LIS_SELECTED
P (2011-01-12 12:54:00) [1]
> Студент (12.01.11 12:10) [2]
Vista и выше
Студент (2011-01-12 12:10:00) [2]Наверное старый заголовочник...
А что ваш код делает-то? У меня на XP не заметно вообще никаких результатов, оно тока для Vista?
P (2011-01-11 17:27:00) [3]Ура! Нашел
const
LISS_NORMAL = 1;
LISS_HOT = 2;
LISS_SELECTED = 3;
LISS_DISABLED = 4;
LISS_SELECTEDNOTFOCUS = 5;
LISS_HOTSELECTED= 6;
В D7 этого нет