Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

переназначение операций для клавиш мыши

8.2K
27 июля 2007 года
user1
71 / / 16.03.2007
люди помогите !

Есть такая программная задача:
на форме имеется два списка - один CListBox, другой CСomboBoxEx.
Они содержат контекстное меню, появляющееся по нажатию RMB.
Но вот есть одна загвоздка:
- при нажатии правой кнопкой мыши на одном из списков должны производится все те же действия,
что и при нажатии левой кнопкой мыши в этой точке, т.е. должен производится выбор нового элемента списка,
а уж потом открытие контекстного меню. Но вот как это можно сделать - не догадываюсь.

Может кто подскажет ?
8.2K
27 июля 2007 года
user1
71 / / 16.03.2007
я знаю, что это можно как-то сделать с помощью API функции
SendMessage, но проблема в том, что я не очень понимаю как ей пользоваться.
292
30 июля 2007 года
Matush
726 / / 14.01.2004
Перехватывай правое нажатие на листбоксе (WM_RBUTTONDOWN, WM_RBUTTONUP) и подсовывай лист боксу левое нажатие.

p.s.
 
Код:
LRESULT SendMessage(      

    HWND hWnd, // хэндл окна
    UINT Msg, // собственно сообщение (в твоем случае WM_LBUTTONDOWN наверное)
    WPARAM wParam, // смотри параметры для WM_LBUTTONDOWN
    LPARAM lParam // смотри параметры для WM_LBUTTONDOWN
);
8.2K
31 июля 2007 года
user1
71 / / 16.03.2007
проблема как раз и состоит в том, что я плохо понимаю как упаковать необходимые данные в переменных lParam и wParam.
;(
292
31 июля 2007 года
Matush
726 / / 14.01.2004
Цитата: user1
проблема как раз и состоит в том, что я плохо понимаю как упаковать необходимые данные в переменных lParam и wParam.
;(


Тебе ничего нового в них запаковывать не надо!
Пихаешь в lParam и wParam то, что получил (для WM_RBUTTON**** и WM_LBUTTON**** они одинаковые).

P.S. Но даже если и надо чего нового заприсать, то тоже не сложно. В wParam присваеваешь любое из значений (набор значений) MK_CONTROL, MK_LBUTTON...
На счет lParam - читаем МСДН - младшее слово это Х, старшее - это У. Для этого есть даже макрос:

 
Код:
LPARAM MAKELPARAM(

    WORD wLow,    WORD wHigh);
8.2K
01 августа 2007 года
user1
71 / / 16.03.2007
не работает !
списки просто 'не воспринимают' это сообщение.
Ничего не происходит.
;(
255
01 августа 2007 года
Dart Bobr
1.4K / / 09.04.2004
А в месседж мапе ты эти сообщения описал??
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог