Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Общий TPopupMenu для всех DBGridEh в приложении [D7, XP]


Max Zyuzin ©   (2010-09-20 12:40:00) 

Приветствую.
Помогите пожалуйста разобраться. Хочу сделать общий PopupMenu для всех компонент DBGridEh в программе.
Разместил его на главной форме
Взял пример из EhLib обработчик события по нажатие на меню (выбрать все)
if (ActiveControl is TDBGridEh) then
 with TDBGridEh(ActiveControl) do
   if CheckSelectAllAction and (geaSelectAllEh in EditActions) then
     Selection.SelectAll;

Так вот ActiveControl в главной форме - nil. как мне обратится именно к DBGridEh который вызывал срабатывание события?


Max Zyuzin   (2010-09-20 14:18:00) [1]

>Ega23 ©   (20.09.10 13:03) [2]
У меня так примерно и сделано, только в попап добавлен на главную форму она MDI по этому есть всегда.
Переделал вот так примерно
 if (GridPopupMenu.PopupComponent is TDBGridEh) then
   with TDBGridEh(GridPopupMenu.PopupComponent) do
     if CheckSelectAllAction and (geaSelectAllEh in EditActions) then
       Selection.SelectAll;

Заработало. Спасибо.


Ega23   (2010-09-20 13:03:00) [2]


> Хочу сделать общий PopupMenu для всех компонент DBGridEh
> в программе.


Я бы в DataModule разместил, а всем гридам в дизайн-тайм прописывал.
Ну и PopupComponent использовать.


sniknik   (2010-09-20 12:47:00) [3]

> Разместил его на главной форме
размести в базовой форме, и наследуй все остальные от нее.


Наверх

Титульная страница Поиск, карта сайта Написать письмо