![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Свернуть все окна
Pat © (2002-07-02 00:41:00)Как сделать, чтобы окно не реагировала на команду "Свернуть все окна"? Например, как ICQ Status "Floating" или FlashGet
Pat (2002-07-03 01:03:00) [1]>Almaz © (03.07.02 00:37)
Бо-о-о-о-ольшое спасибо!!!! :-))
Almaz (2002-07-03 00:37:00) [2]
> Игорь Шевченко © (02.07.02 13:23)
>
> Когда кажется, лучше, конечно, перекреститься, но всем нужным
> окнам посылается сообщение WM_SYSCOMMAND с параметром SC_MINIMIZE
Команда "свернуть все окна" на самом деле не сворачиваетокна - она их просто скрывает. Это дает ей возможность фактически скрыть любые окна, в т.ч. даже модальные диалоговые окна.
> Pat © (02.07.02 00:41)
> Как сделать, чтобы окно не реагировала на команду "Свернуть
> все окна"? Например, как ICQ Status "Floating" или FlashGet
Вот так:
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure WMWinPosChanging(var Message: TWMWINDOWPOSCHANGING); message WM_WINDOWPOSCHANGING;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMWinPosChanging(var Message: TWMWINDOWPOSCHANGING);
begin
Message.WindowPos^.flags := Message.WindowPos^.flags and not SWP_HIDEWINDOW;
inherited;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FormStyle := fsStayOnTop;
end;
Удачи.
Wizard_Ex (2002-07-02 18:17:00) [3]to Игорь Шевченко © (02.07.02 17:45)
А почему тогда панель Microsoft Office сворачивается, ее кнопки в таскбаре тоже нет
Игорь Шевченко (2002-07-02 17:45:00) [4]Pat © (02.07.02 15:17)
Аська использует с точки зрения Shell"a "ненужное" окно. Сообщение посылается тем окнам, чьи кнопки находятся в taskbar"е. Аськи там нет, она и не сворачивается. Про остальные программы сказать не могу - не видел.
Pat (2002-07-02 15:17:00) [5]>но всем нужным окнам посылается сообщение WM_SYSCOMMAND с
>параметром SC_MINIMIZE
В таком случае, Аська, FlashGet, AtGuard используют "ненужные" окна?
Игорь Шевченко (2002-07-02 13:23:00) [6]NDeu © (02.07.02 10:51)
Когда кажется, лучше, конечно, перекреститься, но всем нужным окнам посылается сообщение WM_SYSCOMMAND с параметром SC_MINIMIZE
NDeu (2002-07-02 10:51:00) [7]Мне кажетс, при команду "Свернуть все окна" не идет MINIMIZE, а Desktop перерисует себе наверх всех окна
Pat (2002-07-02 01:18:00) [8]К сожалению, это не работает...пробовал :-((
Так же для эксперимента использовал ApplicationEvents:
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
caption:="sdfasdf"
end;
Реакции никакой :-((
Юрий Зотов (2002-07-02 01:01:00) [9]Например, написать обработчик WM_SYSCOMMAND, а в нем блокировать стандартную обработку SC_MINIMIZE.