Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
AVG
0 / 0 / 0
Регистрация: 12.01.2013
Сообщений: 42
1

Работа с мышью graphics.h

24.02.2018, 07:01. Просмотров 265. Ответов 1
Метки нет (Все метки)

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

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdlib.h>
#include <graphics.h>
#include <unistd.h>
#include <stdio.h>
int xx=10,yy=10;
int x,y;
void waitclick()
{
    int x=0,y=0;
    while(!ismouseclick(WM_LBUTTONDOWN))
    {
 
    }
    while(!ismouseclick(WM_LBUTTONUP))
    {
        delay(50);
        setfillstyle(1,RED);
        bar(0,0,640,490);
        setfillstyle(1,BLUE);
        bar(mousex(),mousey(),mousex()+100,mousey()+100);
    }
}
 
void waitclick1()
{
 
    while(!ismouseclick(WM_LBUTTONDOWN))
    {
 
 
    }
 
}
void easy(int xq,int yq)
{
    while(!ismouseclick(WM_LBUTTONUP))
    {
        delay(50);
        setfillstyle(1,RED);
        bar(0,0,640,490);
        setfillstyle(1,BLUE);
        bar(xx+mousex()-xq,yy+mousey()-yq,xx+mousex()-xq+100,yy+mousey()-yq+100);
    }
    xx=xx+mousex()-xq;
    yy=yy+mousey()-yq;
    printf("%d %d",xx,yy);
 
}
 
void sender()
{
    int xr,yr;
    while (1)
    {
        getmouseclick(WM_LBUTTONDOWN, xr, yr);
        if ((xx<=xr)&&(xr<=xx+100)&&(yy<=yr)&&(yr<=yy+100))
        {
            easy(xr,yr);
            waitclick1();
        }
    }
}
int main(void)
{
    initwindow (450, 300);
    setfillstyle(1,BLUE);
    bar(xx,yy,xx+100,yy+100);
    sender();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2018, 07:01
Ответы с готовыми решениями:

Работа с клавиатурой в graphics.h
Всем привет! Кто знает каким образом можно обрабатывать нажатия клавиш клавиатуры для того, чтобы,...

Graphics.SetClip Method (GraphicsPath) и Graphics.Clear Method vs Graphics.FillPath Method (System.Drawing)
У нас два способа залить форму: 1. Graphics.SetClip Method (GraphicsPath) and Graphics.Clear ...

Работа с мышью
MouseDown можно проверить ButtonState.Pressed, а вот MouseUp нельзя =(. Как отследить MouseUp?

Работа с мышью
:) Вообщем знаю я что очень много тем на эту тему %-) !!! Но все слишком сильно разбросано......

Работа с мышью
Как можно обработать нажатие/позицию мыши и как вообще &quot;включить&quot; курсор не используя прерывание...

1
MansMI
1451 / 1160 / 550
Регистрация: 08.01.2012
Сообщений: 4,509
24.02.2018, 09:43 2
ничего и не должно происходить
C
1
2
3
    xx+=mousex()-xq;
    yy+=mousey()-yq;
    printf("%d %d %d %d %d %d\n",xx,yy,mousex(),mousey(),xq,yq);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2018, 09:43

Работа с мышью
Доброго здоровья! Прошу у Вас помощи! делаю задачу про колебания рыбацкой сетки(мембраны - все по...

Работа с мышью
Ребят обьясните как вывести квадрат левым нажатием кнопки мыши и спрятав его правым нажатием кнопки...

Работа с мышью
Вопрос наверно очень нубский но всьотаки .... как мне в C# как определить была нажата левая или...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru