1、在BOOL C***Dlg::OnInitDialog()中添加如下代码

BOOL C***Dlg::OnInitDialog()
{
  ...//MFC 默认生成的代码

 // TODO: Add extra initialization here
 //修改属性,不显示在任务栏上
 this->ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);

 return TRUE;  // return TRUE  unless you set the focus to a control
}

2、响应WM_NCPAINT消息,并在消息处理函数中添加如下代码。
//实现第一次启动应用程序时候,隐藏窗口
void  C***Dlg::OnNcPaint()
{
 static int i = 1;
 if(i > 0)
 {
  --i;
  ShowWindow(SW_HIDE);
 }
 else
 {
  CDialog::OnNcPaint();
 }
}

注:还有一种方法也可是实现隐藏,思路如下:
1、同上所示,在OnInitDialog中实现任务栏的隐藏,同时设置窗口的大小,并保持原窗口大小
//修改属性,不显示在任务栏上
 this->ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);
 //::SetWindowPos(this->GetSafeHwnd(), HWND_BOTTOM, 0, 0, 0, 0, SWP_HIDEWINDOW);
2、在显示窗口的时候再根据保存的窗口大小显示窗口。

posted on 2009-09-14 14:50  米罗21  阅读(871)  评论(0编辑  收藏  举报