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
(2) Using EnableMenuItem :
CMenu* mnu = this->GetSystemMenu(FALSE);
mnu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );
Add the following code to the InitDialog handler of your class
Thus by adding a couple of lines we can disable the close button for a dialog or any other window.
CMenu* mnu = this->GetSystemMenu(FALSE);
mnu->EnableMenuItem( SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);
Date Last Updated: March 24, 1999