С для профессиональных программистов

       

Простейшая демонстрационная программа.


Программа, представленная ниже, демонстрирует применение функций поддержки "мыши" высокого уровня. вы можете сразу ввести ее в ваш компьютер и попробовать ее в деле.

/*  Интерфейс с "мышью" Microsoft/IBM */

#include "dos.h"

#define NOT_MOVED 0

#define RIGHT                     1

#define LEFT                        2

#define UP                            3

#define DOWN                    4

void mouse_position(), mode(), goto_xy(), mouse_motion();

void cursor_on(), cursor_off(), mouse_reset();

main(argc, argv)

int argc;

char *argv[];

char deltax, deltay, x, y;

if(argc!=2)

printf(" Используйте формат: mouser <видеорежим> ");

exit(1);

mode(atoi(argv[1]));

mouse_reset();  /* инициализация "мыши"  */

cursor_on();    /* "включение" курсора   */

do

goto_xy(0, 0);

if(leftb_presed()) printf("Левая клавиша");

if(rightb_pressed())

printf("Правая клавиша");

mouse_position(&x, &y);

printf("%d %d - ", x, y);

/* Отображение местоположения "мыши" */

mouse_motion(&deltax, &deltay);

if(deltax || deltay)

printf("Перемещение");

switch(deltax)

case NOT_MOVED: break;

case RIGHT: printf("Вправо");

break;

case LEFT: printf("Влево");

break;

 

switch(deltay)

case NOT_MOVED: break;

case UP: printf("Вверх");

break;

case DOWN: printf("Вниз");

break;

/* Цикл выполняется пока обе клавиши нажаты одновременно */

 while(!(leftb_pressed() && rightb_pressed()));

mode(3);

/* Установка видеорежима  */

void mode(mode_code)

int mode_code;

union REGS r;

r.h.ah=2;  /* функция адресации курсора  */

r.h.dl = y; /* координаты столбца */

r.h.dh = x; /* координаты строки */

r.h.bh = 0; /* видеостраница */

int86(0x10, &r, &r);

/**********************************************************/

/* Функции, обеспечивающие интерфейс с "мышью"                                                       */



Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий