Скрыть окно и убрать кнопку с панели задач

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Скрыть окно и убрать кнопку с панели задач

Сообщение Climber » 02.04.2009 00:38:22

Собственно как все это сделать, я нашел, осталась маленькое неудобство в решении...
Допустим, у нас есть пустая форма TForm1 и окно с соответствующим заголовком Form1. Чтобы скрыть окно, надо выполнить:
Код: Выделить всё
ShowWindow(Form1.Handle, SW_HIDE);
В Delphi этого было бы достаточно, но вот беда - в лазарусе окно прячется, а кнопка на панели остается. Почесав репу, я запустил другую свою программку (написанную ранее для совсем дургих целей). Она выдает список всех окон, их классов и файлов, из которых они запуцены, и handle окон. Тут я обнаружил, что моим projeсt1.exe (который был получен как результат компиляции той формы, что упоминалась выше) создано два окна класса Window с названиями Form1 и project1. Подставив полученные таким образом handle'ы в ShowWindow, я обнаружил, что кнопка на панели задач, видимо, и является тем вторым окном, потому что пропадает после выполнения ShowWindow...
Собственно вопрос: Как получить доступ к этому окну из Form1? А может, этому окну в owner можно еще и Form1 поставить?
В принципе, я сейчас могу и так все скрывать, просто хотелось бы избавиться от необходимости использования для этого EnumWindows...

P. S. В этой теме предлагается решение
Код: Выделить всё
ShowWindow(TWin32WidgetSet(WidgetSet).AppHandle, SW_HIDE);
Это то, о чем я спрашиваю?
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: Скрыть окно и убрать кнопку с панели задач

Сообщение Павел Ишенин » 02.04.2009 02:17:23

В lazarus 0.9.27 Form1.Visible := False скрывает и форму и кнопку на панели задач.

Кнопка на панели задач имеет Handle. В delphi это Application.Handle. В lazarus TWin32Widgetset(Widgetset).AppHandle.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37

Рейтинг@Mail.ru