![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как не дать окну свернуться [D6, WinME]
?Feuerraeder © (2002-07-02 04:42:00)Как не допустить сворачивания окна, даже горячими клавами WINDOWS? Ловить SC_MINIMIZE? КаК?
слон (2002-07-03 14:06:00) [1]2Feuerraeder
>> слон, ты пробовал другими способами, оно вообще не
>> сворачивается?
Не сворачивается
>> есть ли другие способы?
Есть к примеру от Алмаза
Almaz (2002-07-03 01:09:00) [2]
> Feuerraeder © (02.07.02 16:05)
> наша тема зашла в тупик?
См. http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1025556086&n=2там есть мой ответ на твой вопрос.
Удачи.
ggrisha (2002-07-02 17:07:00) [3]Включи ActiveDesktop и вставь html-ку с кнопкой.
Feuerraeder (2002-07-02 16:05:00) [4]наша тема зашла в тупик?
Игорь Шевченко (2002-07-02 15:54:00) [5]Pat © (02.07.02 15:11)
> Так для пользователей и стараемся :-))
Бедные пользователи...Один для них супер-пупер MDI изобретает, другие кнопки на десктопе рисуют, третьи окна несворачиваемые делают...
"Ослик, ослик, что с тобой мичуринцы сделали..." (с)
Рекомендую всем любителям странного почитать статьи на сайте
http://www.usability.ru
Pat (2002-07-02 15:34:00) [6]>Feuerraeder © (02.07.02 15:27)
Так и мне надо :-))) Давно бы уж проверил...Окно не получает сообщения о сворачивании, т.е. не сворачивается :-\ Как раз в этом и проблема....
Feuerraeder (2002-07-02 15:27:00) [7]мне очень надо! а совет слона работает?
Pat (2002-07-02 15:11:00) [8]>В корзину надо отправлять программы с несворачиваемым окнами. >Хоть бы пользователей пожалели...
Так для пользователей и стараемся :-)) Идея прогаммы взята из аналога - DescButtons. Создается окно, содержащее одну кнопку, помещается вниз
SetWindowPos(Handle,HWND_BOTTOM,Left,Top,width,height, SWP_SHOWWINDOW)
Короче, "кнопка на рабочем столе". Вот и не хочется, чтобы кнопки "улетали" при Ctrl+D
Pat (2002-07-02 15:11:00) [9]>В корзину надо отправлять программы с несворачиваемым окнами. >Хоть бы пользователей пожалели...
Так для пользователей и стараемся :-)) Идея прогаммы взята из аналога - DescButtons. Создается окно, содержащее одну кнопку, помещается вниз
SetWindowPos(Handle,HWND_BOTTOM,Left,Top,width,height, SWP_SHOWWINDOW)
Короче, "кнопка на рабочем столе". Вот и не хочется, чтобы кнопки "улетали" при Win+D
Feuerraeder (2002-07-02 14:34:00) [10]Так будет сворачиваться окно по <Win>+D(или на таск баре нажать "Свернуть все") если поставить "заглушку" на SC_MINIMIZE???
Игорь Шевченко (2002-07-02 11:15:00) [11]В корзину надо отправлять программы с несворачиваемым окнами. Хоть бы пользователей пожалели...
Если надо вывести какое-то сообщение о супер-пупер критическом событии, то почему бы не воспользоваться функцией MessageBox с флажком MB_SYSTEMMODAL ?
Виктор Щербаков (2002-07-02 11:05:00) [12]Pat © (02.07.02 10:24)
В таком случае можно попробовать WinSight"ом посмотреть, какие сообщения сообщения кто получает. Только это очень нудное занятие :(
Pat (2002-07-02 10:24:00) [13]Я уже задавал подобный вопрос в Системе...
Как не дать окну свернуться при выполнении команды проводника "Свернуть все окна"? Минимизация окна при этом не происходит :-(
Есть маленькая идея..."Свернуть все окна" = "Показать DescTop", т.о. остается отловить показ рабочего стола...Как? :-(
Виктор Щербаков (2002-07-02 09:51:00) [14]При любом сворачивании в окно приходит 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.
Feuerraeder (2002-07-02 08:08:00) [15]слон, ты пробовал другими способами, оно вообще не сворачивается?
мне очень нужно чтобы окно вообще не сдвигалось и не дергалось, при любом виде сворачивании, понимаешь? есть ли другие способы?
слон (2002-07-02 07:25:00) [16]нет
Feuerraeder (2002-07-02 07:22:00) [17]А возможно такое окно свернуть по <Win>(кнопка Виндовс на клавиатуре)+D?????????????
слон (2002-07-02 06:37:00) [18]я делаю так
...
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.