FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿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); fDomingo_T.show; Código:
Donde := MessageDlgPosI(' ¿Cena, Mensaje, Presidir u Otro? ',mtInformation,[mbIgnore, mbRetry, mbAll, mbNoToAll, mbYesToAll],0,360,319,ltSpanish2); case Donde of 8: begin // 8: Es Presidir EsP := True ; end; 4: begin // 4: Es Cena EsC := True; end; 5: begin // Es Mensaje EsM := True; end; 9: begin // Es otro EsO := True; end; 10: begin // Es Cancelar EsCerrar := True; end; end; // case // He ententado con esto, en la opción 'Cancelar' hacer 'EsCerrar = True' y... if EsCerrar then begin EsCerrar := False; Close; // Pero me da un mensaje de error: // 'Cannot change Visible in OnShowor OnHide' ¿Qué debo hacer para que el form no se muestre cuando pulso 'Cancelar'? ¿Es posible? Gracias de antemano. Un saludo. Tonio. |
#2
|
||||
|
||||
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. |
#4
|
|||
|
|||
¿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. |
#5
|
|||
|
|||
¿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. |
#6
|
||||
|
||||
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]
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Thread OnShow | walito | Varios | 4 | 17-10-2007 00:36:24 |
Como cancelar una transaccion? Active Transaction = 0??? | JuanErasmo | Firebird e Interbase | 5 | 07-08-2007 21:40:46 |
¿Cómo puedo cancelar un ciclo? | Leviatan | Varios | 3 | 04-09-2006 15:40:41 |
Cómo cerrar una forma en el OnShow Event? | pepix | Varios | 2 | 08-07-2004 17:09:37 |
Evento de formulario posterior a onshow | apicito | OOP | 12 | 18-06-2004 10:58:20 |
|