Главная страница
    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.006 c
1-35665
Begin
2002-09-02 03:41
2002.09.12
Теоретический вопрос... Ну не хватает мне теоретических знаний :)


3-35594
megadeth
2002-08-22 13:32
2002.09.12
вопрос по TTable, изменение текущей записи


3-35575
AndbyOne
2002-08-22 10:19
2002.09.12
SQL запросик


3-35606
Pavel_S
2002-08-22 14:09
2002.09.12
Помогите с запросом SQL interbase


1-35733
АлексейТр
2002-08-30 13:14
2002.09.12
InstallShield - подскажите где найти русское руководство?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский