Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552

PopupMenu + CategoryButtons

02.10.2012, 21:34. Показов 1487. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привязал попап к категорибаттонзу, создал кнопку в попапе, в событии этой кнопки надо сравнивать строковую переменную с именем категории по которой я щелкнул.
Как узнать имя категории? может быть через sender ?

C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm2::N1Click(TObject *Sender)
{
for (int i = 0; i < lDelete->Count-1; i++) {
          String sel  ; // имя нажатой категории
          if (lDelete->Strings[i] == sel) {
 
          }
}
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2012, 21:34
Ответы с готовыми решениями:

CategoryButtons->BackgroundGradientDirection
Как программно поменять CategoryButtons-&gt;BackgroundGradientDirection // switch gdVertikal, gdHorizontal Пробовал так, результат...

CategoryButtons скрыть итемсы
Доброго времени суток! Подскажите, создал CategoryButtons, добавил итемсы, где нужно установить свойство чтобы все итемсы были...

CategoryButtons + try & catch
В событии кнопки попап меню пишу void __fastcall TForm2::N1Click(TObject *Sender) { try { TMenu *menu =...

5
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
02.10.2012, 22:27
MainMenu - Получить название при нажатии на элемент меню
Mr.Sandman, сам переделать код сможешь под себя?
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
03.10.2012, 13:03
Лучший ответ Сообщение было отмечено volvo как решение

Решение

Mr.Sandman, в OnContextPopup готовишь, по клику - получаешь:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::CategoryButtons1ContextPopup(TObject *Sender, TPoint &MousePos,
          bool &Handled)
{
    TCategoryButtons *cb = static_cast<TCategoryButtons*>(Sender);
    cb->PopupMenu->Tag =
        reinterpret_cast<int>(cb->GetCategoryAt(MousePos.x, MousePos.y));
}
 
void __fastcall TForm1::N11Click(TObject *Sender)
{
    TPopupMenu *menu = static_cast<TMenuItem*>(Sender)->GetParentMenu();
    String cat = reinterpret_cast<TButtonCategory*>(menu->Tag)->Caption;
    // ...
}
1
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
03.10.2012, 15:20  [ТС]
C++
1
2
3
4
5
6
[BCC32 Error] OAZIS_FORM.cpp(1089): E2034 Cannot convert 'TMenu *' to 'TPopupMenu *'
  Full parser context
    OAZIS_FORM.cpp(1077): parsing: void _fastcall TForm2::N1Click(TObject *)
[BCC32 Error] OAZIS_FORM.cpp(1090): E2288 Pointer to structure required on left side of -> or ->*
  Full parser context
    OAZIS_FORM.cpp(1077): parsing: void _fastcall TForm2::N1Click(TObject *)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33403 / 21513 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
03.10.2012, 15:53
Ну да, разумеется TMenu вместо TPopupMenu:
C++
1
TMenu *menu = static_cast<TMenuItem*>(Sender)->GetParentMenu();
, я просто проверял без доп. переменной, а добавил ее уже здесь, в редакторе, чтоб сразу таким выражением не шокировать
1
 Аватар для Mr.Sandman
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
03.10.2012, 16:11  [ТС]
UI, теперь все как часы. Большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2012, 16:11
Помогаю со студенческими работами здесь

CategoryButtons, идентификация категории
В событии cBButtonClicked появляется возможность узнать ID нажатой кнопки. Одна категория хорошо, две уже плохо. ИД кнопки из другой...

CategoryButtons ошибка добавления категории
// событие на кнопке Form2-&gt;cB-&gt;Categories-&gt;Add()-&gt;Caption = &quot;wtf?&quot;; Добавляю категорию, вылетает ошибка , после нажатия ОК категория...

Как программно выделить Button в CategoryButtons
Как программно выделить Button в CategoryButtons?

PopupMenu
На форме есть 2 компонента (CheckListBox-ы для конкретности). Функционально они одинаковы, просто относятся к разным спискам. Есть...

PopupMenu
При нажатии правой кнопки мыши на вкладке программы, на TaskBar - е, возникает стандартное меню. Как заменить стандартное меню своим. И как...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru