скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как выполнять дейтвия после исчезновения контекстного меню



Автор: i-s-v

Допустим, у вас на форме расположено контекстное меню PopupMenu1.. Выполнять действия сразу перед появлением меню просто, достаточно дописать код в обработчике события OnPopup этого меню. А как выполнять действия сразу после исчезновения меню? Вот... Используйте вместо TPopupMenu и обрабатывайте событие OnHide... unit MyExtPopupMenu;


(*
  Обычное попап-меню, в котором добавлена возможность обработки события
  при исчезновении менюшки...
  Created by i-s-v (2004)
  Visit my web-site http: //isv.iatp.org.ua

  Kirovograg, Ukraine
*)


interface

uses
  SysUtils, Classes, Menus;

type
  TMyExtPopupMenu = class(TPopupMenu)
  private
    FOnHide: TNotifyEvent;
  public
    procedure Popup(X, Y: Integer); override;
  protected
    procedure DoHide(Sender: TObject); virtual;
  published
    property OnHide: TNotifyEvent read FOnHide write FOnHide;
  end;

procedure Register;

implementation

procedure TMyExtPopupMenu.DoHide(Sender: TObject);
begin
  if Assigned(FOnHide) then
    FOnHide(Sender);
end;

procedure TMyExtPopupMenu.Popup(X, Y: Integer);
begin
  inherited Popup(x, y);
  DoHide(Self);
end;

procedure Register;
begin
  RegisterComponents('Samples', [TMyExtPopupMenu]);
end;

end.





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook