PDA

Ver la Versión Completa : ¿Es posible manejar un click en un MessageDlg?


Nelly
17-01-2006, 19:28:49
Hola A Todos

Tengo Una Duda, Lo Que Pasa Estoy Utilizando Una Ventana Diseñada En Delphi 7 Y En Ella Registro A Varias Personas Pero Para Que El Registro Sea Mas Rapido Se Hace Con Un Lector Optico La Cuestion Es Que A Veces Es Tan Rapida Las Leidas Que No Me Doy Cuenta Cual No Lei, El Caso Es Que Pretendo Poner Un Mensaje Cada Vez Que Lea Un Nombre Aparezca El Mensaje Y Diga Que Se Guarde La Informacion, Pero Esto No Lo Respeta Por Ejemplo El Lector Ya Que Cada Vez Que Pasa El Lector Es Un Enter Y Al Momento Del Registro Aparece El Mensaje Y Cuando Paso El Lector Da Un Enter Y Se Quita El Mensaje Y Lo Que Quiero Es Que Le Tenga Que Dar Un Click O Precionar Otra Tecla Que No Sea Enter.
Espero Me Haya Dado A Entender. Gracias

jachguate
17-01-2006, 20:11:02
Hola.

No Entiendo Por Que El Estilo Para Escribir Todo Con La Inicial En Mayúscula :eek:

Sobre la pregunta, pues no uses el MessageDlg, haz tu propio formulario que no se cierre con un enter, sino con una pulsación específica del usuario.

Hasta luego.

;)

roman
17-01-2006, 20:21:48
Espero Me Haya Dado A Entender. Gracias

Pues para darte a entender mejor convendría que escribieras sin capitalizar cada palabra y agregando unos cuantos puntos y comas.

// Saludos

Nelly
17-01-2006, 21:06:02
Lo siento.... tienen razón ambos en la observación. Aqui voy de nuevo, lo único que quiero saber es, ¿puedo manipular el Messagedlg a base de un click?. Ya saben que los mensajes que arroja delphi, se acepta o cancela con un enter, y lo que NO quiero es precisamente ese evento del enter, para mi opinión es mas seguro que hasta que pulsen el boton con un click guarde o rechace una aplicación.

Espero que ahora si me haya dado a entender.

saludos y gracias.

Pues para darte a entender mejor convendría que escribieras sin capitalizar cada palabra y agregando unos cuantos puntos y comas.

// Saludos

roman
17-01-2006, 21:12:26
Pues haz como dice Juan Antonio. Al final pasarás menos dolores de cabeza que tratando de controlar un objeto que no pertenece a la VCL de Delphi.

// Saludos

delphi.com.ar
17-01-2006, 21:27:46
...un objeto que no pertenece a la VCL de Delphi...
Peculiarmente MessageDlg si pertenece a la VCL, internamente no hace mas que crear un TForm con el formato específico :D
Lo que no quita que sea mucho mas complejo alterar su comportamiento que seguir la sugerencia de jatchguate.

Lo siento.... tienen razón ambos en la observación. Aqui voy de nuevo, lo único que quiero saber es, ¿puedo manipular el Messagedlg a base de un click?. Ya saben que los mensajes que arroja delphi, se acepta o cancela con un enter, y lo que NO quiero es precisamente ese evento del enter, para mi opinión es mas seguro que hasta que pulsen el boton con un click guarde o rechace una aplicación.
Odiaría como usuario tener un mensaje que dependa del ratón. Me parece que a lo sumo tendría que existir alguna tecla, no habitual, para cerrar el diálogo.

Saludos!

roman
17-01-2006, 21:50:39
Peculiarmente MessageDlg si pertenece a la VCL, internamente no hace mas que crear un TForm con el formato específico


Llevas razón,


Lo que no quita que sea mucho mas complejo alterar su comportamiento


Todo lo contrario, es mucho más fácil:


var
Form: TForm;
Button: TButton;

begin
Form := CreateMessageDialog('¿Sí o no?', mtWarning, [mbYes, mbNo]);

Button := TButton.Create(Form);
Button.Parent := Form;
Button.Default := true;
Button.Top := Form.Height;
Form.ActiveControl := Button;

with Form do
begin
try
ShowModal;
finally
Free;
end;
end;


:D :p

EDITO:

Niños, estas cosas no las hagan en casa ¿eeeeh?

// Saludos

jachguate
19-01-2006, 06:37:05
esta si que no me la sabía!!!!

Muy buena roman!