Page 1 of 1
How do I remove the X close on the top of a dialog box?
Posted: Mon Nov 17, 2008 7:27 pm
by Mike Buckler
I would like to remove the X close button on the top right corner of a dialog box.
Any help would be greatly appreciated.
Thanks In Advance Mike.
Posted: Mon Nov 17, 2008 7:58 pm
by jcaro
Mike:
With your resource editor ( I used PellesC )
Change the your dialog properties of system menu to NOT
That is all.
Posted: Mon Nov 17, 2008 8:08 pm
by Daniel Garcia-Gil
DEFINE dialog oDlg STYLE WS_CAPTION
Posted: Mon Nov 17, 2008 11:55 pm
by fafi
DEFINE DIALOG oDlg STYLE nOR( WS_POPUP, WS_VISIBLE )
blank DIALOG without border
Posted: Tue Nov 18, 2008 12:29 am
by Mike Buckler
Is there a way to keep a menu icon and not have the X close window in the top right corner?
Thanks Mike.
Posted: Tue Nov 18, 2008 11:30 am
by RAMESHBABU
Hello Mike,
This is the working code :
Code: Select all
#define MF_BYPOSITION 1024 // 0x0400
#define MF_DISABLED 2
*******************************************************************************
*** FUNCTION DisableX(oWin, lDisable) to Disable X button of Window/Dialog ***
*******************************************************************************
FUNCTION DisableX(oWin, lDisable)
LOCAL hMenu := 0
LOCAL nCount := 0
IF lDisable
hMenu = GetSystemMenu(oWin:hWnd, .F.)
nCount = GetMItemCount(hMenu)
RemoveMenu(hMenu, nCount - 1, nOR( MF_BYPOSITION, MF_DISABLED) )
RemoveMenu(hMenu, nCount - 2, nOR( MF_BYPOSITION, MF_DISABLED) )
DrawMenuBar( oWin:hWnd )
ELSE
GetSystemMenu( oWin:hWnd, .T. )
DrawMenuBar( oWin:hWnd )
ENDIF
RETURN nil
Reagrds,
- Ramesh Babu P
Posted: Tue Nov 18, 2008 4:01 pm
by Mike Buckler
How does the dialog style have to be set to have diasblex work, The dialog I am testing on is from pelles c resource and I have tried with system true and false.
Thanks Mike
Posted: Tue Nov 18, 2008 4:39 pm
by RAMESHBABU
Hello Mike,
This code works with the dialogs created from Borland Resource Workshop perfectly. I am very sorry, I dont know anything about pelles c resources.
I wonder out of my academic interest, either Borland or Pelles they are expected to normally respect the windows standards and accordingly they design such resource management tools. I dont' know why PELLES C is different from Borland! or vice-versa.
Regards,
- Ramesh
Posted: Tue Nov 18, 2008 5:59 pm
by Mike Buckler
Thanks Ramesh
MIke
Hide X ( exit ) in Dialog
Posted: Sat Nov 22, 2008 7:34 pm
by ukoenig
Hello Ramesh,
I tested Your solution to hide the X ( exit ) in dialog.
It works fine with MDI. If I use it in a stand-alone Dialog,
I cannot move the dialog anymore.
Do you know a solution, to keep the dialog moving ?
Regards
Uwe
Posted: Sun Nov 23, 2008 12:32 pm
by Horizon
Disable X Exit-Button
Posted: Mon Nov 24, 2008 12:13 pm
by ukoenig
Hello,
The useful function from RAMESHBABU, i use in my MDI-app's to control
the button-status ( enable or disable ) of the office-bar and it works fine.
But if I use a MODAL Dialog, I cannot move the dialog.
Is it possible, to get it working with MODAL dialog as well ?
The solution from HORIZON I tested but didn't help
Code: Select all
#define MF_BYPOSITION 1024 // 0x0400
#define MF_DISABLED 2
...
...
DEFINE DIALOG oDlg RESOURCE "Tools" OF oWnd TRANSPARENT ;
TITLE "Selection" FONT oProgFont
...
...
... It works !!
ACTIVATE DIALOG oDlg CENTERED NOWAIT ;
ON INIT ( oDlg:Move( 30 , 50, oDlg:nWidth, oDlg:nHeight, .f. ), ;
DisableX(oDlg, .T.) ) )
RETURN NIL
*******************************************************
*** FUNCTION DisableX(oWin, lDisable) to Disable X button of Window/Dialog ***
*******************************************************
FUNCTION DisableX(oWin, lDisable)
LOCAL hMenu := 0
LOCAL nCount := 0
IF lDisable
hMenu = GetSystemMenu(oWin:hWnd, .F.)
nCount = GetMItemCount(hMenu)
RemoveMenu(hMenu, nCount - 1, nOR( MF_BYPOSITION, MF_DISABLED) )
RemoveMenu(hMenu, nCount - 2, nOR( MF_BYPOSITION, MF_DISABLED) )
DrawMenuBar( oWin:hWnd )
ELSE
GetSystemMenu( oWin:hWnd, .T. )
DrawMenuBar( oWin:hWnd )
ENDIF
RETURN nil
Posted: Mon Nov 24, 2008 2:16 pm
by RAMESHBABU
Hello Mr.Uwe
This is what you are looking for:
Code: Select all
*******************************************************************************
*** FUNCTION DisableX(oWin, lDisable) to Disable X button of Window/Dialog ***
*******************************************************************************
FUNCTION DisableX(oWin, lDisable)
LOCAL hMenu := 0
LOCAL nCount := 0
IF lDisable
hMenu = GetSystemMenu(oWin:hWnd, .F.)
nCount = GetMItemCount(hMenu)
IF oWin:ClassName() = "TDIALOG"
RemoveMenu(hMenu, 1, nOR( MF_BYPOSITION, MF_DISABLED) )
ELSE
RemoveMenu(hMenu, nCount - 1, nOR( MF_BYPOSITION, MF_DISABLED) )
RemoveMenu(hMenu, nCount - 2, nOR( MF_BYPOSITION, MF_DISABLED) )
ENDIF
DrawMenuBar( oWin:hWnd )
ELSE
GetSystemMenu( oWin:hWnd, .T. )
DrawMenuBar( oWin:hWnd )
ENDIF
RETURN nil
Regards,
- Ramesh Babu P
Disable X ( Exit ) in Dialog.
Posted: Mon Nov 24, 2008 2:59 pm
by ukoenig
Hello RAMESHBABU,
thank You very much for Your help.
It works PERFECT now.
Regards
Uwe
Posted: Mon Nov 24, 2008 3:16 pm
by RAMESHBABU
Hello Mr.Uwe,
You are most welcome.
Regards,
- Ramesh Babu P