Вместо того, чтобы иметь все в одном большом диалоге, я смотрю на возможность отображения дочерних диалогов для отдельных групп элементов управления. Идея состоит в том, что они не являются свободно плавающими дочерними диалогами, такими как плавающие панели инструментов, но будут отображаться без заголовка, их положение привязано к родительскому диалогу ... так что при перетаскивании родительского диалога перетаскивается любой открытый дочерний элемент. 1001 *
ПРИМЕЧАНИЕ: эти дочерние окна не находятся внутри родительского диалога, они обычно «приклеиваются» к его краю.
Как лучше всего это сделать в MFC / VC ++ 2005? Для тестирования у меня в настоящее время есть стандартная настройка приложения на основе диалога MFC с CMainDlg
, а затем я создал «диалог виджетов» CWidgetDlg
. Пока что у меня есть переменная-член CWidgetDlg MainDlg::m_Widget
и кнопка на CMainDlg
с обработчиком типа
CMainDlg::OnDisplayWidgetBtn()
{
m_Widget.ShowWindow(TRUE);
}
Но, конечно, у m_Widget нет настроек HWND, и я пытаюсь вспомнить правильный способ сделать это? Для управления диалогами я могу использовать DDX, но как насчет дочерних диалогов?
И это разумный подход, или есть более хороший, более автоматизированный способ?