C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

стр.: (2) < 1 [2] >
узнать имя компонента для которого, вызвано всплывающее меню
gvg
Отправлено: 07.01.2006, 23:34


Машинист паровоза

Группа: Участник
Сообщений: 222



Пардон, опять потропился. Бывает, праздники... В C (и C++) в case используются только константы (в отличие от Паскаля). При компиляции невозможно определить значение, которое определяется только в процессе работы программы. Ваше решение (глобальная переменная) будет работать, но это не очень согласуется с принципами ООП. Если вам не нужно знать значение указателя на компонент, на котором вызывалось меню, тогда можно присваивать тэгу какие либо целые значения. Например:
enum { tagPanel1, tagMemo1 };
и в case использовать их, а уже в зависимости от значения case определять компонент.
kea
Отправлено: 08.01.2006, 01:43


Станционный диспетчер

Группа: Участник
Сообщений: 80



QUOTE (gvg @ 07/01/2006, 23:34)
Пардон, опять потропился. Бывает, праздники... В C Ваше решение (глобальная переменная) будет работать, но это не очень согласуется с принципами ООП.

Здравствуйте! Согласен с вами насчет глобальных переменных. Стараюсь их использовать в крайнем случае. Ваш вариант с enum предпочтительнее.
стр.: (2) < 1 [2] >
Вернуться в Вопросы программирования в C++Builder