欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>程序设计>>一般性编程问题>>C++、MFC>>文章内容
程序不在桌面任务样中显示小图标
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
 

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


////////////////////////////////////////////////////////////
文档、视结构程序

在 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();
}
...

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


附件:
    关闭窗口
    打印文档
    账号登录
    保持登录 忘记密码?
    账号与武进教师培训平台同步