| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для Windows/Dos > Получение координат кликов мыши |
| Автор: SCAR 14.12.2008, 20:54 |
| Вопрос следующий у меня есть окно, в окне есть область для рисования, существует ли какая-нить функция в ассемблере типа MouseDown или MouseUp с помощью которой можно было бы получить координаты, где нажали на кнопку мыши и где отпустили. Заранее спасибо. |
| Автор: airyashov 14.12.2008, 22:05 |
| dos? windows? |
| Автор: SCAR 14.12.2008, 22:12 |
| windows |
| Автор: Mikl_ 15.12.2008, 05:43 |
| SCAR, В ассемблере таких функций нет (если конечно не написать ее самому) обычно для программирования под windows используют windows API -- а вот там, как раз и есть стандартные функции для обработки правого клика мыши, левого клика, двойных кликов, изменение mouse scroll и много всего другого. Вопрос в том, подо что конкретно пишешь задачу: windows console или windows gui? там и там делается по разному |
| Автор: airyashov 15.12.2008, 16:04 |
| если оконное приложение, то ловите в оконной процедуре события |
| Автор: SCAR 15.12.2008, 22:57 |
| Приложение оконное. WinAPI в нем я использую. Я понимаю что надо ловить событие WM_COMMAND или WM_SYSCOMMAND, только опыта программирования на ассемблере не хватает для реалиазиции кода... Был бы очень благодарен хоть за небольшой намек как организовать структуру функции обработки с учетом концепций программирования на ассемблере. |
| Автор: Mikl_ 16.12.2008, 06:47 |
| SCAR, на чем хоть пишешь: NASM, YASM, FASM, MASM, TASM (другое)? WM_COMMAND используют если ты кликаешь по меню окошка, или по другим элементам управления расположенным на окне (кнопки, Editы и т.п.). Тебе нужны WM_RBUTTONDOWN или WM_LBUTTONDOWN -- в зависимости какой клик левый или правый ты собрался обработать |
| Автор: SCAR 16.12.2008, 15:19 |
| Пишу на MASM32, надо отслеживать нажатие и отжатие левой кнопки мыши на пустой части формы. |
| Автор: Mikl_ 17.12.2008, 04:25 |
| SCAR, 1) masm32 -- это пакет, собранный hutch, содержит примеры написания программ на ассемблере под Windows, кучу утилит, асм-редактор, отладчик и т.д. -- а пишешь ты все таки на masm 2) теперь конкретно о твоей задаче, что должно происходить если ты кликнул левой клавишей а потом ее отпустил --- линия появляться, как в paintbrush? Или как ты себе это представляешь? |
| Автор: SCAR 19.12.2008, 20:51 |
| Дело в том, что я пишу свой алгоритм генерации отрезков. Т.е. у меня будет функция, в которую параметрами передаются (X,Y) - координаты пикселя где была зажата левая кнопка, и координаты где она была отпущена. А уже моя функция будет там что-то прорисовывать... На данный момент стоит задача просто запомнить координаты точкек начальной и конечной в какие-то переменные.... |
| Автор: Mikl_ 22.12.2008, 06:50 |
| SCAR, вот тебе для примера программа, написанная под WinXP которая обрабатывает до 20 левых и правых кликов -- разбирайся и переделывай |
| Автор: SCAR 25.12.2008, 00:40 |
| Большое спасибо! Буду пробовать |