Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.12;
Скачать: CL | DM;

Вниз

Свернуть все окна   Найти похожие ветки 

 
Pat ©   (2002-07-02 00:41) [0]

Как сделать, чтобы окно не реагировала на команду "Свернуть все окна"? Например, как ICQ Status "Floating" или FlashGet


 
Юрий Зотов ©   (2002-07-02 01:01) [1]

Например, написать обработчик WM_SYSCOMMAND, а в нем блокировать стандартную обработку SC_MINIMIZE.


 
Pat ©   (2002-07-02 01:18) [2]

К сожалению, это не работает...пробовал :-((
Так же для эксперимента использовал ApplicationEvents:

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
caption:="sdfasdf"
end;

Реакции никакой :-((


 
NDeu ©   (2002-07-02 10:51) [3]

Мне кажетс, при команду "Свернуть все окна" не идет MINIMIZE, а Desktop перерисует себе наверх всех окна


 
Игорь Шевченко ©   (2002-07-02 13:23) [4]

NDeu © (02.07.02 10:51)

Когда кажется, лучше, конечно, перекреститься, но всем нужным окнам посылается сообщение WM_SYSCOMMAND с параметром SC_MINIMIZE


 
Pat ©   (2002-07-02 15:17) [5]

>но всем нужным окнам посылается сообщение WM_SYSCOMMAND с
>параметром SC_MINIMIZE
В таком случае, Аська, FlashGet, AtGuard используют "ненужные" окна?


 
Игорь Шевченко ©   (2002-07-02 17:45) [6]

Pat © (02.07.02 15:17)

Аська использует с точки зрения Shell"a "ненужное" окно. Сообщение посылается тем окнам, чьи кнопки находятся в taskbar"е. Аськи там нет, она и не сворачивается. Про остальные программы сказать не могу - не видел.


 
Wizard_Ex ©   (2002-07-02 18:17) [7]

to Игорь Шевченко © (02.07.02 17:45)

А почему тогда панель Microsoft Office сворачивается, ее кнопки в таскбаре тоже нет


 
Almaz ©   (2002-07-03 00:37) [8]


> Игорь Шевченко © (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;


Удачи.


 
Pat ©   (2002-07-03 01:03) [9]

>Almaz © (03.07.02 00:37)
Бо-о-о-о-ольшое спасибо!!!! :-))



Страницы: 1 вся ветка

Текущий архив: 2002.09.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
8-35826
Fredericco
2002-04-04 17:35
2002.09.12
Простите за, наверное, глупый вопрос.


14-35878
Юрий Зотов
2002-08-18 15:43
2002.09.12
Информация - новый пример в кладовке.


3-35572
duce
2002-08-18 12:57
2002.09.12
Про ADO в стратегическом видении...Насколько просто?


3-35533
battar
2002-07-26 11:20
2002.09.12
Как сделать сортировку в Quantum Grid


1-35726
Serega_spb
2002-09-02 10:07
2002.09.12
Как сделать чтобы один exe-шник мог создавать другой exe