Форум: "Основная";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];
ВнизО закрытии приложения Найти похожие ветки
← →
VJar (2002-04-23 00:02) [0]Как запретить пользователю закрывать приложение,
а на попытку закрыть выдавать сообщение "Error"?
Как зделать кнопку (х), которая закрывает приложение
недоступной(видимой)???
← →
Atrem (2002-04-23 00:14) [1]1) В событии формы ONCloseQuey напиши
application.messagebox(" ","Error!",mb_ok);
canclose:=false;
2) faq
← →
ghost_by (2002-04-23 07:40) [2]Есть два варианта:
1. Сделать невидемой, но тогда и системное меню (левый верхний угол) будет невидно.
2. Задизаблить кнопку (х)
1. Решение - через CreateParams:
procedure TForm1.CreateParams(Params:CreateParams)
В результате получаем голый Caption.
begin
inherited CreateParams(Params);
Params.Style:=DS_SYSMODAL or DS_MODALFRAME or WS_POPUP or WS_CAPTION;
end
2. Решение - задизаблить кнопку (х):
Делает унопку серой(недоступной)
var SysMenu:HMenu;
begin
SysMenu:=GetSystemMenu(Handle,False);
EnableMenuItem(SysMenu,SC_CLOSE,MF_DISABLED or MF_GRAYED);
end;
Возвращает все назад.
var SysMenu:HMenu;
begin
SysMenu:=GetSystemMenu(Handle,False);
EnableMenuItem(SysMenu,SC_CLOSE,MF_ENABLED);
end;
← →
VJar (2002-04-23 15:54) [3]Во-первых не Params:CreateParams, а Params:TCreateParams
А во-вторых никакого эфекта я не заметил
← →
ghost_by (2002-04-24 07:34) [4]Во-первых не Params:CreateParams, а Params:TCreateParams - немного ошибся, потому что писал не на Delphi, а на Beulder`e. Извеняюсь.
А во-вторых никакого эфекта я не заметил - как это незаметил? Должен у формы оставаться голый Caption - только текст без всех кнопок и системного меню.
Ниже приведенный кусок кода работает на все 100%, я его только что проверил!
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm5 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
protected
procedure CreateParams(var Params:TCreateParams);override;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.DFM}
procedure TForm5.CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
Params.Style:=DS_SYSMODAL or DS_MODALFRAME or WS_POPUP or WS_CAPTION;
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
Close;
end;
end.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c