Mfc 当主对话框在第二个监视器上时显示弹出对话框
我有一个有趣的情况 您可以运行任何Mfc 当主对话框在第二个监视器上时显示弹出对话框,mfc,multiple-monitors,Mfc,Multiple Monitors,我有一个有趣的情况 您可以运行任何CDialog派生的应用程序,并将其移动到第二个监视器上 然后调用一个弹出对话框。我发现弹出对话框显示在主监视器的中心,而不是父对话框的中心 例如: void CMeetingScheduleAssistantDlg::OnOptionsPublishersDatabase() { try { CPublishersDatabaseDlg dlgPublishers(this); dlgPublishers.Do
CDialog
派生的应用程序,并将其移动到第二个监视器上
然后调用一个弹出对话框。我发现弹出对话框显示在主监视器的中心,而不是父对话框的中心
例如:
void CMeetingScheduleAssistantDlg::OnOptionsPublishersDatabase()
{
try
{
CPublishersDatabaseDlg dlgPublishers(this);
dlgPublishers.DoModal();
}
catch (_com_error e)
{
LPCTSTR szError = e.ErrorMessage();
AfxMessageBox(szError);
}
catch (CException* e)
{
e->Delete();
AfxMessageBox(_T("CException"));
}
}
当家长在第二个监视器上时,我们应该如何正确地调用以家长为中心的子弹出对话框?我不能复制这种行为。显示两个对话框的资源定义。还有你的操作系统。可能您正在调用
OnInitDialog
中的CenterWindow
,这会将您的对话框集中到最近的监视器(不一定是主监视器)@BarmakShemirani,这是一个假警报。我忘了我的窗户记得它最后的位置。这就是为什么它会出现在主监视器上。一切都很好。我认为这是错误的原因是因为CuteFTP Pro的行为方式与此相同。至少我的程序还可以。