相关疑难解决方法(0)

隐藏MFC对话框

好吧我正在使用此代码隐藏基于对话框的MFC应用程序(VC++)的任务栏图标.每当我点击十字或关闭按钮时,任务栏图标和对话框都会隐藏.但我不能把这一件事弄好.每当我从标题栏点击关闭或十字按钮时,对话框首先闪烁并显示一种中间对话框,然后隐藏.这非常烦人.经过两天徒劳的努力,我在这里发布我的代码.所以伙计们请帮助我.提前致谢.

void CMyAppDlg::OnBnClickedCancel()
{
  // TODO: Add your control notification handler code here
  CWnd* pWnd;
  pWnd = AfxGetMainWnd();

  RemoveTaskbarIcon(pWnd);
  pWnd->ModifyStyle(WS_VISIBLE, 0);
  mVisible = FALSE;
}

BOOL CMyAppDlg::RemoveTaskbarIcon(CWnd* pWnd)
{
  LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0);

  // Create static invisible window
  if (!::IsWindow(mWndInvisible.m_hWnd))
   {
    if (!mWndInvisible.CreateEx(0, pstrOwnerClass, _T(""),
             WS_POPUP,
             CW_USEDEFAULT,
             CW_USEDEFAULT, 
             CW_USEDEFAULT, 
            CW_USEDEFAULT,
             NULL, 0))
      return FALSE;
   }

   pWnd->SetParent(&mWndInvisible);

  return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

以下是对话框的屏幕截图.当我按下关闭或交叉按钮时, 首先看起来像这样的对话框变成了这个 不到半秒,然后消失(隐藏).

c++ winapi mfc visual-studio visual-c++

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

mfc ×1

visual-c++ ×1

visual-studio ×1

winapi ×1