Hola
Deiv
Cita:
Empezado por Deiv
¿Y cómo desactivo esa opción? o necesariamente debo quedarme con esa opción de "evento default", o necesariamente debo darle otro evento? para que me deje de funcionar como lo ha hecho hasta el momento?
|
Los botones tienen la propiedad
ModalResult que devuelven la respuesta de la ventana modal. Para evitar que interactúen con la ventana pon dicha propiedad a
mrNone y luego en el evento
OnClick del botón la modificas según tus necesidades.
Por ejemplo:
Un form
Form1 que abre una ventana modal mediante un botón
Button_CREAR_VENTANA
Código Delphi
[-]
procedure TForm1.BitBtn_CREAR_VENTANA_OnClick(Sender: TObject);
var
Respuesta : TModalResult; begin
Application.CreateForm(TForm2, Form2);
with Form2 do begin
Respuesta := ShowModal;
Free;
end;
if( Respuesta=mrOk ) then begin
end else begin
end;
end;
La ventana modal tiene dos botones:
Button_ACEPTAR que devuelve
mrOk o
mrYes para aceptar
Button_CANCELAR que devuelve
mrCancel para cancelar las entradas
En el evento
OnCreate de la ventana modal, modificamos las salidas de los botones:
Código Delphi
[-]
procedure TForm2.Form2_OnCreate(Sender: TObject);
begin
Button_CANCELAR.ModalResult := mrNone;
Button_ACEPTAR.ModalResult := mrNone;
end;
El evento del botón para cancelar la salida (al pulsar la tecla "ESC")
Código Delphi
[-]
procedure TForm2.Form2_Button_CANCELAR_OnClik(Sender: TObject);
begin
ModalResult := mrCancel;
end;
El evento del botón para validar la salida
Código Delphi
[-]
procedure TForm2.Form2_Button_ACEPTAR_OnClik(Sender: TObject);
begin
ModalResult := mrOk;
end;
Saludos
Salvica