![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обвести выделенный объект в TListView? [D7, WinXP]
creage © (2005-02-01 19:26:00)Понимаю, что вопрос типа ламерских, но кто подскажет, как мне "корректно" обвести, т.е нарисовать квадратную рамку вокруг выделенного (Item.Selected) объекта в ListView? Нужно это для того, чтобы было видно что выделенный объект действительно выделен, а то я по итему кликну - он маркед, а кликну где-то в другом месте формы - он уже не маркед :(! А мне нужно всегда видеть, который из итемов селектед! Искал пути выделения Item.Selected - ничего не нашел(наверное плохо искал). Подскажите, как мне решить эту проблему!
GuAV (2005-02-01 21:57:00) [1]HideSelection := False;
GrayFace (2005-02-01 21:11:00) [2]Ну как-то так:
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if Item.Selected and not (cdsSelected in State) then
with ListView1.Canvas do
begin
Pen.Color:=clHighlight;
Brush.Style:=bsClear;
Rectangle(Item.DisplayRect(drLabel));
end;
end;
GrayFace (2005-02-01 20:53:00) [3]Спутал с ListBox.
creage (2005-02-01 20:09:00) [4]В смысле? На каком еще темном фоне? У меня все рисуется на белом, если кликнуть иконку - она становится синей(маркед). Как только кликну где-то на другом месте формы - опять обычная иконка(не маркед)! Мне нужно, чтобы при любых действиях я зрительно видел, какой элементу меня сейчас текущий! Как это сделать?
GrayFace (2005-02-01 19:40:00) [5]А они ведь на темном фоне рисуются. Чем тебя это не устраимает?