Microsoft & .NETVisual C#Disable close button for Dialog box

Disable close button for Dialog box


Introduction :
There are occasions when we would like to disable the close button on a dialog or any other window. In this article I am going to show you a simple way to do that. Even though I am going to show you how to disable the close button for a dialog, this technique would work for other windows too and for other system menu commands also.

Technique :
We use GetSystemMenu function to get the handle to the Control menu. Then using that handle we either call ModifyMenu or EnableMenuItem to change the control menu.

(1) Using ModifyMenu :
Add the following code to the InitDialog handler of your class


CMenu* mnu = this->GetSystemMenu(FALSE);
mnu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );
(2) Using EnableMenuItem :
Add the following code to the InitDialog handler of your class

CMenu* mnu = this->GetSystemMenu(FALSE);
mnu->EnableMenuItem( SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);
Thus by adding a couple of lines we can disable the close button for a dialog or any other window.

Date Last Updated: March 24, 1999

Get the Free Newsletter!
Subscribe to Developer Insider for top news, trends & analysis
This email address is invalid.
Get the Free Newsletter!
Subscribe to Developer Insider for top news, trends & analysis
This email address is invalid.

Latest Posts

Related Stories