Главная страница
    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.048 c
15-1177575500
infom
2007-04-26 12:18
2007.05.27
Повернуть отрезок на определенный угол.


11-1142836015
BaryVetaL
2006-03-20 09:26
2007.05.27
Инверсный текст в компоненте...


2-1178725924
metalpriest
2007-05-09 19:52
2007.05.27
Программное управление курсора в TEdit


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


2-1178607349
Василий1
2007-05-08 10:55
2007.05.27
файл не загружается в memo полностью





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский