![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Общий 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]> Разместил его на главной форме
размести в базовой форме, и наследуй все остальные от нее.