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

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



文档、视结构程序

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值