ABCButtons и импровизированные окна GraphABC - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Есть меню из ABCButtons. Есть импровизированное окно GraphABC с кнопками ABCButtons, которое запускается при выборе одного из пунктов. Проблема в том, что кнопки меню накладываются поверх окна.
Листинг программы
  1. uses ABCButtons, GraphABC, ABCObjects;
  2. var
  3. GN: string;
  4. w,h,btn1: integer;
  5. ifs: boolean;
  6. mm: Picture;
  7. NewGW: RectangleABC;
  8.  
  9. procedure init;
  10. begin
  11. GN:='Space Program';
  12. w:=640;
  13. h:=480;
  14. ifs:=true;
  15. SetWindowCaption (GN);
  16. SetWindowSize(w,h);
  17. CenterWindow;
  18. SetWindowIsFixedSize(ifs);
  19. end;
  20.  
  21. procedure NGWS;
  22. begin
  23. NewGW:=new RectangleABC(100,100,440,200);
  24. NewGW.Text:='ВНИМАНИЕ!';
  25. var BtnNext:= new ButtonABC(120,250,150,40,'Продолжить',clMoneyGreen);
  26. var BtnBack:= new ButtonABC(370,250,150,40,'Назад',clMoneyGreen);
  27. end;
  28. procedure GameMenu; forward;
  29. procedure NGW;
  30. begin
  31. Btn1:=1;
  32. GameMenu;
  33. end;
  34. procedure GameMenu;
  35. begin
  36. mm:=Picture.Create(640,480);
  37. mm.Load('data/images/mm.bmp');
  38. mm.Draw(0,0);
  39. var BtnNewGame:= new ButtonABC(220, 200, 200, 50, 'Новая игра', clMoneyGreen);
  40. BtnNewGame.OnClick:=NGW;
  41. var BtnContinium:= new ButtonABC(220, 260, 200, 50, 'Продолжить', clMoneyGreen);
  42. var BtnSetting:= new ButtonABC(220, 320, 200, 50, 'Настройки', clMoneyGreen);
  43. var BtnExit:= new ButtonABC(220, 380, 200, 50, 'Выход', clMoneyGreen);
  44. if Btn1=1 then
  45. begin
  46. BtnNewGame.Visible:=false;
  47. BtnContinium.Visible:=false;
  48. BtnSetting.Visible:=false;
  49. BtnExit.Visible:=False;
  50. NGWS;
  51. end;
  52. end;
  53.  
  54. begin
  55. init;
  56. GameMenu
  57. end.
Пытался решить проблему делая кнопки невидимыми, но это не работает.

Решение задачи: «ABCButtons и импровизированные окна GraphABC»

textual
Листинг программы
  1. BtnContinium, BtnSetting, BtnExit, BtnNewGame: ButtonABC;

Объяснение кода листинга программы

  1. Объявлены переменные-кнопки типа ButtonABC: BtnContinium, BtnSetting, BtnExit, BtnNewGame.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут