Опять МЫША

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Опять МЫША

Сообщение Dic » 11.09.2007 13:33:32

Windows
Черт, горю по времени синим пламенем. Помогите!
Вот для примера простейшую графическую программу нацарапал, как в ней попроще получить текущие координаты мыши и состояние ее клавиш?
Код: Выделить всё
PROGRAM PAGE1;
{$APPTYPE GUI}
USES
MOUSE,
WinCRT,
GRAPH;

VAR
I,J,Xmouse,Ymouse:INTEGER;
C:CHAR;

BEGIN

I:=0;
J:=30009;
INITGRAPH(I,J,'');

While NOT KEYPRESSED DO BEGIN
      {НУ ВОТ КАК ТУТ ПОЛУЧИТь ТЕКУЩЕЕ ПОЛОЖЕНИЕ МЫШИ?????}
      {
       Xmouse:=????????
       Ymouse:=????????
      }
      PUTPIXEL(Xmouse,Ymouse,15);
     END;
C:=READKEY;
CloseGraph;
END.


Attid: учимся форматировать
Dic
новенький
 
Сообщения: 28
Зарегистрирован: 28.08.2007 11:16:42
Откуда: Красноярск

Сообщение serg_iv » 11.09.2007 18:28:05

Код: Выделить всё
uses mouse;

var X, Y:word;
...
X:=GetMouseX;
Y:=GetMouseY;
...

пример со cтр. 814 Мануала RTL.
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение Dic » 12.09.2007 05:33:08

Увы! Этот пример работает только в текстовом режиме, да еще и только в полноэкранном варианте(только еще добавить INITMOUSE). Иначе мышка просто скользит над окном и все. А мне нужно именно в программе с единственным графическим окном. Да еще я графическое приложение не смог в полноэкранный режим переключить (задавал вопрос ниже, ответа нет :-( ) я для этого листинг привел(даже ALT+ENTER как ни странно не работает!). В таком варианте GetMouseX/Y Возвращают 0!
В ТP под DOSом все было просто, там пользовался самодельной подпрограммкой, которая через мышиное прерывание получала что хочешь. Мне срочно нужен эквивалент
для приведенного варианта. Если заработает, напишу подпрограммку аналогичную DOS и практически без переделок все у меня пойдет.
А пока никак не могу перевести с TP на FPC кучу программ!
Да еще и с временем напряг! если все проблемы не решу, прийдется новый учебный год на TP начинать. А так хотелось перейти а то там свои проблемы.....
Dic
новенький
 
Сообщения: 28
Зарегистрирован: 28.08.2007 11:16:42
Откуда: Красноярск

Сообщение Dic » 20.09.2007 05:26:26

Ну ладно, мышу практически победил, оказалось, что надо просто библиотеку не MOUSE использовать, а WinMouse. И тогда хоть в оконном, хоть в полноэкранном все работает. Но вот засада очередная :-):
Интересно, а можно мышу ВЫКЛЮЧИТЬ? чтобы координаты выдавались, а курсор самому рисовать? Никто не разбирался с таким в Винде? Надо-бы для этого как-то доработать WinMouse что-ли.
Ну ладно это уже не горит и пока некогда заниматься. Может просто кто "в лет" подскажет?
Dic
новенький
 
Сообщения: 28
Зарегистрирован: 28.08.2007 11:16:42
Откуда: Красноярск


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru