Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52

Сделать рамку слева от меню

21.06.2015, 17:55. Показов 2062. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хотел бы сделать рамку с 4 строками, идущими вертикально, правее менюшки.
Рамка такая:
[tab - влево
backspace - вправо
escape - отмена / сброс
enter - выбор]
Через какие методы это можно сделать?
код:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
uses crt;
const kol=8;{количество пунктов меню}
{массив названий пунктов меню}
vibor:array[1..kol] of string=(
  'создать класс',
  'редактировать название авто',
  'редактировать цвет авто',
  'редактировать скорость авто',
  'редактировать массу авто',
  'удалить класс',
  'редактировать тип авто',
  'посмотреть класс');
  
v='Выбран вариант: ';
 
type
  Vehicle = class
  private
    color:string;
    name:string;
    speed:integer;
    weight:real;
  public
    constructor Create;
    destructor Destroy;
    function getName:string;
    function getColor:string;
    function getSpeed:integer;
    function getWeight:real;
    procedure setName(_name:string);
    procedure setColor(_color:string);
    procedure setSpeed(_speed:integer);
    procedure setWeight(_weight:real);
    function ToString:string;virtual;
  end;
  
  Car = class(Vehicle)
  private 
    car_type: string;
  public 
    constructor Create;
    destructor Destroy;
    function getType: string;
    procedure setType(_car_type: string);
    function ToString: string; override;
  end;
 
{##################-----Vehicle-----##########################}
constructor Vehicle.Create;
begin
  writeln('Vehicle.Create');
  writeln('Enter name');readln(name);
  writeln('Enter color');readln(color);
  writeln('Enter speed');readln(speed);
  writeln('Enter weight');readln(weight);
  writeln('Enter type');readln(car_type);
end;
 
 
destructor Vehicle.Destroy;
begin
  writeln('Vehicle.Destroy');
end;
 
 
function Vehicle.getName: string;
begin
  writeln('Vehicle.getName: ', self.name);
  result := self.name;
end;
 
function Vehicle.getColor: string;
begin
  writeln('Vehicle.getColor: ', self.color);
  result := self.color;
end;
 
 
function Vehicle.getSpeed: integer;
begin
  writeln('Vehicle.getSpeed: ', self.speed);
  result := self.speed;
end;
 
 
function Vehicle.getWeight: real;
begin
  writeln('Vehicle.getWeight: ', self.weight);
  result := self.weight;
end;
 
 
procedure Vehicle.setName(_name: string);
begin
  writeln('Vehicle.setName: ', _name);
  self.name := _name;
end;
 
procedure Vehicle.setColor(_color: string);
begin
  writeln('Vehicle.setColor: ', _color);
  self.color := _color;
end;
 
 
procedure Vehicle.setSpeed(_speed: integer);
begin
  writeln('Vehicle.setSpeed: ', _speed);
  self.speed := _speed;
end;
 
 
procedure Vehicle.setWeight(_weight: real);
begin
  writeln('Vehicle.setWeight: ', _weight);
  self.weight := _weight;
end;
 
 
function Vehicle.ToString: string;
begin
  result := 'Name - ' + self.name
  + '  Color - ' + self.color
  + '  Speed - ' + IntToStr(self.speed)
  + '  Weight - ' + FloatToStr(self.weight);
end;
{##################-----Vehicle-----##########################}
{##################-----CAR-----##########################}
constructor Car.Create;
begin
  inherited;
  writeln('Car.Created');
end;
 
destructor Car.Destroy;
begin
  writeln('Car.Destroy');
end;
 
 
function Car.getType: string;
begin
  writeln('Car.getType: ', self.car_type);
  result := self.car_type;
end;
 
 
procedure Car.setType(_car_type: string);
begin
  writeln('Car.setType: ', _car_type);
  self.car_type := _car_type;
end;
 
function Car.ToString: string;
begin
  result := 'Name - ' + self.name
  + '  Color - ' + self.color
  + '  Speed - ' + IntToStr(self.speed)
  + '  Weight - ' + FloatToStr(self.weight)
  + '  Type - ' + self.car_type;
end;
 
 
procedure Menu(var k:byte);{создание и вывод на экран меню}
var kod: char;
    i:byte;
begin
window(1,1,80,25);
textbackground(0);
clrscr;
k:=1;
gotoxy(4,1);
writeln('Демонстрационная программа по теме "Классы и подклассы"');
k:=1; {выведен первый пункт меню}
repeat
for i:=1 to kol do
 begin
  if i=k then {выделенный пункт}
   begin
    textbackground(3);
    textcolor(9);
   end
  else  {остальные}
   begin
    textbackground(0);
    textcolor(15)
   end;
gotoxy(1,i+1);{ставим курсор}
write(vibor[i]);{выводим пункты}
end;
repeat
kod:=readkey;
until Kod in [#8, #9, #13,#27];
case Kod of
#8: begin{стрелка вверх}
     k:=k-1;
     if k=0 then k:=8;{если выше верха, вниз}
     end;
#9: begin {стрелка вниз}
     k:=k+1;
     if k=9 then k:=1;{если ниже низа, вверх}
     end;
 #27: begin
      writeln;
      writeln('Вы экстренно завершили выполнение программы');
      halt;
      end;
end;
until kod=#13;{нажат Enter, выходим из меню в выбранную процедуру}
end;
{основная программа}
var k:byte;
  mcar: Car;
begin
 repeat
   textbackground(0);
   textcolor(15);
   Menu(k);{выводим меню}
   clrscr;
   writeln(v,vibor[k]);
   case k of{выбираем стрелками действие}
   1: begin
      //writeln(v,vibor[1]);
      mcar := new Car;
      readln
      end;
   2: begin
      //writeln(v,vibor[2]);
      write('Enter new name: ');
      mcar.setName(ReadString());
      readln
      end;
   3: begin
      //writeln(v,vibor[3]);
      write('Enter new color: ');
      mcar.setColor(ReadString());
      readln
      end;
   4: begin
      //writeln(v,vibor[4]);
      write('Enter speed: ');
      mcar.setSpeed(ReadInteger());
      readln
      end;
   5: begin
      //writeln(v,vibor[5]);
      write('Enter weight: ');
      mcar.setWeight(ReadInteger());
      readln
      end; 
   6: begin
      //write(v,vibor[6]);
      mcar.Destroy;
      readln
      end; 
   7: begin
      //writeln(v,vibor[7]);
      write('Enter type: ');
      Car(mcar).setType(ReadString());
      readln
      end;       
   8: begin
      //writeln(v,vibor[8]);
      writeln(mcar.ToString);
      readln
      end;       
   9: begin
      window(1,1,80,25);
      textbackground(0);
      clrscr;
      textcolor(15);
      end;
   end;
 until k=9;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.06.2015, 17:55
Ответы с готовыми решениями:

Как сделать рамку у таблице слева и справа, а сверху и снизу чтобы ее небыло?
Обычным способом рамка получается со всех сторон, А как сделать так, чтобы была только с левой стороны и с правой? <table...

Сделать рамку для вертикального меню
Есть вертикальное меню ,написанное на css ,нужно сделать рамку ,чтоб меню было посередине рамки ,что бы при добавлении новых пунктов в меню...

Как сделать, чтобы меню было всегда слева от центрированного div с position: absolute?
Доброго времени суток! Я экспериментирую с эффектом параллакс, и у меня есть центрировання многослойная композиция, в которой у всех...

23
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 18:33
Хотел посмотреть как выглядит меню, но программа не запускается, ошибка в строке 56, ибо car_type не является полем класса Vehicle.
А вообще рамку можно только примитивную из символов типа ---- ||| ____ , поскольку псевдографики как в Турбо здесь нет.
0
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 18:42  [ТС]
Puporev, извиняюсь за нерабочий код.
исправил. Помогите перенести и расположить 4 строки правее менюшки, пусть даже и без рамки
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
uses crt;
const kol=8;{количество пунктов меню}
{массив названий пунктов меню}
vibor:array[1..kol] of string=(
  'создать класс',
  'редактировать название авто',
  'редактировать цвет авто',
  'редактировать скорость авто',
  'редактировать массу авто',
  'удалить класс',
  'редактировать тип авто',
  'посмотреть класс');
  
v='Выбран вариант: ';
 
type
  Vehicle = class
  private
    color:string;
    name:string;
    speed:integer;
    weight:real;
    car_type:string;
  public
    constructor Create;
    destructor Destroy;
    function getName:string;
    function getColor:string;
    function getSpeed:integer;
    function getWeight:real;
    procedure setName(_name:string);
    procedure setColor(_color:string);
    procedure setSpeed(_speed:integer);
    procedure setWeight(_weight:real);
    function ToString:string;virtual;
  end;
  
  Car = class(Vehicle)
  private 
    car_type: string;
  public 
    constructor Create;
    destructor Destroy;
    function getType: string;
    procedure setType(_car_type: string);
    function ToString: string; override;
  end;
 
{##################-----Vehicle-----##########################}
constructor Vehicle.Create;
begin
  writeln('Vehicle.Create');
  writeln('Enter name');readln(name);
  writeln('Enter color');readln(color);
  writeln('Enter speed');readln(speed);
  writeln('Enter weight');readln(weight);
  writeln('Enter type');readln(car_type);
end;
 
 
destructor Vehicle.Destroy;
begin
  writeln('Vehicle.Destroy');
end;
 
 
function Vehicle.getName: string;
begin
  writeln('Vehicle.getName: ', self.name);
  result := self.name;
end;
 
function Vehicle.getColor: string;
begin
  writeln('Vehicle.getColor: ', self.color);
  result := self.color;
end;
 
 
function Vehicle.getSpeed: integer;
begin
  writeln('Vehicle.getSpeed: ', self.speed);
  result := self.speed;
end;
 
 
function Vehicle.getWeight: real;
begin
  writeln('Vehicle.getWeight: ', self.weight);
  result := self.weight;
end;
 
 
procedure Vehicle.setName(_name: string);
begin
  writeln('Vehicle.setName: ', _name);
  self.name := _name;
end;
 
procedure Vehicle.setColor(_color: string);
begin
  writeln('Vehicle.setColor: ', _color);
  self.color := _color;
end;
 
 
procedure Vehicle.setSpeed(_speed: integer);
begin
  writeln('Vehicle.setSpeed: ', _speed);
  self.speed := _speed;
end;
 
 
procedure Vehicle.setWeight(_weight: real);
begin
  writeln('Vehicle.setWeight: ', _weight);
  self.weight := _weight;
end;
 
 
function Vehicle.ToString: string;
begin
  result := 'Name - ' + self.name
  + '  Color - ' + self.color
  + '  Speed - ' + IntToStr(self.speed)
  + '  Weight - ' + FloatToStr(self.weight)
  + '  Type - ' + self.car_type;
end;
{##################-----Vehicle-----##########################}
{##################-----CAR-----##########################}
constructor Car.Create;
begin
  inherited;
  writeln('Car.Created');
end;
 
destructor Car.Destroy;
begin
  writeln('Car.Destroy');
end;
 
 
function Car.getType: string;
begin
  writeln('Car.getType: ', self.car_type);
  result := self.car_type;
end;
 
 
procedure Car.setType(_car_type: string);
begin
  writeln('Car.setType: ', _car_type);
  self.car_type := _car_type;
end;
 
function Car.ToString: string;
begin
  result := 'Name - ' + self.name
  + '  Color - ' + self.color
  + '  Speed - ' + IntToStr(self.speed)
  + '  Weight - ' + FloatToStr(self.weight)
  + '  Type - ' + self.car_type;
end;
 
 
procedure Menu(var k:byte);{создание и вывод на экран меню}
var kod: char;
    i:byte;
begin
window(1,1,80,25);
textbackground(0);
clrscr;
k:=1;
gotoxy(4,1);
writeln('Демонстрационная программа по теме "Классы и подклассы"');
k:=1; {выведен первый пункт меню}
repeat
for i:=1 to kol do
 begin
  if i=k then {выделенный пункт}
   begin
    textbackground(3);
    textcolor(9);
   end
  else  {остальные}
   begin
    textbackground(0);
    textcolor(15)
   end;
gotoxy(1,i+1);{ставим курсор}
write(vibor[i]);{выводим пункты}
end;
repeat
kod:=readkey;
until Kod in [#8, #9, #13,#27];
case Kod of
#8: begin{стрелка вверх}
     k:=k-1;
     if k=0 then k:=8;{если выше верха, вниз}
     end;
#9: begin {стрелка вниз}
     k:=k+1;
     if k=9 then k:=1;{если ниже низа, вверх}
     end;
 #27: begin
      writeln;
      writeln('Вы экстренно завершили выполнение программы');
      halt;
      end;
end;
until kod=#13;{нажат Enter, выходим из меню в выбранную процедуру}
end;
{основная программа}
var k:byte;
  mcar: Car;
begin
 repeat
   textbackground(0);
   textcolor(15);
   Menu(k);{выводим меню}
   
   clrscr;
   writeln(v,vibor[k]);
   case k of{выбираем стрелками действие}
   1: begin
      //writeln(v,vibor[1]);
      mcar := new Car;
      readln
      end;
   2: begin
      //writeln(v,vibor[2]);
      write('Enter new name: ');
      mcar.setName(ReadString());
      readln
      end;
   3: begin
      //writeln(v,vibor[3]);
      write('Enter new color: ');
      mcar.setColor(ReadString());
      readln
      end;
   4: begin
      //writeln(v,vibor[4]);
      write('Enter speed: ');
      mcar.setSpeed(ReadInteger());
      readln
      end;
   5: begin
      //writeln(v,vibor[5]);
      write('Enter weight: ');
      mcar.setWeight(ReadInteger());
      readln
      end; 
   6: begin
      //write(v,vibor[6]);
      mcar.Destroy;
      readln
      end; 
   7: begin
      //writeln(v,vibor[7]);
      write('Enter type: ');
      Car(mcar).setType(ReadString());
      readln
      end;       
   8: begin
      //writeln(v,vibor[8]);
      writeln(mcar.ToString);
      readln
      end;       
   9: begin
      window(1,1,80,25);
      textbackground(0);
      clrscr;
      textcolor(15);
      end;
   end;
 until k=9;
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 18:44
И этот код можно запустить?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
21.06.2015, 18:46
Да, этот код прекрасно запускается.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 19:08
Лучший ответ Сообщение было отмечено grobnar93 как решение

Решение

Я как-то не так открыл, видно было только со строки 128

Добавлено через 7 минут
Так посмотри
Pascal
1
2
3
4
5
6
7
8
9
vibor:array[1..kol] of string=(
  'создать класс',
  'редактировать название авто --------------------------',
  'редактировать цвет авто     | tab - влево            | ',
  'редактировать скорость авто | backspace - вправо     |',
  'редактировать массу авто    | escape - отмена / сброс|',
  'удалить класс               | enter - выбор          |',
  'редактировать тип авто      --------------------------',
  'посмотреть класс');
1
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 19:41  [ТС]
а gotoxy никак нельзя подвинутьPuporev, ?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 19:49
А зачем?
0
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 19:50  [ТС]
Puporev, эстетичней лучше выглядит. если нельзя, то конечно как вы показались правильней
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 19:54
Цитата Сообщение от grobnar93 Посмотреть сообщение
эстетичней лучше выглядит
Так при чем тут gotoXY? Можно же сделать рамку и положение текста в ней и при помощи добавления-убавления пробелов в строках. Саму рамку без псевдографики я не знаю как можно сделать.

Добавлено через 58 секунд
Вот нарисуй как ты хочешь видеть меню и рамку.
0
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 20:10  [ТС]
Puporev, набросок такой
Вашим решением все отлично решается, но я думал что можно легче.Если нет, то я понимаю.
Миниатюры
Сделать рамку слева от меню  
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 20:11
Цитата Сообщение от grobnar93 Посмотреть сообщение
но я думал что можно легче
Да куда уж легче?
0
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 20:15  [ТС]
Puporev, А не подскажите, можно ли вывести комментарии на экран при редактировании, например, имени?
Как представляю:
1.enter на редактирование имени класса
2. Посередине окна. вы перешли в пункт редактирования. Введите имя
3. Вводим имя. Редактируем.
4. Вы редактировали имя класса. Перейдите в пункт просмотра класса.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 20:18
Ну сдвинь рамку вправо
Pascal
1
2
3
4
5
6
7
8
9
vibor:array[1..kol] of string=(
  'создать класс               ',
  'редактировать название авто                 --------------------------',
  'редактировать цвет авто                     | tab - влево            | ',
  'редактировать скорость авто                 | backspace - вправо     |',
  'редактировать массу авто                    | escape - отмена / сброс|',
  'удалить класс                               | enter - выбор          |',
  'редактировать тип авто                      --------------------------',
  'посмотреть класс');
0
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 20:20  [ТС]
Puporev, Если сдвинуть рамку так, то будет выделяться вся строка, вместе с этой рамкой, а не должно.
Миниатюры
Сделать рамку слева от меню  
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 20:34
Ваш последний вопрос не понял, если это где-то в коде, то я пас.

Добавлено через 51 секунду
Цитата Сообщение от grobnar93 Посмотреть сообщение
Если сдвинуть рамку так
А если не сдвинуть, точно так же.

Добавлено через 13 минут
Это действие
Pascal
1
2
3
4
5
if i=k then {выделенный пункт}
   begin
    textbackground(3);
    textcolor(9);
   end
устанавливает фон и цвет для всей строки.
0
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 20:37  [ТС]
Puporev, Прикол в том, что если разбить строку как 'создать класс', '----------' будет в 2 раза элементов массива. Не пойдет
Есть идея, как разделить строку?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 20:39
Создать 2 окна, левое для меню, правое для рамки.
1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.06.2015, 22:06
В Турбо Паскале все получается нормально

а в АВС.net не фига
Миниатюры
Сделать рамку слева от меню   Сделать рамку слева от меню  
0
1 / 1 / 0
Регистрация: 02.03.2015
Сообщений: 52
21.06.2015, 22:32  [ТС]
Puporev, видимо тут какие-то разночтения в версиях.
Скинете код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.06.2015, 22:32
Помогаю со студенческими работами здесь

Как сделать чтобы при уменьшении экрана меню слева и справа уходили вниз без js?
Ну, то есть, наверно, используя @media итд, это понятно. Как при уменьшении экрана изменить стили (а может быть как-то правильно...

Как сделать так, что бы, три пункта меню было слева и три с права, а между ними логотип
Меню, написано с помощью плагина Max Mega Menu, как сделать так, что бы, три пункта меню было слева и три с права, а между ними логотип ? ...

как сделать чтобы меню слева, при изменении экрана стояла как "приклеиная"?
Чтобы не смещалась? Вот код: <div id="page"> <aside id="sidebar"> <nav><a class="logo" href="#top" id="nav-logo"> ...

Не делает выплывающее меню в рамку
Здравствуйте! Я в этом деле новичок, так что возможно некорректно выражаюсь. Прошу помочь! Сделала на сайте выплывающее меню, не пойму...

Контекстное меню и вывод текста на рамку (frame)
Имеется 6 рамок (frame) и необходимо чтобы при нажатии правой кнопкой мыши на любое место в пределах соответствующей рамки, открывалось...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru