Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
ВнизПоложение мышки относительно ListView Найти похожие ветки
← →
Strate © (2007-05-08 23:33) [0]Как получить положение курсора мыши относительно ListView?
← →
{RASkov} © (2007-05-08 23:45) [1]Верхний левый угол ListView - (0,0) для экрана или для формы на которой ListView?
← →
Strate © (2007-05-08 23:53) [2]В общем мне нужно корректо найти координаты мышки над ListView чтобы правильно вызвать GetItemAt Я так понимаю что в этой функции (0,0) расположен в левом верхнем углу самого LIstView"a
← →
{RASkov} © (2007-05-08 23:56) [3]GetItemAt вызывай в OnMouseUp ListView"а с X и Y из параметров OnMouseUp"а..... или где ты это(GetItemAt) вызываешь?
← →
Strate © (2007-05-09 00:15) [4]{RASkov} © (08.05.07 23:56) [3]
Вызываю в OnCustomDrawItem, в этом вся сложность. Либо надо использовать глобальные переменные.
Я бы сделал поправку на положение формы главной относительно экрана, но там (у меня имеется ввиду :) ) довольно таки сложно сделать это, + высоту заголовка надо учитывать, а где ж её взять-то?
← →
{RASkov} © (2007-05-09 00:40) [5]> [4] Strate © (09.05.07 00:15)
> Вызываю в OnCustomDrawItem
А для чего тебе ТАМ нужно вызывать GetItemAt? Может тебе нужно HotTrackStyles настроить?
← →
Johnmen © (2007-05-09 00:48) [6]ClientToScreen, ScreenToClient
← →
Strate © (2007-05-09 01:10) [7]{RASkov} © (09.05.07 0:40) [5]
Не, в OnCustomDrawItem мне пришлось полностью переписывать алгоритм отрисовки итемов. И хот трэк тоже особый нужен.
← →
{RASkov} © (2007-05-09 01:28) [8]> [7] Strate © (09.05.07 01:10)
Ну тогда [6]
+var P: TPoint;
begin
GetCursorPos(P);
P:=ScreenToClient(P);
DEC(P.X, ListView.Left+2);
DEC(P.Y, ListView.Top+2);
......
Но что-то мне подсказывает, что ты не верным путем идешь....
← →
Strate © (2007-05-09 01:50) [9]{RASkov} © (09.05.07 1:28) [8]
Но что-то мне подсказывает, что ты не верным путем идешь....
Мне тоже что-то это подсказывает :)
Но более лучшего придумать не могу. Надо сделать хот трек одновременно нескольких итемов (группы выделенной) + вся (полностью) отрисовка у меня в OnCustomDrawItem
← →
Германн © (2007-05-09 01:52) [10]
> Strate © (09.05.07 01:50) [9]
>
> {RASkov} © (09.05.07 1:28) [8]
> Но что-то мне подсказывает, что ты не верным путем идешь.
> ...
>
> Мне тоже что-то это подсказывает :)
>
Особенно, если прочитать http://delphimaster.net/view/4-1178650355/
← →
{RASkov} © (2007-05-09 02:46) [11]> [7] Strate © (09.05.07 01:10)
Поправка для [8] :)var P: TPoint;
begin
GetCursorPos(P);
P:=ListView.ScreenToClient(P);
так правильнее :)
> [9] Strate © (09.05.07 01:50)
> Но более лучшего придумать не могу
Лучше подумать и сделать нормально, чем извращаться с непонятно чем. Ты хоть объясни нормально, что хочешь-то.....
← →
Strate © (2007-05-09 11:16) [12]{RASkov} © (09.05.07 2:46) [11]
Имеется ListView. В нём есть итемы, разделённые на группы по какому-то признаку. Некоторые из групп являются "активными" (т.е. например по давбл-клику что-то происходит). Вот хочу сделать Хот трэк на всю группу, т.е. при прорисовке посмотреть где мышка и изменить как-то стиль отображения всех итемов группы.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.05 c