У меня проблемы с настройкой ширины.Это мой код:
void CWin32FileError::DisplayExceptionMessage()
{
CString strContent = _T(""); // Default shouldn't happen
if (!m_strErrorFile1.IsEmpty() && !m_strErrorFile2.IsEmpty())
{
strContent.Format(_T("Source file: %s\nTarget file: %s"),
(LPCTSTR)m_strErrorFile1, (LPCTSTR)m_strErrorFile2);
}
else
{
strContent.Format(_T("File: %s"), (LPCTSTR)m_strErrorFile1);
}
CTaskDialog dlgTaskError(strContent, Description(), _T("Exception"), TDCBF_OK_BUTTON);
dlgTaskError.SetWindowTitle(_T("Exception"));
dlgTaskError.SetMainIcon(TD_ERROR_ICON);
dlgTaskError.SetFooterIcon(TD_INFORMATION_ICON);
dlgTaskError.SetFooterText(m_strActionDescription);
//dlgTaskError.SetDialogWidth(::GetSystemMetrics(SM_CXSCREEN) / 2);
dlgTaskError.SetDialogWidth(300);
dlgTaskError.DoModal();
}
Вот как выглядит окно сообщения:
При использовании показанного выше экраназначение 300 .Первоначально я пытался использовать:
dlgTaskError.SetDialogWidth(::GetSystemMetrics(SM_CXSCREEN) / 2);
Он не понравился и был почти таким же широким, как экран.Если бы я использовал 500, то выглядело, как будто это было почти 50% экрана.Тем не менее, мой экран имеет ширину чуть менее 2000 пикселей.
В справочной документации указано, что параметром являются пиксели, так почему мой код теперь отображает окно сообщения на 50% ширины экрана (если я включаю свой код)?