Мышь в Pascal'e |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Мышь в Pascal'e |
Игорь |
Сообщение
#1
|
Гость |
Помогите.
Мне нужно мышью рисовать линии на экране (т.е. нажал на одно место экрана, потом потащил (мышь) и линия рисуется за ней). Пробовал по разному, но при перетаскивании постоянно остаются какие-нибудь следы. Думаю, что нужно ставить свои обработчики (процедуры) на действия мыши, но не знаю как. Помогите кто может. P.S. может есть другие способы рисования линий таким способом. |
GLuk |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: 0 |
Конечно можно, ты знаком с ассемблером? Но это для написания своего обработчика. Впрочем, можно обойтись и паскалем. А следы остаются от того, что указатель мыши нужно скрывать при каждом прямом доступе к видеопамяти
|
Nightmare |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 48 Пол: Мужской Репутация: 1 |
Я очень надеюсь, что это применяется в графическом режиме... (режим?, драйвер?)
|
GLuk |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: 0 |
Вряд ли он рисует их в режиме 0-3.. ;)
Хотя принципиально - это возможно |
Nightmare |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 48 Пол: Мужской Репутация: 1 |
Вообще-то действительно вряд ли... Извиняюсь, стормозил... ( просто у меня где-то валялся пакет для изменения указателя мыши для текстового режима /вид и движения получались как в графическом режиме/)
Тогда очень интересно как, и с помощью чего выводится указатель мыши? У меня, например, таких проблем с мышью не наблюдалось. |
GLuk |
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: 0 |
Дык с помощью дров ессесно. Существует два части в стандартном драйвере от микрософта: монитор мыши и монитор экрана. Первый считает кол-во шагов, а второй следит за перемещением указателя и если чо, увеличивает скорость перемещения. На физическом уровне это осуществляется путем сохранения части экрана, затем туда накладывается изображение курсора, после восстанавливается действительное изображение. Как следствие перед прямым доступом к видеопамяти следует скрывать указатель.
И ишшо бывает телега по типу почему указатель не появляется в VESA-режимах, дык это значит драйвер старенький и не поддерживает вывод курсора в этих режимах (100h-101h-...), но можно поставить свой обработчик и, следственно, выводить свой курсор... типа того |
Nightmare |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 48 Пол: Мужской Репутация: 1 |
Я делаю так:
MOUSE.INC
SETMOUSE.ASM
Использование:
На время прорисовки и обработки мышу лучше прятать, а то она помнит, что было под указателем. Иногда мыша вообще отказывается показываться, хотя и работает - это зависит от .BGI драйвера. Для стандартных, типа EGAVGA.BGI всё пашет отлично. |
Glin |
Сообщение
#8
|
Гость |
Здравия всем.
Надо написать свой модуль для мышки, а ассемблера не знаю. Помогите пожалуйста. Скажите с чего начать или ссылки на какие-нибудь доки подкинте. В общем, от каждого по возможностям. Поймите проблему лаймера. ??? |
GLuk |
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: 0 |
Чуть-чуть выше, ежели не заметил NightMare постил модуль для мышки.
Ну глянь ишшо: http://pascal.sources.ru/mouse/l_mouse.htm |
BRS |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
Сори граждане за повтор вопроса, но не как с мышой не разберусь.
Вобщем так : как написть след. вешь: 1) при движении мышки вправо на пиксель - x := x -1; при движении мышки влево на пиксель - x := x+1; при движении мышки вниз на пиксель - y := y+1; при движении мышки вверх на пиксель - y := y -1; 2) ограничить перемещения мышки в прямоугольнике с диагональю (x1,y1,x2,y2); |
GoodWind |
Сообщение
#11
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Nightmare, недурно..
to admins: предлагаю плюсик для Nightmare -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
Сообщение
#12
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Сделал. Кстати все это есть в FAQ'е.
Так что по вопросам мышачим смотрите там, наверняка найдете ответ -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
APAL |
Сообщение
#13
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
???? На дату создания топика смотрели?
-------------------- |
Altair |
Сообщение
#14
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
APAL, честно говоря нет. Но разве это имеет значение? ;)
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Тюняга |
Сообщение
#15
|
Гость |
ПАМАГИТЕ!!!!! Я чайник , дурак и ламер, случайно удалил в DOS`е драйвер мыши , а именно mouse.com . Комп настолько старый для этого времени (1988г.!!!) И для того что бы на комп записать что-либо , тоже проблема-флоппи диск тож старый 5.4 помойму. И без мыши ну ПРОСТО НИКАК Паскаль на этом компе установлен. Может как-нибудь написать этот драйвер???? HELP!!!
|
andriano |
Сообщение
#16
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Написать драйвер мыши можно, но гораздо дешевле купить новый комп.
|
Текстовая версия | 21.12.2024 23:58 |