Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
1

Комбобокс

13.03.2015, 22:43. Просмотров 443. Ответов 18
Метки нет (Все метки)

Есть у меня в проге 1 комбобокс и 3 кнопки. Можно ли сделать так, чтобы если нажата клавиша-1, грузилось одно фото, клавиша-2 другое фото, и т.д. . При этом выбран один и тотже "итемс". Тоесть - выбран "александровск", кнопка схема - одно фото, голд- другое фото, превью- третье фото. Вот исходник (кусок, а то там всего больше 800 строк)
Delphi
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
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.ItemIndex := 0;
ComboBox1.Items.Add('Александровск');  //1
ComboBox1.Items.Add('Арена');          //2
ComboBox1.Items.Add('Атра');           //3
ComboBox1.Items.Add('Барда');          //4
ComboBox1.Items.Add('Безумие');        //5
ComboBox1.Items.Add('Берлин');         //6
ComboBox1.Items.Add('Бобруйск');       //7
ComboBox1.Items.Add('Бойня');          //8
ComboBox1.Items.Add('Брест');          //9
{и т.д.}
end;
 
 
procedure TForm1.ComboBox1Change(Sender: TObject); {Сразу начинается с "превью".}
begin
  scaleimage;  {масштабирование}
if ComboBox1.ItemIndex = 0 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Александровск.jpg')
else
 if ComboBox1.ItemIndex = 1 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Арена.jpg')
else
if ComboBox1.ItemIndex = 2 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Атра.jpg')
else
 if ComboBox1.ItemIndex = 3 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Барда.jpg')
else
if ComboBox1.ItemIndex = 4 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Безумие.jpg')
else
 if ComboBox1.ItemIndex = 5 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Берлин.jpg')
else
if ComboBox1.ItemIndex = 6 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Бобруйск.jpg')
else
 if ComboBox1.ItemIndex = 7 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Бойня.jpg')
else
if ComboBox1.ItemIndex = 8 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Брест.jpg')
else
if ComboBox1.ItemIndex = 9 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Будущее.jpg')
else
if ComboBox1.ItemIndex = 10 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Бумбокс.jpg')
else
if ComboBox1.ItemIndex = 11 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Волна.jpg')
else
if ComboBox1.ItemIndex = 12 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Вольфенштейн.jpg')
else
if ComboBox1.ItemIndex = 13 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Гардер.jpg')
else
if ComboBox1.ItemIndex = 14 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Год 2042.jpg')
 else
if ComboBox1.ItemIndex = 15 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Гравити.jpg')
else
if ComboBox1.ItemIndex = 16 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Губаха.jpg')
else
if ComboBox1.ItemIndex = 17 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Долина.jpg')
else
if ComboBox1.ItemIndex = 18 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Дуалити.jpg')
else
if ComboBox1.ItemIndex = 19 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Дуэль.jpg')
else
if ComboBox1.ItemIndex = 20 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Дюссельдорф.jpg')
else
if ComboBox1.ItemIndex = 21 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Жаворонки.jpg')
else
if ComboBox1.ItemIndex = 22 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Зона.jpg')
else
if ComboBox1.ItemIndex = 23 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Иран.jpg')
else
if ComboBox1.ItemIndex = 24 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Колхоз.jpg')
else
if ComboBox1.ItemIndex = 25 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Кунгур.jpg')
else
if ComboBox1.ItemIndex = 26 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Кураж.jpg')
else
if ComboBox1.ItemIndex = 27 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Кёльн.jpg')
else
if ComboBox1.ItemIndex = 28 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Лагерь.jpg')
else
if ComboBox1.ItemIndex = 29 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Магистраль.jpg')
else
if ComboBox1.ItemIndex = 30 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Молотов.jpg')
else
if ComboBox1.ItemIndex = 31 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Монте-Карло.jpg')
else
if ComboBox1.ItemIndex = 32 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Мостик.jpg')
else
if ComboBox1.ItemIndex = 33 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Мосты.jpg')
else
if ComboBox1.ItemIndex = 34 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Небоскребы.jpg')
else
if ComboBox1.ItemIndex = 35 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Новэл.jpg')
else
if ComboBox1.ItemIndex = 36 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Овраг.jpg')
else
if ComboBox1.ItemIndex = 37 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Оса.jpg')
else
if ComboBox1.ItemIndex = 38 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Осада.jpg')
else
if ComboBox1.ItemIndex = 39 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Остров.jpg')
else
if ComboBox1.ItemIndex = 40 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Парма.jpg')
else
if ComboBox1.ItemIndex = 41 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Перевал.jpg')
else
if ComboBox1.ItemIndex = 42 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Перекресток.jpg')
else
if ComboBox1.ItemIndex = 43 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Песочница.jpg')
else
if ComboBox1.ItemIndex = 44 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Пинг-Понг.jpg')
else
if ComboBox1.ItemIndex = 45 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Плато.jpg')
else
if ComboBox1.ItemIndex = 46 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Подземка.jpg')
else
if ComboBox1.ItemIndex = 47 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Полигон.jpg')
else
if ComboBox1.ItemIndex = 48 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Промзона.jpg')
else
if ComboBox1.ItemIndex = 49 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Простор.jpg')
else
if ComboBox1.ItemIndex = 50 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Пустыня.jpg')
else
if ComboBox1.ItemIndex = 51 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Ред Алерт.jpg')
else
if ComboBox1.ItemIndex = 52 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Рио.jpg')
else
if ComboBox1.ItemIndex = 53 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Сандал.jpg')
else
if ComboBox1.ItemIndex = 54 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Серпухов.jpg')
else
if ComboBox1.ItemIndex = 55 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Соликамск.jpg')
else
if ComboBox1.ItemIndex = 56 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Стадион.jpg')
else
if ComboBox1.ItemIndex = 57 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Станция.jpg')
else
if ComboBox1.ItemIndex = 58 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Тишина.jpg')
else
if ComboBox1.ItemIndex = 59 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Трек.jpg')
else
if ComboBox1.ItemIndex = 60 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Трибьют.jpg')
else
if ComboBox1.ItemIndex = 61 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Тэмпл.jpg')
else
if ComboBox1.ItemIndex = 62 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Ущелье.jpg')
else
if ComboBox1.ItemIndex = 63 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Фабрика.jpg')
else
if ComboBox1.ItemIndex = 64 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Ферма.jpg')
else
if ComboBox1.ItemIndex = 65 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Форест.jpg')
else
if ComboBox1.ItemIndex = 66 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Форт Нокс.jpg')
else
if ComboBox1.ItemIndex = 67 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Холм.jpg')
else
if ComboBox1.ItemIndex = 68 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Чернобыль.jpg')
else
if ComboBox1.ItemIndex = 69 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Шоссе.jpg')
else
if ComboBox1.ItemIndex = 70 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Шум.jpg')
else
if ComboBox1.ItemIndex = 71 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Эдинбург.jpg')
else
if ComboBox1.ItemIndex = 72 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Эспланада.jpg');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Button2.Enabled:=False;
  Button3.Enabled:=True;
  Button4.Enabled:=True;
{?????}
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  Button2.Enabled:=True;
  Button3.Enabled:=False;
  Button4.Enabled:=True;
{???????}
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
  Button4.Enabled:=False;
  Button3.Enabled:=True;
  Button2.Enabled:=True;
{??????}
end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2015, 22:43
Ответы с готовыми решениями:

Листбокс и комбобокс
Есть ComboBox и ListBox. Надо сделать так, чтобы при выборе Item-а из...

Динамический массив и комбобокс
Здравствуйте! Следующая задача: Необходимо создать динамический массив...

мемо комбобокс и фантазия
Всем привет. Решил написать программу, да вот в ComboBox не шарю.. Задача...

Комбобокс (разработка интерфейса)
разрабатываю интерфейс программы в form1 нажимаю кнопочку , высвечивается...

Комбобокс. Выбор содержимого
Здравствуйте! Комбобокс заполнен через адоквери. При изменении эдита, надо...

18
pavel_pushok
30 / 30 / 9
Регистрация: 25.12.2014
Сообщений: 115
13.03.2015, 22:49 2
если я правильно понял, то просто на форме в обработчике клавиш сделать нужные действия. Предварительно установив перехват клавиш формой.
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
13.03.2015, 22:58  [ТС] 3
Да, вы правильно поняли, но как это воплотить в жизнь, вот в чем вопрос.
0
pavel_pushok
30 / 30 / 9
Регистрация: 25.12.2014
Сообщений: 115
13.03.2015, 23:07 4
В свойствах формы поставить - onKeyPreview = True. И на OnKeyUp формы задать нужные действия при нажатии определенных клавиш.
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
13.03.2015, 23:08  [ТС] 5
Значит не поняли, клавиши - кнопка на форме. (извините, если неправильно изложил мысли)
0
pavel_pushok
30 / 30 / 9
Регистрация: 25.12.2014
Сообщений: 115
13.03.2015, 23:11 6
Тогда по нажатии кнопки сделать проверку на выбранный айтем в комбобоксе, и если соответствует нужному то грузить определенное фото.
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
14.03.2015, 10:32  [ТС] 7
Пробовал. Вообще фото не грузит.
0
krapotkin
3418 / 3025 / 1047
Регистрация: 14.04.2014
Сообщений: 14,679
Записей в блоге: 15
14.03.2015, 10:44 8
Цитата Сообщение от vlados2441 Посмотреть сообщение
ComboBox1.ItemIndex := 0;
ComboBox1.Items.Add('Александровск'); *//1
ComboBox1.Items.Add('Арена'); * * * * *//2
ComboBox1.Items.Add('Атра'); * * * * * //3
ComboBox1.Items.Add('Барда'); * * * * *//4
все это безумие заменить на
Delphi
1
ComboBox1.Items.LoadFromFile(Filename);
Цитата Сообщение от vlados2441 Посмотреть сообщение
if ComboBox1.ItemIndex = 0 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Александровск.jpg')
else
*if ComboBox1.ItemIndex = 1 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Арена.jpg')
else
if ComboBox1.ItemIndex = 2 then
Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\Атра.jpg')
else
и тут все в 2 строки:
Delphi
1
2
if ComboBox1.ItemIndex <>-1 then
   Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg')
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
14.03.2015, 11:17  [ТС] 9
За это спасибо, ну а как решить основной вопрос?

Добавлено через 31 минуту
О, вроде получилось, только вот проблемы с размерами изображений. Искажаются, не знаю что делать.
0
krapotkin
3418 / 3025 / 1047
Регистрация: 14.04.2014
Сообщений: 14,679
Записей в блоге: 15
14.03.2015, 11:23 10
телепатия в действии
"одно фото, другое фото и третье фото" - никто не говорит, где они, но хрустальный шар сообщает мне
что одинаковые по имени файлы с разным содержимым лежат в папках Scheme, Preview, Gold или что-нить в этом роде

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.ButtonClick(Sender:TObject);
var path, fname:string;
begin
  if ComboBox1.ItemIndex =-1 then exit;
  if sender = ButtonScheme then
    path := 'c:\program files\TankMapsViewer\Схема\'
  else if sender = ButtonPreview then
    path := 'c:\program files\TankMapsViewer\Превью\'
  else if sender = ButtonGold then
    path := 'c:\program files\TankMapsViewer\ХЗКакойтоГолд\';
 
  fname := path+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg';
  Image1.Picture.LoadFromFile(Fname);
end;
в рот положил
вроде уже пожевал даже
глотать самостоятельно будем?
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
14.03.2015, 11:34  [ТС] 11
Не получилось, все равно не так. Хочешь, весь проект скину.
0
krapotkin
3418 / 3025 / 1047
Регистрация: 14.04.2014
Сообщений: 14,679
Записей в блоге: 15
14.03.2015, 11:45 12
нет не хочу
что делал?
что не получилось?
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
14.03.2015, 11:51  [ТС] 13
Добавил такой код
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.FormActivate(Sender: TObject);
begin
  if sender = Button2 then
    Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg')
  else if sender = Button3 then
    Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Голд\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg')
  else if sender = Button4 then
    Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Схема\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg')
end;
Все равно при выборе следующего итемса грузит превью. Причем искаженное(в режиме "превью" искажений нет).
0
krapotkin
3418 / 3025 / 1047
Регистрация: 14.04.2014
Сообщений: 14,679
Записей в блоге: 15
14.03.2015, 12:08 14
при чем здесь FormActivate ?
свернули форму, открыли, и он опять выполнился?

задача была "по нажатию кнопки 1,2,3"
я привел обработчик, общий для всех кнопок, написанный в плохой манере (все в кучу), но понятно для начинашек
его и надо назначить на кнопки

Добавлено через 2 минуты
если точнее, нужно ComboBox.OnChange тоже назначить сюда же
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
14.03.2015, 12:30  [ТС] 15
Наверно я тупой, но сейчас вообще фи@ня получается. Последний вид исходки
Delphi
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
procedure TForm1.FormActivate(Sender: TObject);
begin
  Image1.AutoSize:= false;
  Image1.Stretch:= True;
  iw:= Image1.Width;
  ih:= Image1.Height;
  Button2.SetFocus;
  Button2.Enabled:=False;
end;
 
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  scaleimage;
  if ComboBox1.ItemIndex <>-1 then
  if sender = Button2 then
    Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg')
  else if sender = Button3 then
    Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Голд\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Button2.Enabled:=False;
  Button3.Enabled:=True;
  Button4.Enabled:=True;
   scaleimage;
if sender = Button2 then
    Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Превью\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg');
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  Button2.Enabled:=True;
  Button3.Enabled:=False;
  Button4.Enabled:=True;
{Тут пока ниче не трогаю}
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
  Button4.Enabled:=False;
  Button3.Enabled:=True;
  Button2.Enabled:=True;
  scaleimage;
if sender = Button4 then
    Image1.Picture.LoadFromFile('c:\program files\TankMapsViewer\Схема\'+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg');
end;
0
pavel_pushok
30 / 30 / 9
Регистрация: 25.12.2014
Сообщений: 115
14.03.2015, 12:54 16
Какая, что не так? я уже незнаю как тут помочь, уже все за вас решили
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
14.03.2015, 13:03  [ТС] 17
В принципе, поковырявшись в исходке и значительно поменяв её, чуть улучшил дела. Но осталась проблема.
С размером изображения. Наверно надо будет видео на снять и на ютуб залить, вам ссылку кинуть, а то так не поймете.
0
krapotkin
3418 / 3025 / 1047
Регистрация: 14.04.2014
Сообщений: 14,679
Записей в блоге: 15
14.03.2015, 13:09 18
рукалицо ((
отвязаться бы уже от FormActivate;
на
Кликните здесь для просмотра всего текста
Delphi
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
type
  TForm2 = class(TForm)
    ComboBox1: TComboBox;
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button123Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
  private
    procedure UpdateImage;
  public
    Mode:integer;
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
procedure TForm2.Button123Click(Sender: TObject);
begin
  if Sender=Button1 then Mode := 0
  else if Sender=Button2 then Mode := 1
  else Mode :=2;
 
  UpdateImage;
 
end;
 
procedure TForm2.UpdateImage;
var path, fname:string;
begin
  if ComboBox1.ItemIndex =-1 then exit;
 
  case mode of
    0:path := 'c:\program files\TankMapsViewer\Схема\';
    1:path := 'c:\program files\TankMapsViewer\Превью\';
    2:path := 'c:\program files\TankMapsViewer\ХЗКакойтоГолд\';
  end;
 
  fname := path+ComboBox1.Items[ComboBox1.ItemIndex]+'.jpg';
  Image1.Picture.LoadFromFile(Fname);
end;
 
procedure TForm2.ComboBox1Change(Sender: TObject);
begin
  updateImage;
end;
 
end.
0
vlados2441
2 / 2 / 4
Регистрация: 11.01.2015
Сообщений: 110
14.03.2015, 13:26  [ТС] 19
Наконец-то!!! Я исправил искажение картинки. Ура! Прога почти готова.
Угадайте как исправил. Убрал
Delphi
1
scaleimage
. Зачем я его писал. "СПАСИБО" Н. Культин, за исходник этой "СУПЕР" процедуры. "Спасибо" за все мои муки и страдания с ней.
Думаю, некоторые читатели его книгы тоже неоднократно сказали "СПАСИБО".
0
14.03.2015, 13:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2015, 13:26

Комбобокс и интервал таймера
Суть такова Я выбираю в комбобоксе один из предложенных вариантов (частоты...

Компонент Комбобокс в StringGrid
Здравствуйте. Прошу помочь довести до адекватного поведения ComboВox в...

Можно ли связать БД и комбобокс ??
Можно ли связать БД и комбобокс ??например есть таблица...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru