程序不在桌面任务样中显示小图标

王朝vc·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

程序不在桌面任务样中显示小图标

////////////////////////////////////////////////////////////

文档、视结构程序

在 MainFrame 类中添加成员变量

CWnd m_wndOwner;

在 PreCreateWindow() 中添加代码

...

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

if( !CFrameWnd::PreCreateWindow(cs) )

return FALSE;

// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或

// 样式

if( this->m_wndOwner.m_hWnd == NULL )

{

if( !this->m_wndOwner.CreateEx(

0 ,

::AfxRegisterWndClass( 0 ) ,

"" ,

WS_POPUP ,

0 , 0 , 0 , 0 ,

NULL ,

0

)

)

{

return FALSE;

}

}

cs.hwndParent = m_wndOwner.m_hWnd;

return TRUE;

}

...

主要目的就是修改 cs.hwndParent 的值,如果 cs.hwndParent == NULL 的话,

程序将 cs.hwndParent 赋默认值,也就是“桌面窗口(Desktop Window)”,这样的话,

程序的小图标就会出现在桌面任务栏中啦.

因为创建了一个窗口, m_wndOwner ,所以在析构函数 ~MainFrame() 中要销毁该窗口

...

CMainFrame::~CMainFrame()

{

if( this->m_wndOwner.m_hWnd != NULL )

this->m_wndOwner.DestroyWindow();

}

...

////////////////////////////////////////////////////////////

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航