Класс CMDIChildWndEx
Класс CMDIChildWndEx
предоставляет функциональные возможности дочернего окна интерфейса windows с несколькими документами (MDI). Он расширяет функциональные возможности класса CMDIChildWnd. Платформа требует этот класс, если приложение MDI использует определенные классы MFC.
Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.
Синтаксис
class CMDIChildWndEx : public CMDIChildWnd
Участники
Открытые методы
Имя | Описание |
---|---|
CMDIChildWndEx::ActivateTopLevelFrame | Вызывается внутренне платформой для активации кадра верхнего уровня, когда приложение должно быть активировано на вкладке панели задач. |
CMDIChildWndEx::AddDockSite |
Этот метод не используется или не реализуется. |
CMDIChildWndEx::AddPane | Добавляет панель. |
CMDIChildWndEx::AddTabbedPane | Добавляет панель табуляции. |
CMDIChildWndEx::AdjustDockingLayout | Настраивает макет док-станции. |
CMDIChildWndEx::CanShowOnMDITabs | |
CMDIChildWndEx::CanShowOnTaskBarTabs | Сообщает платформе, можно ли отображать этот дочерний элемент MDI на вкладках панели задач Windows 7. |
CMDIChildWndEx::CanShowOnWindowsList | Возвращает значение TRUE, если имя дочернего окна MDI можно отобразить в диалоговом окне класса CMFCWindowsManagerDialog. В противном случае возвращает значение FALSE. |
CMDIChildWndEx::CreateObject |
Вызывается платформой для создания динамического экземпляра этого типа класса. |
CMDIChildWndEx::D ockPane | Закрепление области. |
CMDIChildWndEx::D ockPaneLeftOf | Закрепляет одну область слева от другой области. |
CMDIChildWndEx::EnableAutoHidePanes | Включает режим автоматического скрытия панелей при закреплении на указанных сторонах окна. |
CMDIChildWndEx::EnableDocking | Включает закрепление дочернего окна к главному кадру. |
CMDIChildWndEx::EnableTaskbarThumbnailClipRect | Включает или отключает автоматическое выделение части клиентской области окна, отображаемой в виде эскиза этого окна на панели задач. |
CMDIChildWndEx::GetDockingManager | |
CMDIChildWndEx::GetDocumentName | Возвращает имя документа, отображаемого в дочернем окне MDI. |
CMDIChildWndEx::GetFrameIcon | Вызывается платформой для получения значка дочернего окна MDI. |
CMDIChildWndEx::GetFrameText | Вызывается платформой для получения текста дочернего окна MDI. |
CMDIChildWndEx::GetPane | Находит область по указанному идентификатору элемента управления. |
CMDIChildWndEx::GetRelatedTabGroup | |
CMDIChildWndEx::GetTabbedPane | Возвращает указатель на внедренную панель док-станции, преобразованную в документ с вкладками. |
CMDIChildWndEx::GetTabProxyWnd | Возвращает окно прокси-сервера табуляции, зарегистрированное на вкладках панели задач Windows 7. |
CMDIChildWndEx::GetTaskbarPreviewWnd | Вызывается платформой, когда требуется получить дочернее окно (обычно окно представления или разделения), которое будет отображаться на вкладке панели задач Windows 7. |
CMDIChildWndEx::GetTaskbarThumbnailClipRect | Вызывается платформой, когда она должна выбрать часть клиентской области окна, чтобы отобразить эскиз этого окна на панели задач. |
CMDIChildWndEx::GetThisClass |
Вызывается платформой для получения указателя на объект CRuntimeClass , связанный с этим типом класса. |
CMDIChildWndEx::GetToolbarButtonToolTipText | Вызывается платформой для получения подсказки для кнопки панели инструментов. |
CMDIChildWndEx::InsertPane | Регистрирует указанную область в диспетчере закреплений. |
CMDIChildWndEx::InvalidateIconicBitmaps | Отменяет представление символьного растрового изображения дочернего MDI. |
CMDIChildWndEx::IsPointNearDockSite | Определяет, находится ли указанная точка рядом с сайтом док-станции. |
CMDIChildWndEx::IsReadOnly | Возвращает значение TRUE, если документ, отображаемый в дочернем окне, доступен только для чтения. В противном случае возвращает значение FALSE. |
CMDIChildWndEx::IsRegisteredWithTaskbarTabs | Возвращает значение TRUE, если дочерний элемент MDI успешно зарегистрирован на вкладках панели задач Windows 7. |
CMDIChildWndEx::IsTabbedPane | Возвращает значение TRUE, если дочернее окно MDI содержит область док-станции. В противном случае возвращает значение FALSE. |
CMDIChildWndEx::IsTaskbarTabsSupportEnabled | Указывает, может ли дочерний элемент MDI отображаться на вкладках панели задач Windows 7. |
CMDIChildWndEx::IsTaskbarThumbnailClipRectEnabled | Указывает, включена или отключена ли автоматическая выбор части клиентской области окна, отображаемой в виде эскиза этого окна на панели задач. |
CMDIChildWndEx::m_dwDefaultTaskbarTabPropertyFlags | Сочетание флагов, передаваемых платформой в метод SetTaskbarTabProperties, когда вкладка (дочерний элемент MDI) регистрируется на вкладках панели задач Windows 7. Сочетание по умолчанию — STPF_USEAPPTHUMBNAILWHENACTIVE | STPF_USEAPPPEEKWHENACTIVE . |
CMDIChildWndEx::OnGetIconicLivePreviewBitmap | Вызывается платформой, когда требуется получить растровое изображение для динамической предварительной версии дочернего элемента MDI. |
CMDIChildWndEx::OnGetIconicThumbnail | Вызывается платформой, когда требуется получить растровое изображение для знаковых эскизов дочернего элемента MDI. |
CMDIChildWndEx::OnMoveMiniFrame | Вызывается платформой для перемещения окна мини-кадра. |
CMDIChildWndEx::OnPressTaskbarThmbnailCloseButton | Вызывается платформой, когда пользователь нажимает кнопку закрытия на вкладке "Панель задач". |
CMDIChildWndEx::OnSetPreviewMode | Вызывается платформой для ввода или выхода из режима предварительного просмотра печати. |
CMDIChildWndEx::OnTaskbarTabThumbnailActivate | Вызывается платформой, когда эскиз вкладки "Панель задач" должен обрабатывать WM_ACTIVATE сообщения. |
CMDIChildWndEx::OnTaskbarTabThumbnailMouseActivate | Вызывается платформой, когда эскиз вкладки "Панель задач" должен обрабатывать WM_MOUSEACTIVATE сообщения. |
CMDIChildWndEx::OnTaskbarTabThumbnailStretch | Вызывается платформой, когда необходимо растянуть растровое изображение для эскиза вкладки панели задач Windows 7 для дочернего элемента MDI. |
CMDIChildWndEx::OnUpdateFrameTitle | Вызывается платформой для обновления заголовка кадра. (Переопределяет CMDIChildWnd::OnUpdateFrameTitle .) |
CMDIChildWndEx::P aneFromPoint | Возвращает область, содержащую заданную точку. |
CMDIChildWndEx::PreTranslateMessage |
Используется классом CWinApp для преобразования сообщений окна перед их передачей функциям Windows TranslateMessage и DispatchMessage . (Переопределяет CWnd::PreTranslateMessage.) |
CMDIChildWndEx::RecalcLayout | Пересчитывает макет окна. |
CMDIChildWndEx::RegisterTaskbarTab | Регистрирует дочерний элемент MDI на вкладках панели задач Windows 7. |
CMDIChildWndEx::RemovePaneFromDockManager | Удаляет панель из диспетчера док-станции. |
CMDIChildWndEx::SetRelatedTabGroup | |
CMDIChildWndEx::SetTaskbarTabActive | Активирует соответствующую вкладку панели задач Windows 7. |
CMDIChildWndEx::SetTaskbarTabOrder | Вставка дочернего элемента MDI перед указанным окном на вкладках панели задач Windows 7. |
CMDIChildWndEx::SetTaskbarTabProperties | Задает свойства для вкладки панели задач Windows 7. |
CMDIChildWndEx::SetTaskbarThumbnailClipRect | Вызывается внутренне платформой, чтобы задать прямоугольник для вырезки, чтобы выбрать часть клиентской области окна для отображения в виде эскиза этого окна на панели задач. |
CMDIChildWndEx::ShowPane | |
CMDIChildWndEx::UnregisterTaskbarTab | Удаляет дочерний элемент MDI на вкладках панели задач Windows 7. |
CMDIChildWndEx::UpdateTaskbarTabIcon | Обновляет значок вкладки панели задач Windows 7. |
Замечания
Чтобы воспользоваться преимуществами расширенных функций док-станции в приложениях MDI, наследуйте класс дочернего окна MDI приложения CMDIChildWndEx
вместо CMDIChildWnd.
Пример
Следующий пример является производным от CMDIChildWndEx
класса. Этот фрагмент кода поставляется из примера VisualStudioDemo: приложение MFC Visual Studio.
class CChildFrame : public CMDIChildWndEx
{
DECLARE_DYNCREATE(CChildFrame)
public:
CChildFrame();
// Overrides
public:
virtual BOOL PreCreateWindow(CREATESTRUCT &cs);
virtual void ActivateFrame(int nCmdShow = -1);
virtual BOOL IsReadOnly();
virtual LPCTSTR GetDocumentName(CObject **pObj);
// Implementation
public:
virtual ~CChildFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext &dc) const;
#endif
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
DECLARE_MESSAGE_MAP()
};
Иерархия наследования
Требования
Заголовок: afxMDIChildWndWndEx.h
CMDIChildWndEx::AddPane
Добавляет панель.
BOOL AddPane(
CBasePane* pControlBar,
BOOL bTail = TRUE);
Параметры
pControlBar
[in] Указатель на область.
bTail
[in] True, чтобы добавить панель в конец списка панелей для диспетчера закреплений; в противном случае — ЗНАЧЕНИЕ FALSE.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если область успешно зарегистрирована в диспетчере закреплений; в противном случае — ЗНАЧЕНИЕ FALSE.
CMDIChildWndEx::AddTabbedPane
Добавляет панель табуляции.
void AddTabbedPane(CDockablePane* pControlBar);
Параметры
pControlBar
[in] Указатель на область.
CMDIChildWndEx::AdjustDockingLayout
Настраивает макет док-станции.
virtual void AdjustDockingLayout(HDWP hdwp = NULL);
Параметры
hdwp
[in] Обработка структуры отложенного положения окна.
CMDIChildWndEx::CanShowOnMDITabs
virtual BOOL CanShowOnMDITabs();
Возвращаемое значение
Замечания
CMDIChildWndEx::CanShowOnWindowsList
Указывает, можно ли отображать имя дочернего окна MDI в диалоговом окне класса CMFCWindowsManagerDialog.
virtual BOOL CanShowOnWindowsList();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если окно может отображаться в диалоговом окне Windows ; в противном случае — ЗНАЧЕНИЕ FALSE.
Замечания
Переопределите этот метод в производном классе и возвращает значение FALSE, если окно не должно отображаться в диалоговом окне Windows . Эта функция вызывается из CMFCWindowsManagerDialog
.
CMDIChildWndEx::D ockPane
Закрепление области.
void DockPane(
CBasePane* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL);
Параметры
pBar
[in] Указатель на область.
nDockBarID
[in] Идентификатор области.
lpRect
[in] Указатель на прямоугольник.
Замечания
Параметр lpRect не используется.
CMDIChildWndEx::D ockPaneLeftOf
Закрепляет одну область слева от другой области.
BOOL DockPaneLeftOf(
CPane* pBar,
CPane* pLeftOf);
Параметры
pBar
Указатель на область, которая должна быть закреплена.
pLeftOf
Указатель на область, которая служит точкой ссылки.
Возвращаемое значение
TRUE при успешном выполнении, FALSE при сбое.
Замечания
Этот метод принимает область, указанную pBar , и закрепляет ее в левой части области, указанной pLeftOf.
Вызовите этот метод, если требуется закрепить несколько панелей в предопределенном порядке.
CMDIChildWndEx::EnableAutoHidePanes
Включает режим автоматического скрытия панелей при закреплении на указанных сторонах окна.
BOOL EnableAutoHidePanes(DWORD dwDockStyle);
Параметры
dwDockStyle
[in] Указывает стороны главного окна фрейма, которое включено. Используйте один или несколько следующих флагов.
CBRS_ALIGN_LEFT
CBRS_ALIGN_RIGHT
CBRS_ALIGN_TOP
CBRS_ALIGN_BOTTOM
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если метод успешно выполнен; в противном случае ЗНАЧЕНИЕ FALSE.
CMDIChildWndEx::EnableDocking
Включает закрепление дочернего окна к главному кадру.
BOOL EnableDocking(DWORD dwDockStyle);
Параметры
dwDockStyle
[in] Указывает выравнивание док-станции для включения.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если метод успешно выполнен; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Вызовите этот метод, чтобы включить выравнивание прикрепления к главному кадру. Вы можете передать сочетание флагов CBRS_ALIGN_ (дополнительные сведения см. в разделе CControlBar::EnableDocking).
CMDIChildWndEx::GetDockingManager
CDockingManager* GetDockingManager();
Возвращаемое значение
Замечания
CMDIChildWndEx::GetDocumentName
Возвращает имя документа, отображаемого в дочернем окне MDI.
virtual LPCTSTR GetDocumentName(CObject** pObj);
Возвращаемое значение
Указатель на строку, содержащую имя документа.
Замечания
Документ — это то, что отображает дочернее окно MDI. Как правило, в окне отображаются данные, загруженные или сохраненные в файл. Таким образом, имя документа — это имя файла. Реализация по умолчанию возвращает строку, полученную GetDocumentName
из CDocument::GetPathName
.
Если в окне отображается документ, который не загружен из файла, переопределите этот метод в производном классе и верните уникальный идентификатор документа.
GetDocumentName
вызывается платформой при сохранении состояния всех открытых документов. Возвращаемая строка записывается в реестр.
Когда платформа восстанавливает состояние позже, имя документа считывается из реестра и передается в CMDIFrameWndEx::CreateDocumentWindow. Переопределите этот метод в классе, производном от CMDIFrameWndEx, и создайте или откройте документ с таким именем и считывает его в файле с таким именем. Если документ не основан на файле, создайте документ на основе самого идентификатора документа. Предыдущие действия следует выполнять только в том случае, если планируется сохранить и восстановить документы.
Пример
В следующем примере иллюстрируется использование метода GetDocumentName
. Этот фрагмент кода поставляется из примера VisualStudioDemo: приложение MFC Visual Studio.
LPCTSTR CChildFrame::GetDocumentName(CObject **pObj)
{
if (DYNAMIC_DOWNCAST(CStartView, GetActiveView()) != NULL)
{
return g_strStartViewName;
}
return CMDIChildWndEx::GetDocumentName(pObj);
}
CMDIChildWndEx::GetFrameIcon
Вызывается платформой для получения значка дочернего окна MDI.
virtual HICON GetFrameIcon() const;
Возвращаемое значение
Дескриптор значка окна.
Замечания
Этот метод вызывается платформой для определения значка, отображаемого на вкладке MDI, содержащей окно дочернего фрейма MDI.
По умолчанию этот метод возвращает значок окна. Переопределяется GetFrameIcon
в производном CMDIChildWndEx
классе, чтобы настроить это поведение.
CMDIChildWndEx::GetFrameText
Вызывается платформой для получения текста дочернего окна MDI.
virtual CString GetFrameText() const;
Возвращаемое значение
Строка, содержащая текст окна кадра.
Замечания
Этот метод вызывается платформой, чтобы определить, какой текст будет отображаться на вкладке MDI, содержащей окно дочернего фрейма MDI.
По умолчанию этот метод возвращает текст окна. Переопределяется GetFrameText
в производном CMDIChildWndEx
классе, чтобы настроить это поведение.
CMDIChildWndEx::GetPane
Находит область по указанному идентификатору элемента управления.
CBasePane* GetPane(UINT nID);
Параметры
nID
[in] Идентификатор элемента управления области для поиска.
Возвращаемое значение
Указатель на область при обнаружении, в противном случае — ЗНАЧЕНИЕ NULL.
CMDIChildWndEx::GetRelatedTabGroup
CMFCTabCtrl* GetRelatedTabGroup();
Возвращаемое значение
Замечания
CMDIChildWndEx::GetTabbedPane
Возвращает указатель на панель закрепления, которая входит в группу документов с вкладками MDI.
CDockablePane* GetTabbedPane() const;
Возвращаемое значение
Указатель на панель закрепления, которая входит в группу документов с вкладками MDI.
CMDIChildWndEx::GetToolbarButtonToolTipText
Вызывается платформой для получения подсказки для кнопки панели инструментов.
virtual BOOL GetToolbarButtonToolTipText(
CMFCToolBarButton*,
CString&);
Возвращаемое значение
Значение TRUE, если подсказка отображается. Реализация по умолчанию возвращает FALSE.
Замечания
Переопределите этот метод, если вы хотите отобразить пользовательские подсказки инструментов для кнопок панели инструментов.
CMDIChildWndEx::InsertPane
Регистрирует указанную область в диспетчере закреплений.
BOOL InsertPane(
CBasePane* pControlBar,
CBasePane* pTarget,
BOOL bAfter = TRUE);
Параметры
pControlBar
[in] Указатель на область для вставки.
pTarget
[in] Указатель на смежную область.
bAfter
[in] Если значение TRUE, pControlBar вставляется после pTarget. Если значение FALSE, pControlBar вставляется перед pTarget.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если метод успешно выполнен, значение FALSE в противном случае.
CMDIChildWndEx::IsPointNearDockSite
Определяет, находится ли указанная точка рядом с сайтом док-станции.
BOOL IsPointNearDockSite(
CPoint point,
DWORD& dwBarAlignment,
BOOL& bOuterEdge) const;
Параметры
point
[in] Указанная точка.
dwBarAlignment
[in] Указывает, какой край находится рядом. Возможные значения: CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP и CBRS_ALIGN_BOTTOM
bOuterEdge
[in] ЗНАЧЕНИЕ TRUE, если точка находится вблизи внешней границы док-сайта; Значение FALSE в противном случае.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если точка находится рядом с сайтом док-станции; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Точка находится рядом с сайтом док-станции, когда он находится в пределах конфиденциальности, заданной в диспетчере закреплений. Чувствительность по умолчанию составляет 15 пикселей.
CMDIChildWndEx::IsReadOnly
Указывает, доступен ли документ, отображаемый в дочернем окне, только для чтения.
virtual BOOL IsReadOnly();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если документ доступен только для чтения; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
Эта функция используется для предотвращения сохранения документов только для чтения.
Пример
В следующем примере показано переопределение IsReadOnly
метода. Этот фрагмент кода поставляется из примера VisualStudioDemo: приложение MFC Visual Studio.
BOOL CChildFrame::IsReadOnly()
{
return DYNAMIC_DOWNCAST(CStartView, GetActiveView()) != NULL;
}
CMDIChildWndEx::IsTabbedPane
Указывает, содержит ли дочернее окно MDI область док-станции.
BOOL IsTabbedPane() const;
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если дочернее окно MDI содержит панель док-станции, преобразованную в документ с вкладками; в противном случае ЗНАЧЕНИЕ FALSE.
CMDIChildWndEx::OnMoveMiniFrame
Вызывается платформой для перемещения окна мини-кадра.
virtual BOOL OnMoveMiniFrame(CWnd* pFrame);
Параметры
pFrame
[in] Указатель на окно мини-кадра.
Возвращаемое значение
Значение TRUE, если метод успешно выполнен, в противном случае — ЗНАЧЕНИЕ FALSE.
CMDIChildWndEx::OnSetPreviewMode
Вызывается платформой для ввода или выхода из режима предварительного просмотра печати.
virtual void OnSetPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
Параметры
bPreview
[in] Если значение TRUE, введите режим предварительного просмотра печати. Если значение FALSE, закройте режим предварительного просмотра печати.
pState
[in] Указатель на структуру состояния предварительного просмотра печати.
CMDIChildWndEx::OnUpdateFrameTitle
Вызывается платформой для обновления заголовка кадра.
virtual void OnUpdateFrameTitle(BOOL bAddToTitle);
Параметры
bAddToTitle
[in] Если значение TRUE, добавьте имя документа в заголовок.
CMDIChildWndEx::P aneFromPoint
Возвращает область, содержащую заданную точку.
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
bool bExactBar,
CRuntimeClass* pRTCBarType) const;
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
DWORD& dwAlignment,
CRuntimeClass* pRTCBarType) const;
Параметры
point
[in] Указывает точку в координатах экрана для проверки.
nSensitivity
[in] Увеличьте область поиска на эту сумму. Панель удовлетворяет критериям поиска, если указанная точка попадает в увеличенную область.
bExactBar
[in] Значение TRUE, чтобы игнорировать параметр nSensitivity ; в противном случае — ЗНАЧЕНИЕ FALSE.
pRTCBarType
[in] Если значение NULL не равно NULL, метод выполняет поиск только в области указанного типа.
dwAlignment
[in] Если область найдена в указанной точке, этот параметр содержит сторону панели, которая была ближе всего к указанной точке. Дополнительные сведения см. в разделе с примечаниями.
Возвращаемое значение
Указатель на производный CBasePane
объект, содержащий указанную точку, или NULL, если панель не найдена.
Замечания
Вызовите этот метод, чтобы определить, содержит ли панель указанную точку в соответствии с указанными условиями, такими как класс среды выполнения и видимость.
При возврате функции и обнаружении области dwAlignment содержит выравнивание указанной точки. Например, если точка ближе всего к верхней части области, для dwAlignment задано значение CBRS_ALIGN_TOP.
CMDIChildWndEx::RecalcLayout
Пересчитывает макет окна.
virtual void RecalcLayout(BOOL bNotify = TRUE);
Параметры
bNotify
[in] Если значение TRUE, активный элемент на месте для окна получает уведомление об изменении макета.
CMDIChildWndEx::RemovePaneFromDockManager
Удаляет панель из диспетчера док-станции.
void RemovePaneFromDockManager(
CBasePane* pControlBar,
BOOL bDestroy,
BOOL bAdjustLayout,
BOOL bAutoHide,
CBasePane* pBarReplacement);
Параметры
pControlBar
[in] Указатель на панель для удаления.
bDesk
[in] Если значение TRUE, удаленная панель будет уничтожена.
bAdjustLayout
[in] Если значение TRUE, измените макет док-станции немедленно.
bAutoHide
[in] Если значение TRUE, макет закрепления связан со списком полос автохидентов. Если значение FALSE, то макет закрепления связан со списком регулярных панелей.
pBarReplacement
[in] Указатель на панель, которая заменяет удаленную панель.
CMDIChildWndEx::SetRelatedTabGroup
void SetRelatedTabGroup(CMFCTabCtrl* p);
Параметры
[in] p
Замечания
CMDIChildWndEx::ShowPane
void ShowPane(
CBasePane* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
Параметры
[in] pBar
[in] bShow
[in] bDelay
[in] bActivate
Замечания
CMDIChildWndEx::UpdateTaskbarTabIcon
Обновляет значок вкладки панели задач Windows 7.
virtual void UpdateTaskbarTabIcon(HICON hIcon);
Параметры
hIcon
Дескриптор значка, отображаемого на вкладке панели задач Windows 7.
Замечания
CMDIChildWndEx::UnregisterTaskbarTab
Удаляет дочерний элемент MDI на вкладках панели задач Windows 7.
void UnregisterTaskbarTab(BOOL bCheckRegisteredMDIChildCount = TRUE);
Параметры
bCheckRegisteredMDIChildCount
Указывает, требуется ли эта функция проверить количество дочерних элементов MDI, зарегистрированных на вкладках MDI. Если это число равно 0, эта функция удаляет прямоугольник с вырезки из эскиза панели задач приложения.
Замечания
CMDIChildWndEx::SetTaskbarThumbnailClipRect
Вызывается платформой, чтобы задать прямоугольник для вырезки, чтобы выбрать часть клиентской области окна для отображения в виде эскиза этого окна на панели задач.
virtual BOOL SetTaskbarThumbnailClipRect(CRect rect);
Параметры
rect
Задает новый прямоугольник для вырезки. Если прямоугольник пуст или null, вырезка удаляется.
Возвращаемое значение
Значение TRUE, если успешно; в противном случае — FALSE.
Замечания
CMDIChildWndEx::SetTaskbarTabProperties
Задает свойства для вкладки панели задач Windows 7.
void SetTaskbarTabProperties(DWORD dwFlags);
Параметры
dwFlags
Сочетание значений STPFLAG. Дополнительные сведения см. в разделе ITaskbarList4::SetTabProperties.
Замечания
CMDIChildWndEx::SetTaskbarTabOrder
Вставляет дочерний элемент MDI перед указанным окном на вкладках панели задач Windows 7.
void SetTaskbarTabOrder(CMDIChildWndEx* pWndBefore = NULL);
Параметры
pWndBefore
Указатель на дочернее окно MDI, эскиз которого вставляется слева. Это окно уже должно быть зарегистрировано через RegisterTaskbarTab
. Если это значение равно NULL, новый эскиз добавляется в конец списка.
Замечания
CMDIChildWndEx::SetTaskbarTabActive
Активирует соответствующую вкладку панели задач Windows 7.
void SetTaskbarTabActive();
Замечания
CMDIChildWndEx::RegisterTaskbarTab
Регистрирует дочерний элемент MDI на вкладках панели задач Windows 7.
virtual void RegisterTaskbarTab(CMDIChildWndEx* pWndBefore = NULL);
Параметры
pWndBefore
Указатель на дочернее окно MDI, эскиз которого вставляется слева. Это окно уже должно быть зарегистрировано через RegisterTaskbarTab
. Если это значение равно NULL, новый эскиз добавляется в конец списка.
Замечания
CMDIChildWndEx::OnTaskbarTabThumbnailStretch
Вызывается платформой, когда необходимо растянуть растровое изображение для эскиза вкладки панели задач Windows 7 для дочернего элемента MDI.
virtual BOOL OnTaskbarTabThumbnailStretch(
HBITMAP hBmpDst,
const CRect& rectDst,
HBITMAP hBmpSrc,
const CRect& rectSrc);
Параметры
hBmpDst
Дескриптор целевого растрового изображения.
rectDst
Задает прямоугольник назначения.
hBmpSrc
Дескриптор исходного растрового изображения.
rectSrc
Указывает исходный прямоугольник.
Замечания
Требование: afxmdichildwndex.h
CMDIChildWndEx::OnTaskbarTabThumbnailMouseActivate
Вызывается платформой, когда эскиз вкладки "Панель задач" должен обрабатывать сообщение WM_MOUSEACTIVATE.
virtual int OnTaskbarTabThumbnailMouseActivate(
CWnd* pDesktopWnd,
UINT nHitTest,
UINT message);
Параметры
pDesktopWnd
Указывает указатель на родительское окно верхнего уровня активированного окна. Указатель может быть временным и не должен храниться.
nHitTest
Указывает код области попадания. Тест попадания — это тест, определяющий расположение курсора.
message
Указывает номер сообщения мыши.
Замечания
Реализация по умолчанию активирует связанный дочерний кадр MDI.
CMDIChildWndEx::OnTaskbarTabThumbnailActivate
Вызывается платформой, когда эскиз вкладки "Панель задач" должен обрабатывать сообщение WM_ACTIVATE.
virtual void OnTaskbarTabThumbnailActivate(
UINT nState,
CWnd* pWndOther,
BOOL bMinimized);
Параметры
nState
Указывает, активируется ли CWnd
активируется или деактивируется.
pWndOther
Указатель на активацию CWnd
или деактивацию. Указатель может иметь значение NULL и может быть временным.
bMinimized
Указывает свернутое состояние активации CWnd
или деактивации. Значение TRUE указывает, что окно свернуто.
Замечания
Реализация по умолчанию активирует связанный дочерний кадр MDI.
CMDIChildWndEx::OnPressTaskbarThmbnailCloseButton
Вызывается платформой, когда пользователь нажимает кнопку закрытия на эскизе вкладки панели задач.
virtual void OnPressTaskbarThmbnailCloseButton();
Замечания
CMDIChildWndEx::OnGetIconicThumbnail
Вызывается платформой, когда требуется получить растровое изображение для знаковых эскизов дочернего элемента MDI.
virtual HBITMAP OnGetIconicThumbnail(
int nWidth,
int nHeight);
Параметры
nWidth
Задает ширину требуемого растрового изображения.
nHeight
Указывает высоту требуемого растрового изображения.
Замечания
CMDIChildWndEx::OnGetIconicLivePreviewBitmap
Вызывается платформой, когда требуется получить растровое изображение для динамического предварительного просмотра дочернего элемента MDI.
virtual HBITMAP OnGetIconicLivePreviewBitmap(
BOOL bIsMDIChildActive,
CPoint& ptLocation);
Параметры
bIsMDIChildActive
Этот параметр имеет значение TRUE, если растровое изображение запрашивается для дочернего элемента MDI, которое в настоящее время активно, а главное окно не свернуто. Обработка по умолчанию в этом случае принимает моментальный снимок главного окна.
ptLocation
Указывает расположение растрового изображения в координатах клиента основного (верхнего уровня). Эта точка должна быть предоставлена вызывающим абонентом.
Возвращаемое значение
При обработке возвращает дескриптор допустимой растровой карты 32bpp, в противном случае — ЗНАЧЕНИЕ NULL.
Замечания
Переопределите этот метод в производном классе и возвращает допустимое растровое изображение 32bpp для динамического предварительного просмотра дочернего MDI. Этот метод вызывается только при отображении дочернего элемента MDI на вкладках панели задач Windows 7. Если вы возвращаете значение NULL, MFC вызывает обработчики по умолчанию и получает растровые изображения с помощью PrintClient
или PrintWindow
.
CMDIChildWndEx::m_dwDefaultTaskbarTabPropertyFlags
Сочетание флагов, передаваемых платформой SetTaskbarTabProperties
в метод, когда вкладка (дочерний элемент MDI) регистрируется на вкладках панели задач Windows 7.
AFX_IMPORT_DATA static DWORD m_dwDefaultTaskbarTabPropertyFlags;
Замечания
Сочетание по умолчанию — STPF_USEAPPTHUMBNAILWHENACTIVE | STPF_USEAPPPEEKWHENACTIVE
.
CMDIChildWndEx::IsTaskbarThumbnailClipRectEnabled
Указывает, включена или отключена ли автоматическая выбор части клиентской области окна, отображаемой в виде эскиза этого окна на панели задач.
BOOL IsTaskbarThumbnailClipRectEnabled() const;
Возвращаемое значение
Возвращает значение TRUE, если включена автоматическая выбор части клиентской области окна; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
CMDIChildWndEx::IsTaskbarTabsSupportEnabled
Указывает, может ли дочерний элемент MDI отображаться на вкладках панели задач Windows 7.
BOOL IsTaskbarTabsSupportEnabled();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если дочерний элемент MDI может отображаться на вкладках панели задач Windows 7; ЗНАЧЕНИЕ FALSE, если дочерний элемент MDI не может отображаться на вкладках панели задач Windows 7.
Замечания
CMDIChildWndEx::IsRegisteredWithTaskbarTabs
Возвращает значение TRUE, если дочерний элемент MDI успешно зарегистрирован на вкладках панели задач Windows 7.
BOOL IsRegisteredWithTaskbarTabs();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если дочерний элемент MDI зарегистрирован на вкладках панели задач Windows 7; в противном случае ЗНАЧЕНИЕ FALSE.
Замечания
CMDIChildWndEx::InvalidateIconicBitmaps
Недопустимое представление знакового растрового изображения дочернего элемента MDI.
BOOL InvalidateIconicBitmaps();
Возвращаемое значение
Возвращает ЗНАЧЕНИЕ FALSE, если поддержка панели задач Windows 7 отключена, или дочерний элемент MDI не зарегистрирован на вкладках панели задач Windows 7; в противном случае возвращает значение TRUE.
Замечания
Должен вызываться при изменении динамического содержимого или размера дочернего элемента MDI.
CMDIChildWndEx::GetTaskbarThumbnailClipRect
Вызывается платформой, когда она должна выбрать часть клиентской области окна, чтобы отобразить эскиз этого окна на панели задач.
virtual CRect GetTaskbarThumbnailClipRect() const;
Возвращаемое значение
Прямоугольник в координатах окон. Этот прямоугольник сопоставляется с клиентской областью кадра верхнего уровня. Прямоугольник должен быть пустым, чтобы очистить прямоугольник обрезки.
Замечания
CMDIChildWndEx::GetTaskbarPreviewWnd
Вызывается платформой, когда требуется получить дочернее окно (обычно окно представления или разделения), отображаемое на эскизе панели задач Windows 7.
virtual CWnd* GetTaskbarPreviewWnd();
Возвращаемое значение
Должен возвращать допустимый указатель на CWnd
объект, предварительный просмотр которого должен отображаться на вкладке панели задач Windows 7, связанной с этим дочерним элементом MDI. Реализация по умолчанию возвращает дочернее окно этого дочернего элемента MDI с идентификатором элемента управления AFX_IDW_PANE_FIRST (который обычно является производным классом CView
).
Замечания
CMDIChildWndEx::GetTabProxyWnd
Возвращает окно прокси-сервера вкладки, зарегистрированное на вкладках панели задач Windows 7.
CMDITabProxyWnd* GetTabProxyWnd();
Возвращаемое значение
Указатель на CMDITabProxyWnd
объект, зарегистрированный на вкладках панели задач Windows 7.
Замечания
CMDIChildWndEx::EnableTaskbarThumbnailClipRect
Включает или отключает автоматическое выделение части клиентской области окна, отображаемой в виде эскиза этого окна на панели задач.
void EnableTaskbarThumbnailClipRect(BOOL bEnable = TRUE);
Параметры
bEnable
Указывает, следует ли включить (TRUE) или отключить автоматический выбор части клиентской области окна.
Замечания
CMDIChildWndEx::CanShowOnTaskBarTabs
Сообщает платформе, можно ли отображать этот дочерний элемент MDI на вкладках панели задач Windows 7.
virtual BOOL CanShowOnTaskBarTabs();
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если содержимое дочернего элемента MDI можно отобразить на эскизах панели задач Windows 7.
Замечания
Переопределите этот метод в производном классе и верните значение FALSE, чтобы отключить внешний вид этого дочернего элемента MDI на вкладках панели задач Windows 7.
CMDIChildWndEx::ActivateTopLevelFrame
Вызывается платформой для активации кадра верхнего уровня при активации приложения на вкладке панели задач.
virtual void ActivateTopLevelFrame();
Замечания
См. также
Диаграмма иерархии
Классы
Класс CMDIChildWnd
Класс CMFCWindowsManagerDialog
Класс CMDIFrameWndEx