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

Вниз

О закрытии приложения   Найти похожие ветки 

 
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)
begin
inherited CreateParams(Params);
Params.Style:=DS_SYSMODAL or DS_MODALFRAME or WS_POPUP or WS_CAPTION;
end
В результате получаем голый Caption.

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
3-17466
SQL monitor
2002-04-11 17:12
2002.05.06
Скажите, чем можно мониторить sql запросы в ado?


1-17624
Axenow
2002-04-21 12:41
2002.05.06
Помогите расположить текст вертикально.


1-17609
Ежик2
2002-04-21 19:22
2002.05.06
Чем отличаются Dephi Personal, Professional и Enterprise?


3-17469
Кирилл2
2002-04-11 18:58
2002.05.06
DBGrid+16 цветов = глюк


4-17725
amamed_3071
2002-03-01 08:43
2002.05.06
Помагите с Attach -ом