Deshabilitar la "X" de cerrar el programa.

HMG en Español

Moderator: Rathinagiri

abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

Deshabilitar la "X" de cerrar el programa.

Post 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.
gdp
Posts: 47
Joined: Mon Jan 21, 2013 12:57 am

Re: Deshabilitar la "X" de cerrar el programa.

Post 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
abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

Re: Deshabilitar la "X" de cerrar el programa.

Post 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
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Deshabilitar la "X" de cerrar el programa.

Post 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 ?
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Deshabilitar la "X" de cerrar el programa.

Post 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.
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

Re: Deshabilitar la "X" de cerrar el programa.

Post 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 ?
gdp
Posts: 47
Joined: Mon Jan 21, 2013 12:57 am

Re: Deshabilitar la "X" de cerrar el programa.

Post 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
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: Deshabilitar la "X" de cerrar el programa.

Post 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
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

Re: Deshabilitar la "X" de cerrar el programa.

Post 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
Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México

Re: Deshabilitar la "X" de cerrar el programa.

Post 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
Post Reply