Форум программистов, компьютерный форум CyberForum.ru

Мышь в Borland C++ 3.11 for DOS - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.96
AlexSMG
0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 14
20.04.2010, 13:10     Мышь в Borland C++ 3.11 for DOS #1
Привет всем!
Тут возникла такая проблема, мне нужно подключить мышь в Си++.
Надо, чтоб по нажатию левой кнопки мыши вычислялись координаты курсора.
Не подскажите, как это можно реализовать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2010, 13:10     Мышь в Borland C++ 3.11 for DOS
Посмотрите здесь:

borland c++ 3.1 dos C++
C++ Решите плиз задачу на Borland C++ for DOS!!!
C++ Какая версия Borland для MS-DOS 6.22?
C++ Работа с мышью в Borland C++ for DOS
C++ Дана целочисленная матрица A(N, M). Borland С++ for dos
C++ BOrland c for dos Прокоментируйте код
Borland C++ for DOS C++
C++ Утечка памяти в С++ (Borland C++ 3.1 под DOS)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
20.04.2010, 13:55     Мышь в Borland C++ 3.11 for DOS #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// показать/спрятать "мышь"
 void mouse(int m)
{
 int mode;
 if (m==0) mode=2;else mode=m;
 asm{
     mov ax,mode //задание номера функции
     int 33h     //вызов прерывания №33
    }
}
// определение координат  и состояния кнопок "мыши"
void mStatus()
{
 int mbut, mx, my;
 asm{
     mov ax,3h //задание номера функции
     int 33h   //вызов прерывания №33
     mov mx,cx // координата Х
     mov my,dx // координата У
     mov mbut,bx // байт состояния кнопок
    }
  x = mx;
  y = my;
  but = mbut;
}
//перемещение "мыши" в заданную точку Xm,Ym
void mousemove(int xm, int ym)
 {
  asm{
    mov ax, 4
    mov cx, xm
    mov dx, ym
    int 33h
    }
 }
//определение числа нажатий левой кнопки "мыши"
void count()
 {
  if (but==0) nb=0;
  if ((but==1) && (nb==0)) {nbut++;nb=1;}
 }
//определение нахождения "мыши" в заданной области
int mousecoord(int x1,int y1, int x2, int y2)
{
  mStatus();
  if (x>=x1 && x<=x2 && y>=y1 && y<=y2) return 1;
  else return 0;
}
просто нарисовать мышь:
в графическом режиме
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream.h>
#include <conio.h>
#include <graphics.h>
#include <stdlib.h>
 
void mouse(int m)
{
    int mode;
    if (m == 0)
        mode = 2;
    else mode = m;
    asm{
        mov ax, mode
        int 33h
    }
}
 
void main(){
    clrscr();
    int gdriver = DETECT, gmode, errorcode;
    initgraph(&gdriver, &gmode, "");
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        cout << "Graphics error: " << grapherrormsg(errorcode) << endl;
        cout << "Press any key to halt:";
        getch();
        exit(1);
    }
 
    mouse(1);
 
    getch();
    closegraph();
}

в консоли
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <conio.h>
 
void mouse(int m)
{
    int mode;
    if (m == 0)
        mode = 2;
    else mode = m;
    asm{
        mov ax, mode
        int 33h
    }
}
 
void main(){
    clrscr();
    mouse(1);
    getch();
}
AlexSMG
0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 14
21.04.2010, 00:28  [ТС]     Мышь в Borland C++ 3.11 for DOS #3
Огромное спасибо! Вы мне очень помогли =)
Yandex
Объявления
21.04.2010, 00:28     Мышь в Borland C++ 3.11 for DOS
Ответ Создать тему
Опции темы

Текущее время: 20:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru