Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 1
Регистрация: 09.04.2010
Сообщений: 14
1

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

20.04.2010, 13:10. Показов 4221. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем!
Тут возникла такая проблема, мне нужно подключить мышь в Си++.
Надо, чтоб по нажатию левой кнопки мыши вычислялись координаты курсора.
Не подскажите, как это можно реализовать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2010, 13:10
Ответы с готовыми решениями:

Borland C++ for DOS
Здравствуйте, я начинаю изучать С++ в институте. Программы необходимо писать в Borland C++ for DOS....

borland c++ 3.1 dos
Где можно скачать borland c++ 3.1 dos с поддержкой русского языка!. Добавлено через 5 минут...

BOrland c for dos Прокоментируйте код
Просто кое что понятно а кое что нет)..Плиз)#include <conio.h> #include <stdio.h> #include...

Работа с мышью в Borland C++ for DOS
Не получается доделать задачу. Помогите, пожалуйста. Задание: в произвольном месте окна появляются...

2
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
20.04.2010, 13:55 2
Лучший ответ Сообщение было отмечено AlexSMG как решение

Решение

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();
}
2
0 / 0 / 1
Регистрация: 09.04.2010
Сообщений: 14
21.04.2010, 00:28  [ТС] 3
Огромное спасибо! Вы мне очень помогли =)
0
21.04.2010, 00:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2010, 00:28
Помогаю со студенческими работами здесь

подробное он-лайн руководство по Borland C++ 3.1. (for DOS)
Подскажите, плз, подробное он-лайн руководство по Borland C++ 3.1. (for DOS).Можно англ. Меня...

Какая версия Borland для MS-DOS 6.22?
Подскажите, какая версия Борланда с/с++ ставится на чистый DOS? ставил Borland 3.1, при установке...

Утечка памяти в С++ (Borland C++ 3.1 под DOS)
Добрый день! Прошу помощи! Есть старая программа, которую мне надо адаптировать под новое...

Дана целочисленная матрица A(N, M). Borland С++ for dos
1)Дана целочисленная матрица A(N, M). Вычислите сумму и произведение тех её элементов, которые при...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru