FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour How do I remove the X close on the top of a dialog box?
Posts: 67
Joined: Thu Jan 05, 2006 10:35 PM
How do I remove the X close on the top of a dialog box?
Posted: Mon Nov 17, 2008 07:27 PM

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.

Posts: 270
Joined: Fri Nov 11, 2005 07:39 PM
How do I remove the X close on the top of a dialog box?
Posted: Mon Nov 17, 2008 07:58 PM

Mike:

With your resource editor ( I used PellesC )

Change the your dialog properties of system menu to NOT

That is all.

Juan
==> Pasando a FWH16.04 + Harbour32 + BCC70 + PellesC
=> Abandonando FWH 13.7 + xHarbour + BCC582
http://www.mitaller.cl
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
How do I remove the X close on the top of a dialog box?
Posted: Mon Nov 17, 2008 08:08 PM

DEFINE dialog oDlg STYLE WS_CAPTION

Posts: 169
Joined: Mon Feb 25, 2008 02:42 AM
How do I remove the X close on the top of a dialog box?
Posted: Mon Nov 17, 2008 11:55 PM

DEFINE DIALOG oDlg STYLE nOR( WS_POPUP, WS_VISIBLE )

blank DIALOG without border

Posts: 67
Joined: Thu Jan 05, 2006 10:35 PM
How do I remove the X close on the top of a dialog box?
Posted: Tue Nov 18, 2008 12:29 AM

Is there a way to keep a menu icon and not have the X close window in the top right corner?
Thanks Mike.

Posts: 654
Joined: Fri Oct 21, 2005 05:54 AM
How do I remove the X close on the top of a dialog box?
Posted: Tue Nov 18, 2008 11:30 AM
Hello Mike,

This is the working code :

#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
Posts: 67
Joined: Thu Jan 05, 2006 10:35 PM
How do I remove the X close on the top of a dialog box?
Posted: Tue Nov 18, 2008 04:01 PM

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

Posts: 654
Joined: Fri Oct 21, 2005 05:54 AM
How do I remove the X close on the top of a dialog box?
Posted: Tue Nov 18, 2008 04:39 PM

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
Posts: 67
Joined: Thu Jan 05, 2006 10:35 PM
How do I remove the X close on the top of a dialog box?
Posted: Tue Nov 18, 2008 05:59 PM

Thanks Ramesh
MIke

Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Hide X ( exit ) in Dialog
Posted: Sat Nov 22, 2008 07:34 PM

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 :lol:

Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 1387
Joined: Fri May 23, 2008 01:33 PM
How do I remove the X close on the top of a dialog box?
Posted: Sun Nov 23, 2008 12:32 PM
Hi Uwe,

You can use

STYLE nOr( WS_OVERLAPPEDWINDOW )
Regards,



Hakan ONEMLI



Harbour & MSVC 2022 & FWH 23.06
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Disable X Exit-Button
Posted: Mon Nov 24, 2008 12:13 PM
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

#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
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 654
Joined: Fri Oct 21, 2005 05:54 AM
How do I remove the X close on the top of a dialog box?
Posted: Mon Nov 24, 2008 02:16 PM
Hello Mr.Uwe

This is what you are looking for:

*******************************************************************************
*** 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
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Disable X ( Exit ) in Dialog.
Posted: Mon Nov 24, 2008 02:59 PM

Hello RAMESHBABU,

thank You very much for Your help.
It works PERFECT now.

Regards
Uwe :lol:

Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 654
Joined: Fri Oct 21, 2005 05:54 AM
How do I remove the X close on the top of a dialog box?
Posted: Mon Nov 24, 2008 03:16 PM

Hello Mr.Uwe,

You are most welcome.

Regards,

  • Ramesh Babu P

Continue the discussion