Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > ShowWindow(Application.Handle, SW_HIDE)


Автор: Ak47black 12.11.2007, 18:44
Здравствуйте.
Подскажите пожалуйста что у меня нетак с кодом.
Я хочу сделать чтобы при минимизации внизу на той полоске где кнопка Start убирался прямоугольник моей программы, тоесть я сворачиваю программу в Tray.
Вот такой код у меня вышел 
Код

  protected
    procedure MinimazeMessage(var Msg: TMessage); message WM_SYSCOMMAND;
...
procedure TForm.MinimazeMessage(var Msg: TMessage);
begin
  if Msg.WParam = SC_MINIMIZE then
    ShowWindow(Application.Handle, SW_HIDE);
  inherited;
end;

При минимизации прямоугольник вначале скрывается, а потом опять появляется.
Как тут правильно сделать? В чем-же ошибка?  smile 

Автор: Alexeis 12.11.2007, 18:55
Хм.. у меня все стабильно работает. 
Код

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  ShowWindow(Application.Handle, SW_HIDE);
end;


Добавлено через 3 минуты и 11 секунд
В 2007 не работает, но работает так
Код

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  Application.MainFormOnTaskbar := False;
  ShowWindow(Application.Handle, SW_HIDE);
end;

Автор: Ak47black 12.11.2007, 19:46
Ага как нестранно но работает.
Странно то что по SC_MINIMIZE неработает.
Спасибо что подсказал +.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)