Я хочу, чтобы мой диалог вёл себя как панель с возможностью закрепления. В приложении MDI на основе ленты MFC.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Я хочу, чтобы мой диалог вёл себя как панель с возможностью закрепления. В приложении MDI на основе ленты MFC.

Сообщение Anonymous »

Я создаю диалог, он унаследован от CDialogEx(имя класса диалога DockColorDlg) и создаю другой класс (ColorDockable), наследующий класс CDockablePane. И в моем классе ColorDockable я создаю экземпляр DockColorDlg (DockColorDlg m_wndDialog).
Теперь я звоню из моего Mainfram.cpp и создаю закрепляемое окно, когда я это реализую, оно будет работать, но после несколько раз или несколько сборок окно не будет создано
`# из моего Mainfrm.cpp:*

Код: Выделить всё

if (!m_wndMyDockablePane.Create(_T("Weaves & Color"), this, CRect(0, 0, 200, 200), TRUE,          ID_VIEW_MYDOCKABLEPANE, WS_CHILD | WS_VISIBLE | CBRS_TOP))
{
TRACE0("Failed to create dockable pane\n");
return -1; // fail to create
}

m_wndMyDockablePane.EnableDocking(CBRS_ALIGN_RIGHT | CBRS_ALIGN_LEFT);

DockPane(&m_wndMyDockablePane);

//this in my ColorDockable.cpp
int ColorDockable::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
TRACE("ColorDockable::OnCreate called\n");

if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;

if(!m_wndDialog.Create(IDD_DOC_COLOR_DLG, this));
{
TRACE("Failed to create dialog\n");
return 0; // Fail to create
}
bool check = m_wndDialog.ShowWindow(SW_SHOWNORMAL);
m_wndDialog.SetWindowPos(NULL, 0, 0, lpCreateStruct->cx, lpCreateStruct->cy, SWP_NOZORDER |    SWP_SHOWWINDOW);
//ShowDockableDialog();
return 0;
//но он не создан TRACE("Не удалось создать диалог\n");

Подробнее здесь: https://stackoverflow.com/questions/786 ... mdi-applic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»