Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
3 / 3 / 0
Регистрация: 24.08.2012
Сообщений: 57
1

Создание всплывающего меню для TShape

15.03.2013, 13:51. Показов 921. Ответов 3
Метки нет (Все метки)

Добрый день! На форме имеется компонент TShape, в его свойствах я не нашел пункта PopupMenu. Подскажите как сделать, чтобы по нажатии правой кнопкой мыши на фигуре появлялось всплывающее меню.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2013, 13:51
Ответы с готовыми решениями:

Создание всплывающего меню
Всем доброго времени суток. Вопрос такой - в проекте на Android Studio 2.1.3 пытаюсь создать...

Создание дополнительного всплывающего меню
Всем доброго времени суток. Имеется меню "Услуги" с такой иерархией: Услуги Парикмахерские...

css для всплывающего меню
Помогите сделать всплывающее меню. Вроде все написал, список отображается без написанного стиля....

доработка CSS для всплывающего меню
Народ нужна помощь в доработке меню. Есть СSS код который настроен на вывод меню 1 и 2 уровня,...

3
Почетный модератор
Эксперт С++
5843 / 2852 / 390
Регистрация: 01.11.2011
Сообщений: 6,903
15.03.2013, 14:47 2
Можно к примеру сочинить такой вот костыль:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Shape1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(Button==mbRight)
  Form1->PopupMenu = SpecialPopupMenuForShape;
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
Form1->PopupMenu = UsualPopapMenu;
}
Можно еще наверное попробовать как-то унаследовать это свойство от формы, но я хз...
0
Эксперт С++
8378 / 6114 / 613
Регистрация: 10.12.2010
Сообщений: 28,531
Записей в блоге: 30
15.03.2013, 14:50 3
Прикрути вручную...
C++
1
2
3
4
5
6
7
8
9
10
11
//---------------------------------------------------------------------------
void __fastcall TForm1::Shape1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
                    int X, int Y)
{
    if(Shift.Contains(ssRight) )
        {
            TPoint P= Shape1->ClientToScreen(TPoint(X,Y));
            PopupMenu1->Popup(P.x,P.y);
        }
}
//---------------------------------------------------------------------------
2
3 / 3 / 0
Регистрация: 24.08.2012
Сообщений: 57
15.03.2013, 14:54  [ТС] 4
Огромное спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2013, 14:54

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Динамическое создание TShape
Здравствуйте. Подскажите пожалуйста, как создать обработчик событий для созданного Shape. А точнее,...

Отображение всплывающего меню
Добрый вечер! Делаю сайт: RiotZone.info. Возникла проблема с размерами блоков всплывающего меню...

Блокировка всплывающего меню в TextBox
как блокировать всплывающее меню на TextBox ? спасибо.

Отключение всплывающего меню в MS Access
Можно ли как то при работе в режиме открытой формы Access отключить всплывающее меню и возможно...


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

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

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