Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графическое меню 
:(
    Опции темы
antonkonikov
Дата 17.10.2011, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 22.3.2009
Где: Украна, Донецк

Репутация: нет
Всего: нет



Как сделать в появившемся окошке по ALT+T выбор пунктов меню... голову ломаю(
Код

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#define DR "c:\\tc\\bgi\\"

void menu(int, int);
void blok(int, int);
void ends(int, int);

main()
 {
  int gd=VGA, error;
  int gm=VGAHI,x,y,x2,y2,xm,ym,f,xx,xx2,xl1,xl2;
  char key,key2;
  xx=0;xl1=0;xl2=0;
  xx2=0;
  xm=0;
  ym=0;
  x=2;
  x2=60;
  y=16;
  y2=32;
  initgraph(&gd,&gm,DR);
  error=graphresult();
  if(error!=0)
   {
    printf("Error:%s\n",grapherrormsg(error));
    printf("Press any key");
    getch();
    return 1;//exit(1);
   }
  setbkcolor(BLUE);
  cleardevice();
  blok(xm,ym);
  bar(x,y,x2,y2);
  menu(xm,ym);
do
 {
  key=getch();
  switch(key)
  {
    case 77://-->
     x+=60;
     x2+=60;
     cleardevice();
     blok(xm,ym);
     bar(x,y,x2,y2);
     menu(xm,ym);
     break;
    case 75://<--
     x-=60;
     x2-=60;
     cleardevice();
     blok(xm,ym);
     bar(x,y,x2,y2);
     menu(xm,ym);
     break;
    case 20:           // ALT+T tools
     xx=300;
     xx2=370;
     cleardevice();
     blok(xm,ym);
     setfillstyle(1,WHITE);
     bar(300,16,450,100);
     setfillstyle(1,GREEN);
     bar(xx,16,xx2,32);
     menu(xm,ym);
     outtextxy(310,40, "Find ...");
     outtextxy(310,55, "Find Object   >");
     key2=getch();
     switch(key2)
     {
       case 72://^
         break;
       case 80: //vniz
         xl1+=20; xl2+=20;
         cleardevice();
         blok(xm,ym);
         setfillstyle(1,GREEN);
         bar(300+xl1,16,450+xl2,16);
         break;
     }
     break;

default:break;
  }
 }
while(key!=45);//Alt+X
ends(150,250);
}
void menu(int x1, int y1)  //Vivod menu stroki sostiania
 {
  /******Glavnoe menu******/
  outtextxy(x1+300,y1+4,"Disk Editor");

  outtextxy(x1+10,y1+21, "Object");
  outtextxy(x1+70,y1+21, "Edit");
  outtextxy(x1+130,y1+21,"Link");
  outtextxy(x1+190,y1+21,"View");
  outtextxy(x1+250,y1+21,"Info");
  outtextxy(x1+310,y1+21,"Tools");
  outtextxy(x1+370,y1+21,"Help");
  outtextxy(x1+430,y1+21,"More>");
  /******Nijnia strokaя******/
  outtextxy(x1+10,y1+470,"Exit(Alt+X)");
 }

void blok(int x1, int y1)
{
setfillstyle(1,RED);
setcolor(BLACK);
bar(x1,y1,x1+640,y1+16);//bar dlia DISK Editor
setfillstyle(1,WHITE);
bar(x1,y1+16,x1+640,y1+32);// bar dlia menu
bar(x1,y1+464,x1+640,y1+480);//bar dlia nizy
setfillstyle(1,GREEN);//color for ykazatel
}
//Proshalnoe okno
void ends(int x, int y)
{
 cleardevice();
 setbkcolor(MAGENTA);
 setcolor(GREEN);
 settextstyle(0,HORIZ_DIR,2);
 outtextxy(x,y,"GO O D    B U Y ! ! !");
 getch();
 closegraph();
}

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.4190 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.