FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Quitar boton [X] de un dialogo
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Quitar boton [X] de un dialogo
Posted: Mon Mar 15, 2021 02:15 PM

Saludos foro,

Como puedo ocultar el Boton [X] en un dialogo?

Gracias de antemano

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: Quitar boton [X] de un dialogo
Posted: Mon Mar 15, 2021 02:51 PM

Hola,
eso puedes hacerlo desde el editor de recursos, 'system menu -> No'

saludos :shock:

Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: Quitar boton [X] de un dialogo
Posted: Mon Mar 15, 2021 02:52 PM

Hola Jose Vicente,

Gracias por tu respuesta.

En mi caso no uso recursos para los Dialogos.

Como lo resuelvo?

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Quitar boton [X] de un dialogo
Posted: Mon Mar 15, 2021 04:38 PM
Code (fw): Select all Collapse
PROCEDURE DisableX( oDlg, lDisable )
   LOCAL hMenu  := 0
   LOCAL nCount := 0

   DEFAULT lDisable := TRUE

   IF lDisable
      hMenu  := GetSystemMenu( oDlg:hWnd, FALSE )
      nCount := GetMItemCount( hMenu )
      IF oDlg:ClassName() = "TDIALOG"
         RemoveMenu( hMenu, 1, nOR( 1024, 2) )
      ELSE
         RemoveMenu( hMenu, nCount - 1, nOR( 1024, 2 ) )
         RemoveMenu( hMenu, nCount - 2, nOR( 1024, 2 ) )
      ENDIF
      DrawMenuBar( oDlg:hWnd )
   ELSE
      GetSystemMenu( oDlg:hWnd, TRUE )
      DrawMenuBar( oDlg:hWnd )
   ENDIF

RETURN
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Quitar boton [X] de un dialogo
Posted: Mon Mar 15, 2021 04:47 PM
Teste:

Code (fw): Select all Collapse
   STYLE nOr( DS_SYSMODAL, DS_MODALFRAME )

   WS_POPUP
   WS_CAPTION
   WS_SYSMENU
   WS_3DLOOK
   WS_VISIBLE
   WS_THICKFRAME
   WS_VISIBLE
   WS_OVERLAPPEDWINDOW )
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Quitar boton [X] de un dialogo
Posted: Mon Mar 15, 2021 05:08 PM
Compuin wrote:Hola Jose Vicente,

Gracias por tu respuesta.

En mi caso no uso recursos para los Dialogos.

Como lo resuelvo?


Hola.
Intenta asi:
Code (fw): Select all Collapse
DEFINE DIALOG oDlg SIZE nWd,nHt PIXEL TITLE "LIGAS PARA LICORES" ;
       STYLE (WS_POPUP|WS_VISIBLE)


ó

Code (fw): Select all Collapse
DEFINE DIALOG oDlg SIZE nWd,nHt PIXEL TITLE "LIGAS PARA LICORES" ;
       STYLE (WS_POPUP|WS_VISIBLE|WS_CAPTION)
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 1276
Joined: Tue Dec 28, 2010 01:29 PM
Re: Quitar boton [X] de un dialogo
Posted: Mon Mar 15, 2021 05:46 PM
karinha wrote:Teste:

Code (fw): Select all Collapse
   STYLE nOr( DS_SYSMODAL, DS_MODALFRAME )

   WS_POPUP
   WS_CAPTION
   WS_SYSMENU
   WS_3DLOOK
   WS_VISIBLE
   WS_THICKFRAME
   WS_VISIBLE
   WS_OVERLAPPEDWINDOW )


Muchas gracias, ya funciona como lo recomendastes

FWH 25.12

Harbour/Hbmk2

Microsoft Visual C++

MySql 8.0

Antigravity

Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Quitar boton [X] de un dialogo
Posted: Tue Mar 16, 2021 06:58 PM
Gracias Master Carlos Vargas,

Code (fw): Select all Collapse
// \SAMPLES\DISABLEX.PRG - Example, By: Carlos Vargas. In xHarbour, perfect.

#Include "FiveWin.ch"

#Define TRUE  .T.
#Define FALSE .F.

FUNCTION Main()

   LOCAL lDisable AS LOGICAL
   LOCAL oDlg AS OBJECT
   LOCAL oIco AS OBJECT
   LOCAL cTest := "Hello world!   "

   lDisable := TRUE

   DEFINE ICON oIco FILE "..\icons\fivewin.ico"

   DEFINE DIALOG oDlg TITLE "DialogBox and DisableX" COLOR "W+/B" ;
      ICON oIco

   @ 1, 3 GET cTest DIALOG oDlg

   @ 3, 5 BUTTON "&Ok" DIALOG oDlg SIZE 40, 12 ;
      ACTION MsgInfo( "Any action here!" ) DEFAULT

   @ 3, 16 BUTTON "&Cancel" DIALOG oDlg SIZE 40, 12 ACTION( oDlg:End() )

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT( DisableX( oDlg, lDisable ) )

RETURN NIL

PROCEDURE DisableX( oDlg, lDisable )

   LOCAL hMenu  := 0
   LOCAL nCount := 0

   DEFAULT lDisable := TRUE

   IF lDisable

      hMenu  := GetSystemMenu( oDlg:hWnd, FALSE )
      nCount := GetMItemCount( hMenu )

      IF oDlg:ClassName() = "TDIALOG"

         RemoveMenu( hMenu, 1, nOR( 1024, 2) )

      ELSE

         RemoveMenu( hMenu, nCount - 1, nOR( 1024, 2 ) )

         RemoveMenu( hMenu, nCount - 2, nOR( 1024, 2 ) )

      ENDIF

      DrawMenuBar( oDlg:hWnd )

   ELSE

      GetSystemMenu( oDlg:hWnd, TRUE )

      DrawMenuBar( oDlg:hWnd )

   ENDIF

RETURN

// FIN - 16/03/2021 - Covid-19 - <!-- e --><a href="mailto:kapiabafwh@gmail.com">kapiabafwh@gmail.com</a><!-- e -->


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion