VC完成讓封閉按鈕成灰色弗成用的辦法。本站提示廣大學習愛好者:(VC完成讓封閉按鈕成灰色弗成用的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是VC完成讓封閉按鈕成灰色弗成用的辦法正文
關於有些情形下運轉的VC項目法式來講,會有制止用戶經由過程題目欄上的封閉按鈕封閉窗口的情形,你會發明,這時候候法式的封閉按鈕釀成灰色弗成用,從義務欄處也沒法封閉窗口,菜單異樣是灰色的,很好的制止了窗口封閉功效,假如想封閉,可以按鍵盤上的快捷鍵“ALT+F4”,或許經由過程義務治理器停止義務。上面就來講明一下這個功效的焦點代碼文件。
禁用封閉按鈕的詳細功效代碼以下:
#include "stdafx.h" #include "Test.h" #include "MainFrm.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CMainFrame IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd) BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_WM_CREATE() END_MESSAGE_MAP() static UINT indicators[] = { ID_SEPARATOR, // 狀況行指導器 ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, }; // CMainFrame 結構/燒毀 CMainFrame::CMainFrame() { // TODO:在此添加成員初始化代碼 } CMainFrame::~CMainFrame() { } int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("未能創立對象欄\n"); return -1; // 未能創立 } if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0("未能創立狀況欄\n"); return -1; // 未能創立 } // TODO: 假如不須要對象欄可停靠,則刪除這三行 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); //獲得體系菜單 CMenu *pMenu=GetSystemMenu(FALSE); //獲得體系菜雙數量 int Count=pMenu->GetMenuItemCount(); //獲得封閉菜單的ID UINT ID=pMenu->GetMenuItemID(Count-1); //制止封閉菜單 pMenu->EnableMenuItem(ID,MF_GRAYED); return 0; } BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: 在此處經由過程修正 CREATESTRUCT cs 來修正窗口類或 // 款式 return TRUE; } // CMainFrame 診斷 #ifdef _DEBUG void CMainFrame::AssertValid() const { CFrameWnd::AssertValid(); } void CMainFrame::Dump(CDumpContext& dc) const { CFrameWnd::Dump(dc); } #endif //_DEBUG // CMainFrame 新聞處置法式