Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Es posible manejar un click en un MessageDlg? (https://www.clubdelphi.com/foros/showthread.php?t=29265)

Nelly 17-01-2006 19:28:49

¿Es posible manejar un click en un MessageDlg?
 
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

Cita:

Empezado por Nelly
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.

Cita:

Empezado por roman
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

Cita:

Empezado por roman
...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.

Cita:

Empezado por Nelly
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

Cita:

Empezado por delphi.com.ar
Peculiarmente MessageDlg si pertenece a la VCL, internamente no hace mas que crear un TForm con el formato específico

Llevas razón,

Cita:

Empezado por delphi.com.ar
Lo que no quita que sea mucho mas complejo alterar su comportamiento

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

Código Delphi [-]
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!


La franja horaria es GMT +2. Ahora son las 14:53:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi