2 / 2 / 0
Регистрация: 13.03.2016
Сообщений: 54
1

Создание меню в графическом режиме

30.05.2016, 16:15. Показов 1904. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как нарисовать меню в графическим режиме, используя динамические списки?
И без использования модуля ABCObject
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2016, 16:15
Ответы с готовыми решениями:

Написать программу в графическом режиме
Рисунок "Олимпийские кольца"

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

Вывести длинный текст в графическом режиме
Помогите, очень нужна помощь! В Pascal GraphABC нужно вывести длинный текст что бы он перескакивал ...

Работа в графическом режиме PascalABC.NET
1) Закрашиваем фон экрана зеленым цветом 2) Рисует белого снеговика 3) Выводит строку символов...

5
147 / 128 / 155
Регистрация: 22.03.2016
Сообщений: 502
30.05.2016, 16:44 2
Как работать с визуальными компонентами
0
2 / 2 / 0
Регистрация: 13.03.2016
Сообщений: 54
31.05.2016, 05:09  [ТС] 3
Без использования форм и т.п.
Можно использовать только модуль graphabc
0
5076 / 2648 / 2349
Регистрация: 10.12.2014
Сообщений: 10,022
31.05.2016, 07:11 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот начальный пример кнопки набросал за минут 5:
Pascal
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
uses
  GraphABC;
 
const
  Fone = RGB(0,65,100);
  
type
  tButton = class
    L, U, W, H : Integer;
    Msg : String;
    Prc : procedure;
    Visible : Boolean := False;
    
    constructor (L, U, W, H : Integer; Msg : String; Prc : procedure);
    begin
      Self.L := L; Self.U := U; Self.W := W; Self.H := H;
      Self.Msg := Msg; Self.Prc := Prc;
    end;
    
    procedure onShow;
    begin
      Visible := True;
      Pen.Color := RGB(192,192,192);
      Brush.Color := RGB(128,128,128);
      RoundRect(L, U, L + W, U + H, 8, 8);
      Font.Color := RGB(192,192,0);
      Font.Name  := 'Times New Roman';
      Font.Size  := 14;
      DrawTextCentered(L + 1, U + 1, L + W - 1, U + H - 1, Msg);
      Redraw;
    end;
    
    procedure offShow;
    begin
      Visible := False;
      Pen.Color := Fone;
      Brush.Color := Fone;
      Rectangle(L, U, L + W, U + H);
      Redraw;
    end;
    
    function Contains(X, Y : Integer) : Boolean := (X > L) and (X < L + W) and (Y > U) and (Y < U + H);
    
  end; // tButton 
  
procedure prcExit := Window.Close;
 
var
  btnClose : tButton;
 
procedure MouseMove(X, Y, Btn : Integer);
begin
  if btnClose.Contains(X, Y) then
    Window.Caption := 'True'
  else
    Window.Caption := 'False';
end;
 
procedure MouseDown(X, Y, Btn : Integer);
begin
  if btnClose.Contains(X, Y) then
    btnClose.Prc;
end;
 
begin
  Window.Init(0, 0, 1000, 700, Fone);
  LockDrawing;
  
  btnClose := New tButton(800, 600, 100, 30, 'Выход', prcExit);
  btnClose.onShow;
  
  OnMouseMove := MouseMove;
  OnMouseDown := MouseDown;
  
  var dL := 3;
  repeat
    Sleep(500);
    
    btnClose.offShow;
    btnClose.L += dL;
    if (btnClose.L < 0) or (btnClose.L > Window.Width - btnClose.W) then dL := -dL;
    
    btnClose.onShow;
  until False;
end.
А меню — немного дольше…
0
2 / 2 / 0
Регистрация: 13.03.2016
Сообщений: 54
31.05.2016, 07:31  [ТС] 5
Задание по структурному программированию, поэтому ни о каких классах, конструкторах и речи не идет.
Нужно было сразу написать, извините
0
5076 / 2648 / 2349
Регистрация: 10.12.2014
Сообщений: 10,022
31.05.2016, 10:28 6
Понятие запись, надеюсь, вам знакомо?
Замените в строке:

tButton = class

„class“ на „record“ и программа будет работать!
0
31.05.2016, 10:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2016, 10:28
Помогаю со студенческими работами здесь

Игра крестики-нолики в графическом режиме
Крестики-нолики. Описание: Игра осуществляется по стандартным правилам для поля 3х3....

Изобразите анимированную картинку в графическом режиме
Изобразите анимированную картинку в графическом режиме. Идущие часы (со стрелками).

Реализовать в графическом режиме игру ханойские башни
В графическом режиме PascalABC.NET реализовать ханойские башни (задача с тремя стержнями и n дисков...

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


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

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

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