我试图让一个没有边框或框架的CDialog显示在任务栏中。CDialog不显示在任务栏
它在CWinApp的InitInstance(用于更新应用程序)中创建,我试图设置WS_EX_APPWINDOW标志,但它仍然不显示在任务栏中。
任何想法?
编辑: 如在资源中定义:
IDD_UPDATEFORM_DIALOG DIALOGEX 0, 0, 246, 124
STYLE WS_POPUP
EXSTYLE WS_EX_APPWINDOW
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
END
作为用于:
UpdateForm *dlg = new UpdateForm(UPDATE_FILES, CWnd::GetDesktopWindow());
INT_PTR nResponse = dlg->DoModal();
UpdateForm::UpdateForm(int updateType, CWnd* pParent) : CDialog(IDD_UPDATEFORM_DIALOG, pParent)
{
m_bInit = false;
m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON);
m_Progress = new DesuraProgress();
m_updateType = updateType;
}
仍显示像这样:
聪明,但当有人有非标准的边框尺寸时,它会失败。这些是可配置的,你知道。 – 2010-07-13 03:35:26
嗯,任何方式来获得客户区域抵消? – Lodle 2010-07-13 05:09:21