Главная страница
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.047 c
6-1163929428
-~-
2006-11-19 12:43
2007.05.27
Пара вопросов про ICS (TWSocket).


3-1173265948
DmitrichJ
2007-03-07 14:12
2007.05.27
Генератор в MSSQL. Бьюсь уже 2-а дня.


3-1173241771
nikolay80
2007-03-07 07:29
2007.05.27
Сеть и BDE


15-1178042772
ShadowMan
2007-05-01 22:06
2007.05.27
TFileStream


2-1178872367
vitv
2007-05-11 12:32
2007.05.27
FormKeyDown-проблема.