Главная страница
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.032 c
15-1177872605
antonn
2007-04-29 22:50
2007.05.27
Вопросик по регулярным выражениям. В пхп:)


15-1177471515
SerJaNT
2007-04-25 07:25
2007.05.27
Еще один вопрос по PHP :)


2-1178519104
Doom-2
2007-05-07 10:25
2007.05.27
Почему одинаковые string не равны?


2-1178557712
Антон Шестаков
2007-05-07 21:08
2007.05.27
Чтение из базы


15-1177746092
iXT
2007-04-28 11:41
2007.05.27