Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1177661179
Sergey13
2007-04-27 12:06
2007.05.27
В Санкт-Петербурге скончался Кирилл Лавров


3-1173595209
_kos
2007-03-11 09:40
2007.05.27
Подключение к удалённой mysql


2-1178708349
Belorus
2007-05-09 14:59
2007.05.27
TShiftState


15-1177432649
Nucer
2007-04-24 20:37
2007.05.27
RewriteRule в Apache


3-1173266545
__DATA__
2007-03-07 14:22
2007.05.27
Refresh в компоненте IbDataSet не работает





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский