Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

Положение мышки относительно 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
15-1177343107
Не назвавшийся
2007-04-23 19:45
2007.05.27
Какую музыку послушать


15-1177592026
Kolan
2007-04-26 16:53
2007.05.27
Как найти где можно получить сертификаты Borland в моём городе?


2-1178813708
Angelka
2007-05-10 20:15
2007.05.27
Рабочая группа компьютера


15-1177498566
SerJaNT
2007-04-25 14:56
2007.05.27
Протестировать сайт


1-1175014811
BigTon
2007-03-27 21:00
2007.05.27
FastReport и StringGrid