![]() |
¿Cómo cancelar OnShow?
En mi aplicación, llamo a un Form, en el OnShow tengo un MesageDlg con un 'Case' varias opciones, entre ellas 'Cancelar'.
El 'Form' es el mismo para cada una de las opciones, su función será en base al valor que le doy a una variable en las distintas opciones. Lo llamo: Código:
Application.CreateForm(TfDomingo_T, fDomingo_T); Código:
Donde := MessageDlgPosI(' ¿Cena, Mensaje, Presidir u Otro? ',mtInformation,[mbIgnore, ¿Qué debo hacer para que el form no se muestre cuando pulso 'Cancelar'? ¿Es posible? Gracias de antemano. Un saludo. Tonio. |
En lugar de programar todo esto en el "OnShow", es más recomendable (en este caso) crear un proceso tuyo, y desde ahí realizar las comprobaciones.
Que ganamos haciendo esto? Pues que si no queremos mostrar el formulario, no llamamos el "show" y ya tenemos el cancelar hecho. Así pues, la cosa quedaría algo parecida a esto: Lo llamas:
y definir el procedure "mostrarFormulario":
Saludos. |
Se me olvidaba, para capturar el resultado del mensaje, puedes compararlo con las constantes (más claras) correspondientes:
En tu caso:
Saludos. |
¿Cómo cancelar OnShow?
Gracias xEsk, no lo he probado, pero, por lógica debe funcionar, ya te contaré.
El emplear las constantes de esa forma, es por una causa, he encontrado un fichero .pas, con el que se puede hacer que en los 'MessagesDlg' la opción vaya en castellano y los títulos que desees, en un fichero .txt se definen y puedes tener las que quieras, si te fijas, el que he puesto tiene la opción de situarlo en la pantalla donde quieras y 'ltSpanish2' dice que coja esa opción del citado fichero .txt, vamos que los nombre en inglés los sustituyo por otros en castellano, pero en el programa debo poner el nombre en inglés. No se si será mucho rollo, si es así perdona. Gracias nuevamente, también por la rapidez. Un saludo. Tonio. |
¿Cómo cancelar OnShow?
Lo he probado. Va de cine.
Lo que no se es si es aquí donde lo debo agradecer y decir que funciona. Si no es la forma, que alguien me lo diga. Gracias. Tonio. |
Cita:
Pues aunque no me concierne, pero también lo podrías agradecer pagando unos vinos por la "La Senda de los Elefantes", o para no complicar el asunto, en la taberna del club. [/OFFTOPIC] |
¿Cómo cancelar OnShow?
ArdiIIa, la taberna del Club, no se donde está, pero la calle del Laurel, pués sí, así que la cosa es fácil, si coincidimos en esta estupenda ciudad, nos podemos tomar unos vinos, incluído xEsk, cómo es lógico.
Gracias por tu aportación. Un saludo. Tonio. |
La franja horaria es GMT +2. Ahora son las 00:28:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi