No cerrar formulario principal


([N1] leonardo daniel velazquez fuentes) #1

Hola existe alguna forma de bloquear la “X” de cierre del formulario principal…??



([N1] levip) #2

Hola,

No hay forma de hacer eso, hasta el momento es una de varias cosas que le hace falta a velneo y la lista sigue

saludos


([N1] Anacreonte) #3

Hola Leonardo. En el Autoexec deberás de hacer lo siguiente:

  • Crea un manejador de evento de JavaScript con lo siguiente:

theMainWindow.showMaximized();
theMainWindow.customizeWindowHint(0x01|0x02|0x04|0x08);

  • Crea una conexión de evento con la señal Pre-Inicialización que apunte al manejador de evento que se ha creado antes y el botón cerrar quedará inactivo.

([N3] pacosatu) #4

Hola leonardo daniel velazquez fuentes.

Échale un vistazo a la base de conocimiento:

Saludos
Paco Satué


([N1] leonardo daniel velazquez fuentes) #5

Hola, tal vez me explique mal…

A mi entender el formulario principal es el que tengo con el Calendario Azteca y el Login, ese formulario esta asignado al AUTOEXEC como formulario principal, esa es la ventana que no quiero que me cierren… porque si la cierran antes del login, ya no hay forma de mostrarla y queda solo el marco de la aplicacion…



([N4] Infortic) #6

Buenas tardes.

Prueba en el oninit del autoexec comando Interfaz: Establecer hoja de estilo CSS

y en la formula pones lo siguiente:

"

/* - - - - - - - - - - - - - - - - BARRA DE SEPARADOR DE PESTAÑAS- - - - - - - - - - - - - - - - - - - - - */

QTabBar::close-button {
image:none;
subcontrol-position: top right;
subcontrol-origin: margin;
position: absolute;
top: 0px; left: 0px; bottom: 0px;
width: 0px;
height: 0px;
}
QTabBar::close-button:hover {
image:none;
subcontrol-position: top right;
subcontrol-origin: margin;
position: absolute;
top: 0px; left: 0px; bottom: 0px;
width: 0px;
height: 0px;
}

"
Creo que era con esto con lo que se solucionaba.

Esto también se solucionaría con el evento OnClose en el formulario, con lo que se podría no dejar cerrarlo en caso de que no se haya hecho el login en la aplicación.

La idea del evento OnClose, lleva dos años en el foro de ideas, es algo tan básico en cualquier lenguaje de programación, que después de tanto tiempo me parece increíble que no se haya incluido en ninguna versión. Creo que demuestra para lo que sirve el foro de ideas.

Saludos.


([N1] wikan) #7

Formulario principal se refiere al formulario que se abrirá por defecto al abrir la aplicación.

Para hacer login lo mejor es que lanzes un formulario por manejador desde los eventos pre o pos inicializado. Según quieras que se vea solo el formulario o si quieres que se vea con la aplicación ya cargada detrás.


([N3] pacosatu) #8

Hola leonardo daniel velazquez fuentes.

  • El formulario principal no está pensado como formulario de Login porque está en modo Vista.
  • Puedes ocultar con CSS la X del formulario en modo Vista, pero eso no evita que se pulse accidentalmente con el ratón.
  • Como dice Manuel lo más adecuado y funcional es un formulario modal encima del principal con el calendario.

De todas formas, para evitar el cierre del formulario en modo Vista, crea un Manejador de evento ON_CLOSE que se dispara con la señal “On hide” y en ese manejador vuelves a ejecutar el mismo formulario mediante el comando Interfaz: Ejecutar accion(…).

Saludos
Paco Satué