Chopin2001 Ответов: 1

Как создать диалог без строки меню


Я не знаю, как удалить строку меню из диалогового окна, которое наследует CDockablePane, созданную функцией CreateEx в мэйнфрейме MDI(MFC).
Проблема моего диалога заключается в том, что у него есть строка меню со значком " X " для закрытия. Я хочу это убрать.
Спасибо.

Что я уже пробовал:

m_wndOptionBar.CreateEx(NULL, NULL, this, CRect(0, 0, 1250, 50),
    true, 1239,
    WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS |
    WS_CLIPCHILDREN | CBRS_TOP | CBRS_FLOAT_MULTI);
m_wndOptionBar.EnableDocking(CBRS_ALIGN_TOP);
DockPane(&m_wndOptionBar);

Richard MacCutchan

Что такое тип класса m_wndOptionBar.

Richard MacCutchan

Что это за класс такой m_wndOptionBar

1 Ответов

Рейтинг:
1

Michael Haephrati

Если вы пройдете через все Стили Windows[^], и Расширенные Стили Окна [^], вы должны найти ответ.

Кроме того, вы можете удалить кнопку закрытия, используя следующий код (предполагая, что вы получаете дескриптор hwnd):

HMENU hMenu = GetSystemMenu( hWnd, 0 ); 
int nNbItems = GetMenuItemCount(hMenu); 
m_wndOptionBar.RemoveMenu(hMenu, nNbItems - 1, MF_BYPOSITION); 
m_wndOptionBar.RemoveMenu(hMenu, nNbItems - 2, MF_BYPOSITION);