[Delphi] Примерно так (updated)01.09.04 09:39 Число просмотров: 1789 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 01.09.04 10:08 Количество правок: 5
> Подскажите плз, как деактивировать кнопочку закрытия формы > (это с крестиком которая), а лучше - вообще убрать? M$ считает, что окно с заголовком, но без кнопки закрытия — плохой тон ;-)
procedure TForm1.Button1Click(Sender: TObject);
Var anIcons: TBorderIcons;
begin
anIcons := BorderIcons;
Exclude(anIcons, biSystemMenu);
BorderIcons := anIcons;
end;
--- Это же свойство (BorderIcons) можно выправить в редакторе свойств формы, установив там biSystemMenu: False.
> Да, и чтобы комбинация Alt+F4 не работала желательно...) Способ 1: (техничный, хакерский) ;-)
Вешай свой обработчик на WM_SYSCOMMAND, и когда поймаешь сообшение с параметром SC_CLOSE, не пускай его дальше (системному обработчику), а просто выйди из процедуры.
Способ 2: (Дельфийский, ламерский) ;-)
Создаёшь обработчик события формы OnCloseQuery.
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := False;
end;
Подскажите плз, как деактивировать кнопочку закрытия формы (это с крестиком которая), а лучше - вообще убрать?
Да, и чтобы комбинация Alt+F4 не работала желательно...)
[Delphi] Примерно так (updated)01.09.04 09:39 Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 01.09.04 10:08 Количество правок: 5
> Подскажите плз, как деактивировать кнопочку закрытия формы > (это с крестиком которая), а лучше - вообще убрать? M$ считает, что окно с заголовком, но без кнопки закрытия — плохой тон ;-)
procedure TForm1.Button1Click(Sender: TObject);
Var anIcons: TBorderIcons;
begin
anIcons := BorderIcons;
Exclude(anIcons, biSystemMenu);
BorderIcons := anIcons;
end;
--- Это же свойство (BorderIcons) можно выправить в редакторе свойств формы, установив там biSystemMenu: False.
> Да, и чтобы комбинация Alt+F4 не работала желательно...) Способ 1: (техничный, хакерский) ;-)
Вешай свой обработчик на WM_SYSCOMMAND, и когда поймаешь сообшение с параметром SC_CLOSE, не пускай его дальше (системному обработчику), а просто выйди из процедуры.
Способ 2: (Дельфийский, ламерский) ;-)
Создаёшь обработчик события формы OnCloseQuery.
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := False;
end;