VC實現(xiàn)讓關(guān)閉按鈕成灰色不可用的方法
對于有些情況下運行的VC項目程序來說,會有禁止用戶通過標(biāo)題欄上的關(guān)閉按鈕關(guān)閉窗口的情況,你會發(fā)現(xiàn),這時候程序的關(guān)閉按鈕變成灰色不可用,從任務(wù)欄處也無法關(guān)閉窗口,菜單同樣是灰色的,很好的禁止了窗口關(guān)閉功能,如果想關(guān)閉,可以按鍵盤上的快捷鍵“ALT+F4”,或者通過任務(wù)管理器結(jié)束任務(wù)。下面就來說明一下這個功能的核心代碼文件。
禁用關(guān)閉按鈕的具體功能代碼如下:
#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, // 狀態(tài)行指示器
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
// CMainFrame 構(gòu)造/銷毀
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("未能創(chuàng)建工具欄\n");
return -1; // 未能創(chuàng)建
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("未能創(chuàng)建狀態(tài)欄\n");
return -1; // 未能創(chuàng)建
}
// TODO: 如果不需要工具欄可停靠,則刪除這三行
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
//取得系統(tǒng)菜單
CMenu *pMenu=GetSystemMenu(FALSE);
//取得系統(tǒng)菜單數(shù)量
int Count=pMenu->GetMenuItemCount();
//取得關(guān)閉菜單的ID
UINT ID=pMenu->GetMenuItemID(Count-1);
//禁止關(guān)閉菜單
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 消息處理程序
上一篇:C語言實現(xiàn)的統(tǒng)計php代碼行數(shù)功能源碼(支持文件夾、多目錄)
欄 目:C語言
本文標(biāo)題:VC實現(xiàn)讓關(guān)閉按鈕成灰色不可用的方法
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/3540.html
您可能感興趣的文章
- 01-10數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-用棧實現(xiàn)表達式求值的方法詳解
- 01-10使用OpenGL實現(xiàn)3D立體顯示的程序代碼
- 01-10求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法
- 01-10C語言 解決不用+、-、×、÷數(shù)字運算符做加法
- 01-10使用C++實現(xiàn)全排列算法的方法詳解
- 01-10用C++實現(xiàn)DBSCAN聚類算法
- 01-10深入全排列算法及其實現(xiàn)方法
- 01-10全排列算法的非遞歸實現(xiàn)與遞歸實現(xiàn)的方法(C++)
- 01-10用C語言實現(xiàn)單鏈表的各種操作(一)
- 01-10用C語言實現(xiàn)單鏈表的各種操作(二)


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機閱讀
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10C#中split用法實例總結(jié)
- 04-02jquery與jsp,用jquery
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法


