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

Графическое меню в dOS - C++

Восстановить пароль Регистрация
 
Vadim8063
1 / 1 / 0
Регистрация: 17.01.2012
Сообщений: 130
23.11.2012, 17:18     Графическое меню в dOS #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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
class menu
{
     int x0,y0,w,h,ots;
        char text[5][10];
    public:
            // class constructor
        menu();
        // class destructor
        ~menu();
        void akt(int nomer);
        void de_akt(int nomer);
};
menu::menu()
{
    int gdriver = DETECT, gmode,errorcode;
    initgraph(&gdriver, &gmode, "c:\\bc\\bgi");
    errorcode = graphresult();
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n",grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    }
    strcpy(text[0],"zadanie_1");
    strcpy(text[1],"zadanie_2");
    strcpy(text[2],"exit");
    setbkcolor(1);
}
 
// class destructor
menu::~menu()
{
closegraph();
}
void menu::akt(int nomer)
{
    x0=25;
y0=10;
h=25;
w=100;
h=20;
ots=0;
    setcolor(RED);
    setfillstyle(1,8);
    setlinestyle(0,0,1);
rectangle(x0, y0+h*nomer+ots, x0+w, y0+h*nomer+h+ots);
floodfill(x0+3,y0+ h*nomer+ots+10,RED);
outtextxy(x0+3,y0+h*nomer+ots+10, text[nomer]);
}
void menu::de_akt(int nomer)
{
    x0=25;
y0=10;
h=25;
w=100;
h=20;
ots=0;
    setcolor(15);
    setfillstyle(1,7);
    setlinestyle(0,0,1);
rectangle(x0, y0+h*nomer+ots, x0+w, y0+h*nomer+h+ots);
    floodfill(x0+3,y0+ h*nomer+ots+10,15);
    outtextxy(x0+3,y0+h*nomer+ots+10, text[nomer]);
}
int main(int argc, char *argv[])
{
int nom=0;
int i;
char ch;
menu m;
met: do
  {
   cleardevice();
   setbkcolor(GREEN);
   switch(ch)
   {
    case 72:
               if(nom==0)  nom=4; else nom--;  break;
               
     case 80:
               if(nom==4)  nom=0; else nom++; break;
    
    case 27: exit(1);
    }
 
    for(i=0; i<3; i++)
    if(nom==i)  m.akt(i); else m.de_akt(i);
    setcolor(1);
    ch=getch();
    }
 
while(ch!=13);
 
if (nom==0) {  goto met; }
if (nom==1) { goto met; }
 
    cin.get();
    return EXIT_SUCCESS;
}
Пытаюсь сделать через drawpoly но немного не вкурю....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 17:18     Графическое меню в dOS
Посмотрите здесь:

C++ Графическое задание.
Графическое меню C++
C++ Как сделать меню в программе под DOS, написанную в С++3.0?
C++ Графическое меню в DOS
Не графическое меню C++
C++ "вертикальное графическое меню"
Простенькое графическое меню для консольного приложения DOS C++
Графическое приложение C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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