| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Левая или правая кнопка мыши |
| Автор: Sunvas 2.1.2007, 01:28 |
| Собственно САБЖ для любого контрола. Но это нужно отследить независимо от параметров мыши в системе (для правши/левши)/ |
| Автор: Romikgy 2.1.2007, 01:30 |
| WM_LBUTTONDOWN WM_LBUTTONUP WM_RBUTTONDOWN WM_RBUTTONUP Добавлено @ 01:32 type TMouseEvent = procedure (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object; property OnMouseDown: TMouseEvent; type TMouseButton = (mbLeft, mbRight, mbMiddle); |
| Автор: Sunvas 2.1.2007, 01:36 |
Читаем тему внимательно: нужно отследить независимо от того, какие настройки системы! Это значит что если в настройках будет стоя "для левши" то mbleft на самом деле будет правой кнопкой! |
| Автор: bems 2.1.2007, 01:53 |
| GetAsyncKeyState |
| Автор: Sunvas 2.1.2007, 02:02 |
Ну и как это к контролу привязать? |
| Автор: bems 2.1.2007, 03:40 |
| хм... Ну тогда + GetSystemMetrics(SM_SWAPBUTTON) |
| Автор: Romikgy 2.1.2007, 15:35 |
| Sunvas, система сама подменяет мессаги, и если в системе установлен левша , то уже правая кнопка мыши дает мессагу так что имхо не парься пиши как обычно а все сделает система |
| Автор: skyboy 2.1.2007, 15:47 |
| Sunvas, а чем обусловлено такое желание усложнить жизнь левшам - можно поинтересоваться? |
| Автор: Sunvas 2.1.2007, 15:54 | ||
Вобщем-то я себе жизнь упрощаю + самому интересно + препод по программироваию задал написать. |
| Автор: Romikgy 2.1.2007, 16:04 | ||
нет , я просто хотел , сказать , чтобы не обращал внимания на такие мелочи вот создай пустую форму и него обработчик
и в консоли поменяй мышь на левшу и увидишь , что терь надпись стала появляться при нажатии на правую кнопку мыши , без изменения исходника |
| Автор: Sunvas 2.1.2007, 16:16 | ||
Да, я это заметил, еще когда создавал тему. Или я не понял смысла твоего поста или ты не можешь понять чего я хочу. |
| Автор: Romikgy 2.1.2007, 16:20 |
тогда поясни в более понятных словах |
| Автор: Sunvas 2.1.2007, 16:41 |
На мыши есть две кнопки (их может быть и больше, но мы рассмотрим только те мыши, где их две). Пользователь кликнул по какому-н контролу (не важно какому). Нужно определить какую кнопку мыши физически нажал пользователь. Это значит, что есть форма, по ней кликают мышью. Если клик произошел от физического нажатия кнопки, которая слева то должна выскочить мессага что "левая кнопка", а если той, что справа - "правая кнопка". При этом мышь лежит по центру стола, за компьютер садяться как левурикие так и праворукие юзеры и сразу же подстраивают мышь под себя. При использовании программы (описана выше) никто из пользователей не должен сказать "программа врет!". Так ясно? |
| Автор: Romikgy 2.1.2007, 17:01 | ||
А так
скажи сиба bems |
| Автор: Sunvas 2.1.2007, 17:36 |
| Ок. bems Спасибо! |