Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
4-35951
MJH
2002-07-19 19:24
2002.09.12
Хинты Win2k из трея


1-35816
d6
2002-08-31 20:57
2002.09.12
StayOnTop


1-35800
BAHO
2002-08-31 19:00
2002.09.12
Real


1-35809
Alexander
2002-09-01 04:34
2002.09.12
Как обеспечить совместимость с разными Windows?


14-35852
Vahmurka
2002-08-16 11:32
2002.09.12
Знаетее, что меня больше всего бесит?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский