程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 創建不在任務條中顯示窗口按鈕的應用

創建不在任務條中顯示窗口按鈕的應用

編輯:關於VC++

現在有很多應用程序都使用系統托盤區來放置圖標,這時候如果窗口的按鈕再出現在任務條中就顯得有些多余。創建不在任務條中顯示窗口按鈕的應用時可以使用下面的一些方法:創建對話框應用,創建一個POPUP窗口。但是對於一些已經使用文檔/視結構開發好的程序來說要進行修改就比較困難,下面介紹一種簡單的方法可以很方便的實現這一功能,而且對程序的改動也不大。 這種方法的實質創建一個隱藏的窗口,做為當前應用中框架窗口的父窗口。你需要對程序進行一點改動以適應這種需要。

首先:在你的CFrameWnd派生類中定義一個CWnd對象。

class CMainFrame : public CFrameWnd
{
...
protected:
CWnd m_wndParent;
...

然後重載派生類的CMainFrame::PreCreateWindow函數,在函數中創建隱藏的父窗口。

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CFrameWnd::PreCreateWindow(cs))
return FALSE;
// 創建一個隱藏窗口
if (!::IsWindow(m_wndParent.m_hWnd))
{
LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0);
if (!m_wndParent.CreateEx(0, pstrOwnerClass, "", WS_POPUP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, 0))
return FALSE;
}
cs.hwndParent = m_wndParent.m_hWnd;
return TRUE;
}

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved