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

Вниз

Запрет Minimize конкретной формы   Найти похожие ветки 

 
jobo   (2005-04-12 03:28) [0]

Есть несколько одновременно видимых форм, нужно что бы при вызове Application.Minimize не сворачиваласть одна форма, например Form2


 
alpet ©   (2005-04-12 12:19) [1]

Установи их свойство hwndParent в GetDesktopWindow например.


 
CHES ©   (2005-04-12 15:30) [2]


...
type
 TForm1 = class(TForm)
 private
   { Private declarations }
 procedure WmSysCommand (var Msg: TMessage); message WM_SYSCOMMAND;
 public
   { Public declarations }
 end;
...

implementation
....

procedure TForm1.WmSysCommand(var Msg: TMessage);
begin
 if Msg.WParam = SC_MINIMIZE then exit
   else inherited;
end;


 
CHES ©   (2005-04-12 15:33) [3]

Сорри, невнимательно прочитал вопрос


 
jobo ©   (2005-04-12 16:35) [4]

2alpet: вариант не подходит т.к. форма должна быть поверх всех (TopMost)

2CHES:
такой вариант я первый попробовал, но при нажатии на таск баре или вызове Application.Mininize все равно сворачивается.


 
alpet ©   (2005-04-12 17:03) [5]

Вот так разве не работает:

procedure TForm1.FormClick(Sender: TObject);
begin
ParentWindow := GetDesktopWindow;
FormStyle := fsStayOnTop;
end;


 
CHES ©   (2005-04-13 09:19) [6]

Кстати вот что в хелпе написано по поводу Application.Minimize

Note: Don"t confuse the Minimize method, which minimizes an entire application, with minimizing a form or window. To minimize, maximize, or restore a window or form, change the value of its WindowState property.

Скорее всего придется отказаться от Application.Minimize


 
jobo ©   (2005-04-13 18:06) [7]

2alpet:
при твоем варианте вылазят некоторые неприятные бока, но думаю с ними уже можно бороться. спасибо.

2CHES:
дело не в Application.Minimize, при нажатии на кнопку на таскбаре происходмт тоже самое. А от нажатия на таскбаре отказаться низзя.


 
jobo ©   (2005-04-16 08:54) [8]

пишу
ParentWindow := GetDesktopWindow;
FormStyle := fsStayOnTop;
и на таск баре появляется кнопка формы, как от нее избавиться не скрывая ока?


 
Gero ©   (2005-04-16 08:59) [9]


> procedure TForm1.WmSysCommand(var Msg: TMessage);
> begin
>  if Msg.WParam = SC_MINIMIZE then exit
>    else inherited;
> end;

Корректнее будет так:

procedure TForm1.WmSysCommand(var Msg: TWMSysCommand);
begin
if Msg.CmdType and $FFF0 <> SC_MINIMIZE then inherited;
end;


 
jobo ©   (2005-04-16 16:27) [10]

проверка на SC_MINIMIZE не подходит, читайте выше. Скажите как избавиться от кнопки на таск баре?


 
jobo ©   (2005-04-18 03:27) [11]

млин, неужто никто не скажет?



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

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

Наверх




Память: 0.49 MB
Время: 0.039 c
1-1116498890
MegaVolt
2005-05-19 14:34
2005.06.06
Перетаскивание с моей проги в чужое приложение.


6-1107518050
JaoDa
2005-02-04 14:54
2005.06.06
Сниффер


9-1110349712
Trof
2005-03-09 09:28
2005.06.06
Интеллект


14-1116315976
Alexander Panov
2005-05-17 11:46
2005.06.06
Раз и навсегда избавиться от вопроса STR-->PCHAR.


14-1115848828
NikNet
2005-05-12 02:00
2005.06.06
Вот я смогу написать драйвер на DELPHI а как FireWALL?