Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2007, 20:45   #1
proglamer
кодер-лузер
Пользователь
 
Аватар для proglamer
 
Регистрация: 05.09.2007
Сообщений: 43
По умолчанию Как обработать событи, щелчок на кнопке мыши?

в программах сталкиваюсь с проблемой, что пользователь может управлять программой только посредством клавиатуры. перечитал до дыр справочник, но ничего не нашел.
кто ни будь знает?
proglamer вне форума Ответить с цитированием
Старый 05.11.2007, 21:10   #2
Djaconda
Пользователь
 
Аватар для Djaconda
 
Регистрация: 02.09.2007
Сообщений: 26
По умолчанию

там модуль мышы подклучать надо кажется вот так его зовут MOUSEDLG.PAS а там смотри по процедурам я им никогда лично непользовался....
Djaconda вне форума Ответить с цитированием
Старый 06.11.2007, 09:32   #3
proglamer
кодер-лузер
Пользователь
 
Аватар для proglamer
 
Регистрация: 05.09.2007
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Djaconda Посмотреть сообщение
там модуль мышы подклучать надо кажется вот так его зовут MOUSEDLG.PAS а там смотри по процедурам я им никогда лично непользовался....
cпс, но, наверное, mousedlg.tpu?
proglamer вне форума Ответить с цитированием
Старый 06.11.2007, 09:39   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может проще через прерывание 33H?
Кста у меня такого модуля нет...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2007, 11:03   #5
proglamer
кодер-лузер
Пользователь
 
Аватар для proglamer
 
Регистрация: 05.09.2007
Сообщений: 43
По умолчанию

cори но у мну нету модуля mousedlg...
stilet, а можешь чуть поподробнее?
proglamer вне форума Ответить с цитированием
Старый 06.11.2007, 12:07   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а можешь чуть поподробнее?
Без проблем:

Код:
uses dos,crt;

var r:registers;q,x,y:integer; 
{Через прерывание 33 мона работать с мышой в паскале
  Функи его ищи в инете}
PROCEDURE     GetXY_Mouse; BEGIN R.AX:=3; INTR($33,r);
x:=r.cx;y:=R.DX;x:=x DIV 8;  y:=y DIV 8;END;

FUNCTION push_mouse(t:INTEGER):INTEGER;
BEGIN R.AX:=5; r.bx:=t;INTR($33,r);push_mouse:=R.AX;END;

FUNCTION unpush_mouse(t:INTEGER):INTEGER;
BEGIN R.AX:=6;r.bx:=t;INTR($33,r);unpush_mouse:=R.AX;END;


begin
 clrscr;
 repeat
  getxy_mouse;
   q:=push_mouse(0);
   write('X мышки=',x,' Y мышки=',y);
   if q=1 then writeln('Нажата левая');
   if q=2 then writeln('Нажата правая');
   if q=3 then writeln('Нажаты обе');
  gotoxy(1,1);
 until keypressed;
end.
(Эт моя контрольная была)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2007, 12:32   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Писал когда-то давно под паскаль мышиный модуль... Найду - скину.

Под QBasic кстати тоже имееццо, кому надо? (тока там мои копирайты в прогу автоматом добавятся в начале )
пыщь
JTG вне форума Ответить с цитированием
Старый 06.11.2007, 16:19   #8
proglamer
кодер-лузер
Пользователь
 
Аватар для proglamer
 
Регистрация: 05.09.2007
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Без проблем:

Код:
uses dos,crt;

var r:registers;q,x,y:integer; 
{Через прерывание 33 мона работать с мышой в паскале
  Функи его ищи в инете}
PROCEDURE     GetXY_Mouse; BEGIN R.AX:=3; INTR($33,r);
x:=r.cx;y:=R.DX;x:=x DIV 8;  y:=y DIV 8;END;

FUNCTION push_mouse(t:INTEGER):INTEGER;
BEGIN R.AX:=5; r.bx:=t;INTR($33,r);push_mouse:=R.AX;END;

FUNCTION unpush_mouse(t:INTEGER):INTEGER;
BEGIN R.AX:=6;r.bx:=t;INTR($33,r);unpush_mouse:=R.AX;END;


begin
 clrscr;
 repeat
  getxy_mouse;
   q:=push_mouse(0);
   write('X мышки=',x,' Y мышки=',y);
   if q=1 then writeln('Нажата левая');
   if q=2 then writeln('Нажата правая');
   if q=3 then writeln('Нажаты обе');
  gotoxy(1,1);
 until keypressed;
end.
(Эт моя контрольная была)
долго читал...
немного непонял как построены функции))
ну ниче разберусь, спс))
proglamer вне форума Ответить с цитированием
Старый 06.11.2007, 16:44   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если что спрашивай
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.11.2007, 13:02   #10
madmot
Форумчанин
 
Регистрация: 04.09.2007
Сообщений: 155
По умолчанию

Может поможет:
http://softsearch.ru/programs/10-770...download.shtml
Мышинное Программирование:
http://sources.ru/pascal/mouse/index.htm
madmot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обработать двойной щелчок в определенной ячейке DBGrid? Dux БД в Delphi 11 10.08.2008 03:34
Двойной щелчок Д'якон Win Api 4 19.05.2008 18:56
Как обработать исключение? XPAiN БД в Delphi 9 16.05.2008 15:09
щелчок по BaloonHint eks-s Общие вопросы Delphi 3 25.04.2008 08:09
MouseDown: обращение к правой кнопке мыши ZhekON Общие вопросы Delphi 2 11.05.2007 19:17