Форум: "WinAPI";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
ВнизКак не дать окну свернуться Найти похожие ветки
← →
?Feuerraeder (2002-07-02 04:42) [0]Как не допустить сворачивания окна, даже горячими клавами WINDOWS? Ловить SC_MINIMIZE? КаК?
← →
слон (2002-07-02 06:37) [1]я делаю так
...
procedure Minim(Sender: TObject);
...
var
Form1: TForm1;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize := Minim;
end;
procedure TForm1.Minim(Sender: TObject);
begin
ShowWindow(Handle, SW_RESTORE);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Application.Minimize;
end;
...
end.
← →
Feuerraeder (2002-07-02 07:22) [2]А возможно такое окно свернуть по <Win>(кнопка Виндовс на клавиатуре)+D?????????????
← →
слон (2002-07-02 07:25) [3]нет
← →
Feuerraeder (2002-07-02 08:08) [4]слон, ты пробовал другими способами, оно вообще не сворачивается?
мне очень нужно чтобы окно вообще не сдвигалось и не дергалось, при любом виде сворачивании, понимаешь? есть ли другие способы?
← →
Виктор Щербаков (2002-07-02 09:51) [5]При любом сворачивании в окно приходит WM_SYSCOMMAND с параметром SC_MINIMIZE. Т.е. нужно написать обработчик этого сообщения, и, в случае если wParam = SC_MINIMIZE, не дать окну свернуться.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
if Message.CmdType <> SC_MINIMIZE then inherited;
end;
end.
← →
Pat (2002-07-02 10:24) [6]Я уже задавал подобный вопрос в Системе...
Как не дать окну свернуться при выполнении команды проводника "Свернуть все окна"? Минимизация окна при этом не происходит :-(
Есть маленькая идея..."Свернуть все окна" = "Показать DescTop", т.о. остается отловить показ рабочего стола...Как? :-(
← →
Виктор Щербаков (2002-07-02 11:05) [7]Pat © (02.07.02 10:24)
В таком случае можно попробовать WinSight"ом посмотреть, какие сообщения сообщения кто получает. Только это очень нудное занятие :(
← →
Игорь Шевченко (2002-07-02 11:15) [8]В корзину надо отправлять программы с несворачиваемым окнами. Хоть бы пользователей пожалели...
Если надо вывести какое-то сообщение о супер-пупер критическом событии, то почему бы не воспользоваться функцией MessageBox с флажком MB_SYSTEMMODAL ?
← →
Feuerraeder (2002-07-02 14:34) [9]Так будет сворачиваться окно по <Win>+D(или на таск баре нажать "Свернуть все") если поставить "заглушку" на SC_MINIMIZE???
← →
Pat (2002-07-02 15:11) [10]>В корзину надо отправлять программы с несворачиваемым окнами. >Хоть бы пользователей пожалели...
Так для пользователей и стараемся :-)) Идея прогаммы взята из аналога - DescButtons. Создается окно, содержащее одну кнопку, помещается вниз
SetWindowPos(Handle,HWND_BOTTOM,Left,Top,width,height, SWP_SHOWWINDOW)
Короче, "кнопка на рабочем столе". Вот и не хочется, чтобы кнопки "улетали" при Ctrl+D
← →
Pat (2002-07-02 15:11) [11]>В корзину надо отправлять программы с несворачиваемым окнами. >Хоть бы пользователей пожалели...
Так для пользователей и стараемся :-)) Идея прогаммы взята из аналога - DescButtons. Создается окно, содержащее одну кнопку, помещается вниз
SetWindowPos(Handle,HWND_BOTTOM,Left,Top,width,height, SWP_SHOWWINDOW)
Короче, "кнопка на рабочем столе". Вот и не хочется, чтобы кнопки "улетали" при Win+D
← →
Feuerraeder (2002-07-02 15:27) [12]мне очень надо! а совет слона работает?
← →
Pat (2002-07-02 15:34) [13]>Feuerraeder © (02.07.02 15:27)
Так и мне надо :-))) Давно бы уж проверил...Окно не получает сообщения о сворачивании, т.е. не сворачивается :-\ Как раз в этом и проблема....
← →
Игорь Шевченко (2002-07-02 15:54) [14]Pat © (02.07.02 15:11)
> Так для пользователей и стараемся :-))
Бедные пользователи...Один для них супер-пупер MDI изобретает, другие кнопки на десктопе рисуют, третьи окна несворачиваемые делают...
"Ослик, ослик, что с тобой мичуринцы сделали..." (с)
Рекомендую всем любителям странного почитать статьи на сайте
http://www.usability.ru
← →
Feuerraeder (2002-07-02 16:05) [15]наша тема зашла в тупик?
← →
ggrisha (2002-07-02 17:07) [16]Включи ActiveDesktop и вставь html-ку с кнопкой.
← →
Almaz (2002-07-03 01:09) [17]
> Feuerraeder © (02.07.02 16:05)
> наша тема зашла в тупик?
См. http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1025556086&n=2 там есть мой ответ на твой вопрос.
Удачи.
← →
слон (2002-07-03 14:06) [18]2Feuerraeder
>> слон, ты пробовал другими способами, оно вообще не
>> сворачивается?
Не сворачивается
>> есть ли другие способы?
Есть к примеру от Алмаза
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c