Page 1 of 3
Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 10:42 am
by abinfra
Agradecería vuestra ayuda en lo siguiente:
A fin de evitar salir del programa estando re-editando, quisiera deshabilitar la "X" de cerrar el programa (botón rojo de la esquina superior derecha de la ventana).
Gracias por anticipados y saludos cordiales.
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 11:06 am
by gdp
Hola
Debes agregar la clausula Nosysmenu, en el define del window.
EJ :
DEFINE WINDOW Rango AT 0,0 WIDTH 520 HEIGHT 280 TITLE "Acumulado de Operaciones" ICON nil MODAL NOSYSMENU NOSIZE FONT "Arial" SIZE 9
Gerardo
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 11:23 am
by abinfra
Gracias Gerardo.
Perdona mi ignorancia, yo solo he programado hasta ahora en Clipper, donde tendría que poner la instrucción que me comentas?.
Saludos cordiales.
gdp wrote:Hola
Debes agregar la clausula Nosysmenu, en el define del window.
EJ :
DEFINE WINDOW Rango AT 0,0 WIDTH 520 HEIGHT 280 TITLE "Acumulado de Operaciones" ICON nil MODAL NOSYSMENU NOSIZE FONT "Arial" SIZE 9
Gerardo
Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 11:46 am
by Pablo César
Hola Antonio,
Esta atribuicion que precisas, es para una aplicacion GUI o CONSOLE ?
Si es para GUI, puedes disponibilizar tu código principal ?
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 1:37 pm
by danielmaximiliano
abinfra wrote:Gracias Gerardo.
Perdona mi ignorancia, yo solo he programado hasta ahora en Clipper
Hola : como todos nos olvidamos de leer la Referencia de HMG, no necesariamente es ser ignorante sino un poco descuidado.
yo tambien pase las mismas a pesar de venir de otra interfaz grafica (VFP) y pasarme a algo libre para recuperar un viejo codigo clipper que funciona desde hace 15 años.
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 1:51 pm
by abinfra
Hola Pablo César.
Es para CONSOLE. Son unos .prg que hice con Clipper y ahora los adaptando, compilando y enlazando con HMG.
Saludos cordiales.
P.D.- x Daniel, tienes razón, no cabe excusa.
Pablo César wrote:Hola Antonio,
Esta atribuicion que precisas, es para una aplicacion GUI o CONSOLE ?
Si es para GUI, puedes disponibilizar tu código principal ?
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 2:52 pm
by gdp
Hola,
Mi error, esa solución que te di es para ventanas graficas.
En el caso que tu quieras trabajar en modo consola, la única alternativa, si tienes W XP , es maximizar la pantalla,
si tienes W Vista, o superior, no conozco solución a este tema.
Saludos
Gerardo
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 3:10 pm
by danielmaximiliano
Another alternative might be to run it in "Full screen mode"
Adding DWORD value key of name "FullScreen" and value 1
at HKEY_CURRENT_USER\Console, causes cmd.exe to open up full screen.
(Changing that value to 0, causes cmd.exe to open up normally)
In Minigui
Code: Select all
#pragma BEGINDUMP
#include <windows.h>
#include "hbapi.h"
/******
*
* Blocking window close button
*
*/
HB_FUNC( DISABLECLOSEBUTTON )
{
HWND hWnd;
HMENU hMenu;
hWnd = (HWND) hb_parnl( 1 );
hMenu = GetSystemMenu( hWnd, FALSE );
if (hMenu != 0)
{
DeleteMenu( hMenu, SC_CLOSE, MF_BYCOMMAND);
}
}
#pragma ENDDUMP
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 3:48 pm
by abinfra
Gracias Daniel.
¿Se puede compilar y enlazar con HBMK2?
¿Hay que poner este código dentro de la Función Main()?
Saludos cordiales.
danielmaximiliano wrote:Another alternative might be to run it in "Full screen mode"
Adding DWORD value key of name "FullScreen" and value 1
at HKEY_CURRENT_USER\Console, causes cmd.exe to open up full screen.
(Changing that value to 0, causes cmd.exe to open up normally)
In Minigui
Code: Select all
#pragma BEGINDUMP
#include <windows.h>
#include "hbapi.h"
/******
*
* Blocking window close button
*
*/
HB_FUNC( DISABLECLOSEBUTTON )
{
HWND hWnd;
HMENU hMenu;
hWnd = (HWND) hb_parnl( 1 );
hMenu = GetSystemMenu( hWnd, FALSE );
if (hMenu != 0)
{
DeleteMenu( hMenu, SC_CLOSE, MF_BYCOMMAND);
}
}
#pragma ENDDUMP
Re: Deshabilitar la "X" de cerrar el programa.
Posted: Thu Aug 07, 2014 5:38 pm
by Javier Tovar
Hola abinfra,
Este código lo pones al final de tu prg donde quieres hacer referencia a esta función, y la llamas en "ON INIT DISABLECLOSEBUTTON" de tu Ventana.
Espero que me haya dado a entender.
Saludos