Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109

UpDown и PopupMenu

17.06.2014, 08:09. Показов 3902. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Подскажите пожалуйста, на сколько реально реализовать такую задачу:

Есть Panel, PopupMenu и UpDown компоненты. Panel служит для вывода текстовой информации, в PopupMenu хранятся значения, UpDown должен переключать значения которые хранятся в PopupMenu и выводить название выбранного пункта на Panel.

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2014, 08:09
Ответы с готовыми решениями:

Calendar и UpDown
Мне нужно календать(стандартный Calendar) который в зависимости от нажатой кнопки вверх или вниз(компонента UpDown ) менял месяц.

UpDown и label
Доброго времени суток! Подскажите пожалуйста, почему так!? Кидаю на форму UpDown и Label. Для UpDown свойства OnClick пишу: ...

UpDown и Edit
Всем добро! :yes: У меня как всегда забавный глюк...:) При помощи UpDown1 я меняю текст в Edit5 стандартным способом при помощи...

23
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
17.06.2014, 13:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DenProx Посмотреть сообщение
А для чего это нужно?
Это нужно, чтобы использовать один обработчик для всех Итемов, а не 10.

Доработал код.
И зацикливание, и "галочки" есть:
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
procedure TForm1.FormCreate(Sender: TObject);
begin
  UpDown1.Max := PopupMenu1.Items.Count - 1;
  Panel1.Caption := PopupMenu1.Items[0].Caption;
  PopupMenu1.Items[0].Click;
end;
 
procedure TForm1.N01Click(Sender: TObject);
begin
  UpDown1.Position := TMenuItem(Sender).MenuIndex;
end;
 
procedure TForm1.UpDown1ChangingEx(Sender: TObject; var AllowChange: Boolean;
  NewValue: SmallInt; Direction: TUpDownDirection);
begin
  PopupMenu1.Items[UpDown1.Position].Checked := False; // если RadioItem = False
 
  if Direction = updNone then // если уперлись,
  begin                       // то зацикливаем
    if NewValue = -1 then
      NewValue := PopupMenu1.Items.Count - 1
    else
      NewValue := 0;
 
    UpDown1.Position := NewValue;
    AllowChange := False;
  end else
    PopupMenu1.Items[NewValue].Checked := True;
 
  Panel1.Caption := PopupMenu1.Items[NewValue].Caption;
end;
Вложения
Тип файла: rar UpDown_PopupMenu.rar (1.5 Кб, 3 просмотров)
1
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
17.06.2014, 13:55  [ТС]
FIL, Спасибо!) Теперь все работает!
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
17.06.2014, 13:57
Чтобы выделение с Итема нельзя было снять:
Delphi
1
2
3
4
5
procedure TForm1.N01Click(Sender: TObject);
begin
  TMenuItem(Sender).Checked := True; // если RadioItem = False
  UpDown1.Position := TMenuItem(Sender).MenuIndex;
end;
1
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
16.10.2014, 12:13  [ТС]
Поднимаю тему. Подскажите, как можно доработать имеющийся код, так, чтобы в случае когда какой либо из пунктов меню равен Enabled = False, при нажатии на UpDown этот пункт(-ы) пропускался ? Если остался только 1 пункт, то стоят на месте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2014, 12:13

вопрос по UpDown
void __fastcall TForm2::UpDown1Click(TObject *Sender, TUDBtnType Button) { if((Edit1->Text)!="") { if(Button==btNext)...

E и updown+Edit
Приветствую, имеется 2 вопроса: 1.Мне надо вычислить формулу(прикреплена). e - это же exp? Но по формуле возведения числа в неправильную...

Компонент UpDown
Дайте, если не сложно, пример, как программируется Эдит1, с сочетанием с компонентом UpDown1. Не могу немного сообразить. Вот я скинул...

Компонент UpDown
Имеется график с осями x и y ( до 10 ). Как сделать чтобы при нажатие на UpDown график по оси x , стал на 1 меньше.

Объединение Edit и UpDown
Чтоб переменная читалась в Edite нужно в текстте программы написать допустим l:=strtoint(edit1.Text); А Если Edit объединен с UpDown , то...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru