Л>пробовал ShowWindow(SW_MAXIMIZE) в OnInitDialog() — не помагает
Эх, не смотрел ты на SHInitDialog, которую упоминал я несколько постов тому назад в ответе на твоё же сообщение...
Обрати внимание на флаг SHIDIF_SIZEDLGFULLSCREEN.
Плюс в WM_SIZE обработчике перемещать контролы желательно.
Это, если всё вручную делать.
Если же вножную, то см., например,
class ТвойДиалог :
public WTL::CStdDialogResizeImpl<ТвойДиалог> ...
А чтобы с WM_SIZE не париться, можно из WTLя же использовать это:
BEGIN_DLGRESIZE_MAP(ТвойДиалог)
DLGRESIZE_CONTROL(IDC_STATIC_ADD, 0)
...
DLGRESIZE_CONTROL(IDC_TREE, DLSZ_SIZE_X|DLSZ_SIZE_Y)
...
END_DLGRESIZE_MAP()
Только не забудть вставить:
BEGIN_MSG_MAP(ТвойДиалог)
...
CHAIN_MSG_MAP(WTL::CStdDialogResizeImpl<ТвойДиалог>)
END_MSG_MAP()
Еще можно ScreenLib заюзать:
здесь
Но мне она как-то не очень...
Здравствуйте, siv, Вы писали:
Я немного не так понял проблему когда задавал ворпрос...
Вобщем я для MFC диалогов юзал свой класс (который базируется на принципе якорей(anchors) — задаешь к контролу несколько якорей и он сам в OnSize таскает и выравнивает как надо)
Но оказалось что в PocketPC диалог сразу ресайзится до размеров экрана т.е. размер диалога не совпадает с тем который был во время Design time и все плывет...
Короче пришлось адаптировать его — при инциализации передавать размеры диалога в Design time — и все заработало