Хорошо, поэтому я использую этот код, чтобы скрыть значок на панели задач приложения 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;
}
Вот скриншоты диалогового окна. Когда я нажимаю кнопку закрытия или пересечения, диалоговое окно, которое выглядит как this , в первую очередь превращается в this примерно на полсекунды, а затем исчезает (скрывается).