1. Я ставил флажок WS_MAXIMIZE прямо в файле ресурсов.
IDD_SCOPE_DLG DIALOGEX 0, 0, 600, 400
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MAXIMIZE
2. Также перегружал OnCreate()
int CScope::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
lpCreateStruct->dwExStyle |= WS_MAXIMIZE;
return 0;
}
В первом случае окно смещается с центра ближе к правому нижнему краю экрана.
Во втором случае вообще ничего не происходит
Кстати, что-то я не нашел в MSDN полного списка флажков lpCreateStruct->dwExStyle
Можно конечно получить текущую резолюцию монитора, а потом изменить размеры окна при помощи Move().
Если ничего не получится, то так и сделаю. Но наверняка есть более простой способ.