Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Картинки и радиогруппа, нужна помощь) 
:(
    Опции темы
JIIOTbIU
Дата 26.4.2012, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 24.4.2012

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



Здравствуйте, возник такой вопрос, пишу программку, но немогу додуматься как сопоставить кнопки главного меню с пунктами радиогруппы и картинками)

вот сама программа и ее условие:

На форме располагаются: главное меню с шестью опциями-названиями животных, контейнер Image, кнопка Close и радионабор для выбора животного. Выбор осуществляется мышью или клавишами клавиатуры (®, ¬ или ­, ¯). Выбранное животное отображается на элементе Image, а соответствующая ему опция в меню становится невидимой. Кнопка Close заканчивает программу.



Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  Задание2.zip 711,73 Kb
PM MAIL ICQ   Вверх
kami
Дата 26.4.2012, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

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



Цитата(JIIOTbIU @  26.4.2012,  16:54 Найти цитируемый пост)
как сопоставить кнопки главного меню с пунктами радиогруппы и картинками

На этот счет есть два мнения: одно неправильное, а другое мое (с) чье-то smile

Имхо (тезисно, пишу в браузере, возможны ошибки, так как половину методов не помню. Пользуйтесь F1):
1. Делаем метод загрузки изображения:

Код

procedure TForm1.LoadImage(imgIndex: integer);
const
  imgNames: array[0..3] of string = ('жираф.jpg','слон.jpg','жук.jpg','чупакабра.jpg');
  s: string;
begin
  s:=ExtractFilePath(ParamStr(0))+imgNames[imgIndex];
  Image1.LoadFromFile(s);
end;


2. Каждому radiobutton и menuItem присваиваем в инспекторе объектов .Tag := индекс_изображения_из_массива_imgNames.
3. Всем radiobutton и menuitem присваиваем один обработчик события, выглядеть будет примерно так:

Код

procedure TForm1.RadioButton1Click(Sender: Tobject);
begin
  LoadImage(TComponent(Sender).Tag);
  // и здесь - думаем и пытаемся спрятать нужный MenuItem и показать все остальные MenuItem`s (иначе они в конце концов все спрячутся).
  // Что не получается - приводим код и спрашиваем, как правильно.
end;


Добавлено через 6 минут и 54 секунды
А, у Вас RadioGroup, а не GroupBox...
Тогда единый обработчик OnClick остается только для menuitems, а для RadioGroup будет так:

Код

procedure TForm1.RadioGroupClick(Sender: TObject);
begin
  LoadImage(RadioGroup1.ItemIndex);
end;


Это сообщение отредактировал(а) kami - 26.4.2012, 21:34
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




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


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

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