精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>WINDOWS界面设计>>应用程序的标题栏问题

主题:应用程序的标题栏问题
发信人: lightsabre()
整理人: skyice(1999-11-10 07:43:13), 站内信件
如何使程序不在任务栏上显示任何东西?
要求不改变应用程序标题栏样式,如仍然要保持有最大化、最小化按钮等  

I suggest you create a SDI and use Form View 
for your application. Then create an invisible 
window as the parent of your Frame Window. 

class CMainFrame... 


CWnd m_wndOwner; 
}; 


BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 

//modified this function to use our owner 

if (!CFrameWnd::PreCreateWindow(cs)) 
return FALSE; 

//end of changed lines 

//added these lines to create our invisible owner 

// we have to check since PreCreateWindow may be called 
// more than once 

if (m_wndOwner.m_hWnd == NULL) 

// we don't care about any attributes of our hidden window 

LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0); 

if (!m_wndOwner.CreateEx(0, pstrOwnerClass, _T(""), WS_POPUP, 
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 
NULL, 0)) 
return FALSE; 


// note that we _don't_ set WS_CHILD... making the _owner_ 
// window of our frame some invisible window. 

cs.hwndParent = m_wndOwner.m_hWnd; 
return TRUE; 

//end of added lines 


CMainFrame::~CMainFrame() 

//added these lines to destroy our invisible owner when we're done 

if (m_wndOwner.m_hWnd != NULL) 
m_wndOwner.DestroyWindow(); 

//end of added lines 


※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 4.54.50.192]

[关闭][返回]