Форум: "WinAPI";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
ВнизЗапрет 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c