Page 1 of 1

Como desabilitar el aspa de Windows

Posted: Thu Dec 13, 2007 1:49 pm
by Loren
Estimados compañeros:

En la "define Windows" que tengo en la pantalla principal de mi aplicación, necesito desactivar (desabilitar) el aspa roja típica de windows y evitar que los usuarios cierren la ventana de esta manera.

¿ Como se desabilita el aspa ?
Mil gracias.
LORENZO

Posted: Thu Dec 13, 2007 2:25 pm
by ADBLANCO
DEFINE WINDOW oWnd FROM 0, 0 TO 35, 100;
TITLE ynomcia+' (Sistema de Garantías)' ;
NOSYSMENU;
ICON oIcon


TAMBIEN PUEDES UTILIZAR:
NOICONIZE
NOZOOM

PERO LO QUE PUEDES HACER ES DESAPARECER EL CERRAR Y DEJAR
ACTIVOS EL ICONIZE Y EL ZOOM

Posted: Thu Dec 13, 2007 3:00 pm
by karinha

Code: Select all

SHOWTASKBAR() //habilita
HIDETASKBAR() //desabilita
TIRA_X() // DESABILITA O X da janela
PISCA_EXE() // VAI PISCAR O SEU EXE NA BARRA

#pragma BEGINDUMP

#include "windows.h"
#include "shlobj.h"
#include "hbapi.h"
#include "math.h"
#include "hbvm.h"
#include "hbstack.h"
#include "hbapiitm.h"
#include "hbapigt.h"

HB_FUNC ( SHOWTASKBAR ) //Habilita o botao INICIAR
{
HWND hWnd = FindWindow("Shell_TrayWnd", "");

ShowWindow( hWnd, 1 );
}

HB_FUNC ( HIDETASKBAR ) //Desabilita o botao Iniciar
{
HWND hWnd = FindWindow("Shell_TrayWnd", "");

ShowWindow( hWnd, 0 );
}

HB_FUNC ( PISCA_EXE ) // VAI PISCAR O SEU EXE NA BARRA
{
HWND Handle = GetForegroundWindow();

FlashWindow(Handle,TRUE); // VAI PISCAR O SEU EXE NA BARRA

Sleep(300); // TEMPO DE ESPERA
}


HB_FUNC ( TIRA_X ) // DESABILITA O X da janela/ventana

{
HMENU MenuH = GetSystemMenu(GetForegroundWindow(),FALSE);

EnableMenuItem(MenuH,SC_CLOSE,MF_GRAYED);
}

#pragma ENDDUMP


Posted: Thu Dec 13, 2007 3:01 pm
by karinha

Code: Select all

    ACTIVATE WINDOW oWnd MAXIMIZED                                           ;
             ON INIT( TIRA_X() )                                             

Re: Como desabilitar el aspa de Windows

Posted: Sat Jan 25, 2020 4:12 pm
by cuatecatl82
Saludos a todos..

Cómo se usaría para deshabilitar el botón cerrar en una ventana MDI o en un Diálogo, lo he intentado en el on init de ambos pero solo desabilita la ventana principal..

Necesito deshabilitarlo para que me permita ver el icono y el título en la barra, ya que NoSysmenu solo oculta el botón

Gracias.. :mrgreen:

Re: Como desabilitar el aspa de Windows

Posted: Mon Jan 27, 2020 11:33 am
by karinha
En un Diálogo, usas @ ó Recursos del Workshop.exe the best?

En una Ventana MDI, és como está en arriba. Function TIRA_X()

http://fivewin.com.br/index.php?/topic/ ... ent-271940

Saludos

Re: Como desabilitar el aspa de Windows

Posted: Mon Jan 27, 2020 12:44 pm
by karinha
Usando Recurso del Wrokshop.exe:

Mira System Menu:

https://i.imgur.com/qDMfeNT.png


Saludos.

Re: Como desabilitar el aspa de Windows

Posted: Mon Jan 27, 2020 1:13 pm
by karinha
Usando @,

Code: Select all

#include "fivewin.ch"

FUNCTION Main()

   local oDlg, oFont
   local oGet1, oGet2, oGet3, oGet4
   local cVar1, cVar2, cVar3, cVar4
   local lActive := .f.
   
   cVar1 := 0
   cVar2 := 0
   cVar3 := 10
   cVar4 := 0

   DEFINE FONT oFont    NAME "Ms Sans Serif" SIZE 00, - 14 BOLD
   
   DEFINE DIALOG oDlg FROM 05,10 TO  25, 50             ;
      TITLE oemtoansi("desabilitar el aspa de Dialogo") ;
      FONT oFont                                        ;
      STYLE nOr( DS_MODALFRAME, WS_POPUP, WS_CAPTION)

   @10, 10 GET oGet1 VAR cVar1 OF odlg   picture "999,999,999" RIGHT ;
      SIZE 60,12 PIXEL UPDATE                                        ;
      VALID Eval ( { || IF (cVar1 = 0, (cVar2:=cVar2), .F. ),        ;
                           (cVar2,( cVar2:=cVar1*cVar3), oGET2:Refresh(), .T. ) } )

   @ 40,10 get oGet2 var cVar2 bitmap "..\bitmaps\on.bmp" action( msginfo( "Without Transparent" ) ) of oDlg pixel size 60,12

   @ 70,10 get oGet3 var cVar3 bitmap "..\bitmaps\chkyes.bmp"  ;
      action( msginfo( "With Adjust-Transparent" ) ) of oDlg pixel size 120,12

   @ 100,10 get oGet4 var cVar4 bitmap "..\bitmaps\chkyes.bmp" ;
      action( if( lActive,oGet3:disable(),oGet3:enable()),     ;
      lActive:= !lActive, oDlg:update() ) of oDlg pixel size 120,12
   
   oGet1:lBtnTransparent := .t.       // transparent button get oGet1
   
   oGet3:disable()
   oGet3:lBtnTransparent := .t.       // transparent button get oGet3
   oGet3:lAdjustBtn      := .t.       // Button Get Adjust Witdh oGet3
   oGet3:lDisColors      := .f.       // Deactive disable color
   oGet3:nClrTextDis     := CLR_WHITE // Color text disable status
   oGet3:nClrPaneDis     := CLR_BLUE  // Color Pane disable status
   
   oGet4:lAdjustBtn      := .t.
   
   activate dialog oDlg centered

   oFont:End()
 
return nil