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

Ваш аккаунт

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

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

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

Проблема с мышью

41K
10 июня 2009 года
grrrr
23 / / 23.05.2009
Необходим модуль для "обработки" мыши на Pascal, с возможностью работы в режимах VESA hicolor/truecolor с высокими разрешениями.Я написал юнит на примере codenet.ru, но он дает только "вылет" из программы, хотя и по событию от мыши.:confused: Вот что я использовал для установки обработчика:

const
MOUSE_MOVE_MASK =$01;
MOUSE_LBUTTON_PRESS =$02;
MOUSE_LBUTTON_RELEASE=$04;
MOUSE_RBUTTON_PRESS =$08;
MOUSE_RBUTTON_RELEASE=$10;
MOUSE_MBUTTON_PRESS =$20;
MOUSE_MBUTTON_RELEASE=$40;
MOUSE_ALL_EVENTS =$7F;
type MouseHandler= procedure;

procedure Yes;far;
begin
writeln('yes');
end;

function ResetMouse:word;
var res1,res2:word;
begin
asm
mov ax,0000h
int 33h
mov res1,ax
mov res2,bx
end;
if res1<>$FFFF then
begin
ResetMouse:=0;
exit;
end;
ResetMouse:=res2;
end;

procedure SetMouseHandler(h:MouseHandler;mask:word);assembler;
asm
push es
push dx
mov ax,000Ch
mov cx,mask
les dx,h
int 33h
pop dx
pop es
end;

procedure RecoveMouseHandler;assembler;
asm
mov ax,000Ch
mov ax,0Ch
mov cx,0h
int 33h
end;

begin
ResetMouse;
SetMouseHandler(Yes,MOUSE_LBUTTON_PRESS);
repeat
until false;
RecoveMouseHandler;
end.
Буду благодарен за любые ссылки по этой теме и по способу быстрого вывода курсора(в этих режимах он не работает).
307
13 июня 2009 года
Artem_3A
863 / / 11.04.2008
чего то ты перемудрил с азмом, я не специалист по паскалю, но не проще ли это все через винапи провернуть?
41K
13 июня 2009 года
grrrr
23 / / 23.05.2009
Через ППИ конечно проще Ж), только вот я пишу курсовой по ОП на 16-битном Турбо Паскале. Причем не в стандартном видео режиме. А 16-битного ППИ я вообще незнаю.
14
15 июня 2009 года
Phodopus
3.3K / / 19.06.2008
Ну тык Yes() то твоя выполняется? Вставь туда не writeln() а beep() какой-нить, услышишь. Так надежнее.
37K
16 июня 2009 года
airyashov
18 / / 09.06.2008
Что конкретно не работает? Помоему все что написано работает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог