Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2010, 23:00   #11
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
если не ошибаюсь то событие OnExit формы
Да, да, да! OnExit - генерируется при потере фокуса на ввод, а OnEnter соответственно на получение фокуса.
psycho-coder вне форума Ответить с цитированием
Старый 19.06.2010, 00:07   #12
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Как воспользоваться OnExit а данном случае?
Shouldercannon вне форума Ответить с цитированием
Старый 19.06.2010, 00:12   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

hide наверно надо, раз как в квипе смайлы

Цитата:
Application.OnIdle
проц обычно грузит ппц как
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.06.2010, 01:11   #14
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

Не знам как OnExit в данном случае имелось ввиду. Во что я решил:
1) использовать Application.OnDeactivate - возникает при переключении на другое приложение Windows (допустим, щелчок по рабочему столу)

2) для Form2 использовать простое OnDeactivate


Unit1:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    procedure HideMyForm(Sender: TObject);

    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Show;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnDeactivate := HideMyForm;
end;

procedure TForm1.HideMyForm(Sender: TObject);
begin
  if Form2.Showing then
    Form2.Hide;

end;

end.
Unit2:
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    procedure FormDeactivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}



procedure TForm2.FormDeactivate(Sender: TObject);
begin
  Form2.Hide;
end;

end.
Думаю это более рациональное решение, чем предоставленное мною в прошлый раз. И еще тут как и в qip Form2 исчезает сразу при OnMouseDown на Form1, а не при OnMouseUp, как в прошлом решении ))))
Изо всей благодати
В руках крепко сжатых
Я донесу только капли

Последний раз редактировалось Roof; 19.06.2010 в 02:19.
Roof вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как открыть главную форму с нективным окном recod Win Api 2 22.04.2010 21:39
Как лучше узнавать, что мышь находится над окном (или частью окна)? Css Win Api 7 14.02.2010 05:45
Как узнать, перекрывается ли моё окно другим окном? Altera Win Api 10 12.12.2009 19:20
Макрос с диалоговым окном. Возможно такое? Zhiltsov Microsoft Office Excel 9 09.06.2009 14:24