FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Quitar boton cerrar de un Dialogo (Solucionado)
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Quitar boton cerrar de un Dialogo (Solucionado)
Posted: Tue Jun 02, 2009 08:19 PM

Un saludo

Pues eso, como elimino o deshabilito dicho bot贸n "x"?

Gracias anticipadas

Marcelo Jingo

Marcelo Jingo
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Quitar boton cerrar de un Dialogo
Posted: Tue Jun 02, 2009 09:08 PM

Hola:
Con PellesC, en la ventana de propiedades, en Windows Styles, pon Sysmenu en "NO"
Saludos.

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Tue Jun 02, 2009 09:10 PM
Jingo

Si el dialogo es de un recurso de una DLL, el la propiedades se pone No en Men煤 de sistema.

Yo uso Pelles C para editar.

Espero te sirva

Saludos

Adhemar
Saludos,



Adhemar C.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Tue Jun 02, 2009 09:12 PM

Me parece, que respondimos a mismo tiempo con Francisco

Saludos,



Adhemar C.
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Quitar boton cerrar de un Dialogo
Posted: Tue Jun 02, 2009 09:42 PM

Asi parece, je-je-je.

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Tue Jun 02, 2009 10:40 PM

Gracias por la r谩pida respuesta.

Estoy usando Resource Builder, y he buscado alguna opci贸n que se paresca a lo que me indican y no la encuentro.

Hay una opci贸n en WindowStyle y prob茅 activando y desactivando la propiedad WS_SYSMENU pero no pasa nada. Alguien que utilice Resource Builder o que se pueda hacerlo desde c贸digo?

Atentamente

Marcelo Jingo

Marcelo Jingo
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Wed Jun 03, 2009 01:29 AM

Tambien puedes anular su efecto con la clausula VALID del dialogo, o sea, que para poder salir del dialogo tenga que presionar un boton del mismo, donde pone una variable logica en .t., obviamente inicializada en .f.

Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Wed Jun 03, 2009 02:58 AM

Hola cmsoft

Necesariamente quiero saber c贸mo deshabilitar el bot贸n para mis prop贸sitos. Aunque tambi茅n intent茅 de mil maneras probar con el valid pero no logro hacer lo que quiero.

Un saludo

Marcelo Jingo

Marcelo Jingo
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Wed Jun 03, 2009 11:10 AM
Code (fw): Select all Collapse
聽 聽 聽LOCAL lSalir := .f.
聽 聽 聽DEFINE DIALOG oDlg RESOURCE "PRUEBA" OF oWnd
聽 聽 聽oDlg:lHelpIcon := .f.
聽 聽 聽....
聽 聽 聽REDEFINE BUTTON oBot 聽ID 131 OF oDlg ACTION (oDlg:End(),lSalir := .t.)
聽 聽 聽ACTIVATE DIALOG oDlg VALID lSalir

Espero te sirva.
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Wed Jun 03, 2009 01:12 PM

cmsoft

Esa soluci贸n ya la tengo implementado en otro m贸dulo, pero 茅sta no soluciona mi actual requerimiento. Por lo tanto es indispensable para mi saber c贸mo deshabilitar dicho bot贸n.

oDlg:lHelpIcon := .f.
Quita el bot贸n de "?", de la misma forma debe haber un c贸digo que quite el bot贸n "x", pero no lo s茅.

De todas formas seguir茅 buscando y gracias por el inter茅s

Marcelo Jingo

Marcelo Jingo
Posts: 229
Joined: Sat Mar 18, 2006 03:42 PM
Re: Quitar boton cerrar de un Dialogo
Posted: Wed Jun 03, 2009 01:56 PM
Buscando por este mismo foro, encontr茅 la soluci贸n dada por ukoenig del foro en ingles, y reprodusco aqu铆 por si a alguien le sirve. La funci贸n debe ser llamada en el ON INIT del di谩logo

Code (fw): Select all Collapse
// ---------------------  Disable EXIT - BUTTON -----------------

FUNCTION DisableX(oDlg, lDisable) 

LOCAL hMenu  := 0 
LOCAL nCount := 0 

IF lDisable 
    hMenu  = GetSystemMenu(oDlg:hWnd, .F.) 
    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, .T. ) 
    DrawMenuBar( oDlg:hWnd ) 
ENDIF 

RETURN nil


Gracias Foro

Marcelo Jingo
Marcelo Jingo

Continue the discussion