Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TListView и MouseUp 
V
    Опции темы
Ak47black
  Дата 7.5.2007, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Если сделать у TListView при событии OnMouseUp 
Код

  beep;

То при нажатии правой кнопкой на итемс сигнала(beep) нету, а при двойном щелчке сигнал есть.
Но если нажимать один раз не на итемс правой кнопкой то сигнал есть.
Подскажите в чем тут дело и как сделать что-бы при нажатии правой кнопки на итемс было событие OnMouseUp?
PM MAIL   Вверх
Yanis
Дата 7.5.2007, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Цитата(Ak47black @  7.5.2007,  20:57 Найти цитируемый пост)
Подскажите в чем тут дело и как сделать что-бы при нажатии правой кнопки на итемс было событие OnMouseUp? 

Попробуй ловить WM_LBUTTONUP от ListView

Ну и WM_RBUTTONUP, если надо правую кнопку ловить.

Это сообщение отредактировал(а) Yanis - 7.5.2007, 21:02


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Ak47black
Дата 7.5.2007, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Если что более странно что если поставить 
Код

  beep;

При событии OnMouseDown то он будет работать как OnMouseUp если нажали на итемс правой кнопкой.
Незнаю может я туплю, но чтото непонятное мне тут.

Добавлено через 1 минуту и 59 секунд
Yanis, я сделал при нажатии по правой кнопкой итемсу OnMouseDown, а вне зоны итемса OnMouseUp и оба работают как OnMouseUp .
Я beep просто для упрошения поставил ,а там просто меню заставляю выпасть.
PM MAIL   Вверх
Sunvas
Дата 7.5.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 2
Всего: 89



Ak47black, вот, что получилось. Возьми этот код за основу и переделай под что тебе надо:
Код

function NewWinProc(wnd:HWND; uMsg:UINT; wParam:WPARAM; lParam:LPARAM):integer; stdcall;
begin
if umsg=WM_RBUTTONDOWN then exit;
if (umsg=WM_RBUTTONUP) then
begin
beep;
end
else
result:=CallWindowProc(Pointer(GetWindowLong(wnd,GWL_USERDATA)),wnd,uMsg,wParam,lParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowLong(lv.Handle,GWL_USERDATA,SetWindowLong(lv.Handle,
                                           GWL_WNDPROC, LPARAM(@NewWinProc)));
end;



--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Ak47black
Дата 7.5.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Sunvas, спасиба за код. Это как выход неплохой.
Я уже OnMouseDown и OnMouseUp как-бы сделал, вроде работает пока.
Спасибо за ответы.

Добавлено @ 21:01
Проблема решена ,но почему по нажатию правой кнопки по итемсу собитие MouseUp не возникает для меня загадка.  smile 

Это сообщение отредактировал(а) Ak47black - 7.5.2007, 21:03
PM MAIL   Вверх
Sunvas
Дата 7.5.2007, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 2
Всего: 89



Цитата(Ak47black @  7.5.2007,  21:00 Найти цитируемый пост)
Проблема решена ,но почему по нажатию правой кнопки по итемсу собитие MouseUp не возникает для меня загадка. 

Покопайся в Борландовском коде. Думаю поймешь.  smile 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0798 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.