Classe CMDIChildWndEx
A classe CMDIChildWndEx
fornece a funcionalidade de uma janela filho MDI (interface de documento múltiplo) do Windows. Ela estende a funcionalidade da classe CMDIChildWnd. A estrutura requer essa classe quando um aplicativo MDI usa determinadas classes MFC.
Para obter mais detalhes, confira o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.
class CMDIChildWndEx : public CMDIChildWnd
Nome | Descrição |
---|---|
CMDIChildWndEx::ActivateTopLevelFrame | Chamada internamente pela estrutura para ativar o quadro de nível superior quando o aplicativo deve ser ativado a partir de uma guia da barra de tarefas. |
CMDIChildWndEx::AddDockSite |
Este método ainda não foi implementado. |
CMDIChildWndEx::AddPane | Adiciona um painel. |
CMDIChildWndEx::AddTabbedPane | Adiciona um painel com guias. |
CMDIChildWndEx::AdjustDockingLayout | Ajusta o layout de encaixe. |
CMDIChildWndEx::CanShowOnMDITabs | |
CMDIChildWndEx::CanShowOnTaskBarTabs | Informa à estrutura se esse filho MDI pode ser exibido nas guias da barra de tarefas do Windows 7. |
CMDIChildWndEx::CanShowOnWindowsList | Retorna TRUE se o nome da janela filho MDI puder ser exibido na caixa de diálogo Classe CMFCWindowsManagerDialog. Caso contrário, retornará FALSE. |
CMDIChildWndEx::CreateObject |
Chamada pela estrutura para criar uma instância dinâmica desse tipo de classe. |
CMDIChildWndEx::DockPane | Encaixa um painel. |
CMDIChildWndEx::DockPaneLeftOf | Encaixa um painel à esquerda de outro painel. |
CMDIChildWndEx::EnableAutoHidePanes | Habilita o modo de ocultação automática para painéis quando eles são encaixados nos lados especificados da janela. |
CMDIChildWndEx::EnableDocking | Habilita o encaixe da janela filho para o quadro principal. |
CMDIChildWndEx::EnableTaskbarThumbnailClipRect | Habilita ou desabilita a seleção automática de uma parte da área do cliente de uma janela a ser exibida como miniatura dessa janela na barra de tarefas. |
CMDIChildWndEx::GetDockingManager | |
CMDIChildWndEx::GetDocumentName | Retorna o nome do documento exibido na janela filho MDI. |
CMDIChildWndEx::GetFrameIcon | Chamado pela estrutura para recuperar o ícone da janela filho MDI. |
CMDIChildWndEx::GetFrameText | Chamado pela estrutura para recuperar o texto da janela filho MDI. |
CMDIChildWndEx::GetPane | Localiza um painel pela ID de controle especificada. |
CMDIChildWndEx::GetRelatedTabGroup | |
CMDIChildWndEx::GetTabbedPane | Retorna um ponteiro para um painel de encaixe inserido que foi convertido em um documento com guias. |
CMDIChildWndEx::GetTabProxyWnd | Retorna a janela proxy de guia realmente registrada com guias da barra de tarefas do Windows 7. |
CMDIChildWndEx::GetTaskbarPreviewWnd | Chamado pela estrutura quando ele precisa obter uma janela filho (geralmente uma janela de exibição ou divisor) a ser exibida na miniatura da guia da barra de tarefas do Windows 7. |
CMDIChildWndEx::GetTaskbarThumbnailClipRect | Chamado pela estrutura quando precisa selecionar uma parte da área do cliente de uma janela para exibir como a miniatura dessa janela na barra de tarefas. |
CMDIChildWndEx::GetThisClass |
Chamado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe. |
CMDIChildWndEx::GetToolbarButtonToolTipText | Chamado pela estrutura para recuperar uma dica de ferramenta para um botão de barra de ferramentas. |
CMDIChildWndEx::InsertPane | Registra o painel especificado no gerenciador de encaixe. |
CMDIChildWndEx::InvalidateIconicBitmaps | Invalida a representação de bitmap icônico do filho MDI. |
CMDIChildWndEx::IsPointNearDockSite | Determina se um ponto especificado está próximo ao local de encaixe. |
CMDIChildWndEx::IsReadOnly | Retorna TRUE se o documento exibido na janela filho for somente leitura. Caso contrário, retornará FALSE. |
CMDIChildWndEx::IsRegisteredWithTaskbarTabs | Retorna TRUE se o filho MDI foi registrado com êxito nas guias da barra de tarefas do Windows 7. |
CMDIChildWndEx::IsTabbedPane | Retorna TRUE se a janela filho MDI contiver um painel de encaixe. Caso contrário, retornará FALSE. |
CMDIChildWndEx::IsTaskbarTabsSupportEnabled | Informa se o filho MDI pode aparecer nas guias da barra de tarefas do Windows 7. |
CMDIChildWndEx::IsTaskbarThumbnailClipRectEnabled | Informa se a seleção automática de uma parte da área do cliente de uma janela será exibida como miniatura dessa janela na barra de tarefas. |
CMDIChildWndEx::m_dwDefaultTaskbarTabPropertyFlags | Uma combinação de sinalizadores, passada pela estrutura para o método SetTaskbarTabProperties, quando uma guia (filho MDI) está sendo registrada com guias da barra de tarefas do Windows 7. A combinação padrão é STPF_USEAPPTHUMBNAILWHENACTIVE | STPF_USEAPPPEEKWHENACTIVE . |
CMDIChildWndEx::OnGetIconicLivePreviewBitmap | Chamado pela estrutura quando precisa obter um bitmap para visualização dinâmica do filho MDI. |
CMDIChildWndEx::OnGetIconicThumbnail | Chamado pela estrutura quando precisa obter um bitmap para miniatura icônica do filho MDI. |
CMDIChildWndEx::OnMoveMiniFrame | Chamado pela estrutura para mover uma janela com minimoldura. |
CMDIChildWndEx::OnPressTaskbarThmbnailCloseButton | Chamado pela estrutura quando o usuário pressiona o botão Fechar na miniatura da guia Barra de Tarefas. |
CMDIChildWndEx::OnSetPreviewMode | Chamado pela estrutura para entrar ou sair do modo de visualização de impressão. |
CMDIChildWndEx::OnTaskbarTabThumbnailActivate | Chamado pela estrutura quando a miniatura da guia Barra de Tarefas deve processar a mensagem WM_ACTIVATE. |
CMDIChildWndEx::OnTaskbarTabThumbnailMouseActivate | Chamado pela estrutura quando a miniatura da guia Barra de Tarefas deve processar a mensagem WM_MOUSEACTIVATE. |
CMDIChildWndEx::OnTaskbarTabThumbnailStretch | Chamado pela estrutura quando precisa alongar um bitmap para a visualização da miniatura da guia da barra de tarefas do Windows 7 do filho MDI. |
CMDIChildWndEx::OnUpdateFrameTitle | Chamado pela estrutura para atualizar o título do quadro. (Substitui CMDIChildWnd::OnUpdateFrameTitle .) |
CMDIChildWndEx::PaneFromPoint | Retorna o painel que contém o determinado ponto. |
CMDIChildWndEx::PreTranslateMessage |
Usado pela classe CWinApp para converter mensagens de janela antes que elas sejam expedidas para as funções TranslateMessage e DispatchMessage do Windows. (Substitui CWnd::PreTranslateMessage.) |
CMDIChildWndEx::RecalcLayout | Recalcula o layout da janela. |
CMDIChildWndEx::RegisterTaskbarTab | Registra o filho MDI com guias da barra de tarefas do Windows 7. |
CMDIChildWndEx::RemovePaneFromDockManager | Remove um painel do gerenciador de encaixe. |
CMDIChildWndEx::SetRelatedTabGroup | |
CMDIChildWndEx::SetTaskbarTabActive | Ativa a guia correspondente da barra de tarefas do Windows 7. |
CMDIChildWndEx::SetTaskbarTabOrder | Insere o filho MDI antes da janela especificada nas guias da barra de tarefas do Windows 7. |
CMDIChildWndEx::SetTaskbarTabProperties | Define propriedades para uma guia da barra de tarefas do Windows 7. |
CMDIChildWndEx::SetTaskbarThumbnailClipRect | Chamado internamente pela estrutura para definir o retângulo de recorte para selecionar uma parte da área de cliente de uma janela a ser exibida como a miniatura dessa janela na barra de tarefas. |
CMDIChildWndEx::ShowPane | |
CMDIChildWndEx::UnregisterTaskbarTab | Remove o filho MDI das guias da barra de tarefas do Windows 7. |
CMDIChildWndEx::UpdateTaskbarTabIcon | Atualiza o ícone da guia da barra de tarefas do Windows 7. |
Para aproveitar os recursos de encaixe estendido em aplicativos MDI, derive a classe da janela filho MDI de seu aplicativo de CMDIChildWndEx
em vez de CMDIChildWnd.
O exemplo a seguir deriva uma classe de CMDIChildWndEx
. Esse snippet de código vem do Exemplo do VisualStudioDemo: Aplicativo do Visual Studio MFC.
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()
};
Cabeçalho: afxMDIChildWndEx.h
Adiciona um painel.
BOOL AddPane(
CBasePane* pControlBar,
BOOL bTail = TRUE);
pControlBar
[in] Um ponteiro para o painel.
bTail
[in] TRUE para adicionar o painel ao final da lista de painéis para o gerenciador de encaixe; caso contrário, FALSE.
TRUE se o painel foi registrado com êxito no gerenciador de encaixe; caso contrário, FALSE.
Adiciona um painel com guias.
void AddTabbedPane(CDockablePane* pControlBar);
pControlBar
[in] Um ponteiro para o painel.
Ajusta o layout de encaixe.
virtual void AdjustDockingLayout(HDWP hdwp = NULL);
hdwp
[in] Identificador de uma estrutura de posição de janela adiada.
virtual BOOL CanShowOnMDITabs();
Especifica se o nome da janela filho MDI poderá ser exibido na caixa de diálogo Classe CMFCWindowsManagerDialog.
virtual BOOL CanShowOnWindowsList();
TRUE se a janela puder ser exibida na caixa de diálogo do Windows; caso contrário, FALSE.
Substitua esse método em uma classe derivada e retorne FALSE se a janela não deve ser exibida na caixa de diálogo do Windows . Essa função é chamada de CMFCWindowsManagerDialog
.
Encaixa um painel.
void DockPane(
CBasePane* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL);
pBar
[in] Um ponteiro para o painel.
nDockBarID
[in] A ID do painel.
lpRect
[in] Um ponteiro para um retângulo.
O parâmetro lpRect não é usado.
Encaixa um painel à esquerda de outro painel.
BOOL DockPaneLeftOf(
CPane* pBar,
CPane* pLeftOf);
pBar
Um ponteiro para o painel que deve ser encaixado.
pLeftOf
Um ponteiro para o painel que serve como o ponto de referência.
TRUE em caso de êxito; FALSE em caso de falha.
Esse método usa o painel especificado por pBar e encaixa-o no lado esquerdo do painel especificado por pLeftOf.
Chame esse método quando quiser encaixar vários painéis em ordem predefinida.
Habilita o modo de ocultação automática para painéis quando eles são encaixados nos lados especificados da janela.
BOOL EnableAutoHidePanes(DWORD dwDockStyle);
dwDockStyle
[in] Especifica os lados da janela de quadro principal que está habilitada. Use um ou mais dos sinalizadores a seguir.
CBRS_ALIGN_LEFT
CBRS_ALIGN_RIGHT
CBRS_ALIGN_TOP
CBRS_ALIGN_BOTTOM
TRUE se o método for bem-sucedido; caso contrário, FALSE.
Habilita o encaixe da janela filho para o quadro principal.
BOOL EnableDocking(DWORD dwDockStyle);
dwDockStyle
[in] Especifica o alinhamento de encaixe a ser habilitado.
TRUE se o método for bem-sucedido; caso contrário, FALSE.
Chame esse método para habilitar o alinhamento de encaixe ao quadro principal. Você pode passar uma combinação de sinalizadores CBRS_ALIGN_ (para obter mais informações, consulte CControlBar::EnableDocking).
CDockingManager* GetDockingManager();
Retorna o nome do documento exibido na janela filho MDI.
virtual LPCTSTR GetDocumentName(CObject** pObj);
Um ponteiro para uma cadeia de caracteres que contém o nome de um documento.
Um documento é o que a janela filho MDI exibe. Geralmente, a janela exibe dados carregados ou salvos em um arquivo. Portanto, o nome do documento será o nome do arquivo. A implementação padrão de GetDocumentName
retorna uma cadeia de caracteres obtida de CDocument::GetPathName
.
Se a janela exibir um documento que não seja carregado de um arquivo, substitua esse método em uma classe derivada e retorne um identificador de documento exclusivo.
GetDocumentName
é chamado pela estrutura quando salva o estado de todos os documentos abertos. A cadeia de caracteres retornada é gravada no Registro.
Quando a estrutura estiver restaurando o estado posteriormente, o nome do documento será lido do Registro e passado para CMDIFrameWndEx::CreateDocumentWindow. Substitua esse método em uma classe derivada de CMDIFrameWndEx e crie ou abra um documento que tenha esse nome e leia no arquivo que tem esse nome. Se o documento não for baseado em um arquivo, crie o documento com base no próprio identificador do documento. Você deve executar as ações anteriores somente se pretender salvar e restaurar documentos.
O exemplo a seguir demonstra o uso do método GetDocumentName
. Esse snippet de código vem do Exemplo do VisualStudioDemo: Aplicativo do Visual Studio MFC.
LPCTSTR CChildFrame::GetDocumentName(CObject **pObj)
{
if (DYNAMIC_DOWNCAST(CStartView, GetActiveView()) != NULL)
{
return g_strStartViewName;
}
return CMDIChildWndEx::GetDocumentName(pObj);
}
Chamado pela estrutura para recuperar o ícone da janela filho MDI.
virtual HICON GetFrameIcon() const;
Um identificador para o ícone de janela.
Esse método é chamado pela estrutura para determinar qual ícone exibir na guia MDI que contém a janela do quadro filho MDI.
Por padrão, esse método retorna o ícone de janela. Substitua GetFrameIcon
em uma classe derivada de CMDIChildWndEx
para personalizar esse comportamento.
Chamado pela estrutura para recuperar o texto da janela filho MDI.
virtual CString GetFrameText() const;
Uma cadeia de caracteres que contém o texto da janela do quadro.
Esse método é chamado pela estrutura para determinar qual texto exibir na guia MDI que contém a janela do quadro filho MDI.
Por padrão, esse método retorna o texto da janela. Substitua GetFrameText
em uma classe derivada de CMDIChildWndEx
para personalizar esse comportamento.
Localiza um painel pela ID de controle especificada.
CBasePane* GetPane(UINT nID);
Nid
[in] A ID de controle do painel a ser localizado.
Um ponteiro para o painel, se encontrado, caso contrário, NULL.
CMFCTabCtrl* GetRelatedTabGroup();
Retorna um ponteiro para um painel de encaixe que faz parte de um grupo de documentos com guia MDI.
CDockablePane* GetTabbedPane() const;
Um ponteiro para um painel de encaixe que faz parte de um grupo de documentos com guia MDI.
Chamado pela estrutura para recuperar uma dica de ferramenta para um botão de barra de ferramentas.
virtual BOOL GetToolbarButtonToolTipText(
CMFCToolBarButton*,
CString&);
TRUE se a dica de ferramenta tiver sido exibida. A implementação padrão retorna FALSE.
Substitua esse método se quiser exibir dicas de ferramentas personalizadas para botões da barra de ferramentas.
Registra o painel especificado no gerenciador de encaixe.
BOOL InsertPane(
CBasePane* pControlBar,
CBasePane* pTarget,
BOOL bAfter = TRUE);
pControlBar
[in] Um ponteiro para o painel a ser inserido.
pTarget
[in] Um ponteiro para o painel adjacente.
bAfter
[in] Se TRUE, pControlBar será inserido após pTarget. Se FALSE, pControlBar será inserido antes de pTarget.
TRUE se o método for bem-sucedido; caso contrário, FALSE.
Determina se um ponto especificado está próximo ao local de encaixe.
BOOL IsPointNearDockSite(
CPoint point,
DWORD& dwBarAlignment,
BOOL& bOuterEdge) const;
point
[in] O ponto especificado.
dwBarAlignment
[in] Especifica de qual borda o ponto está próximo. Os valores possíveis são CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP e CBRS_ALIGN_BOTTOM
bOuterEdge
[in] TRUE se o ponto estiver próximo à borda externa do local de encaixe; caso contrário, FALSE.
TRUE se o ponto estiver próximo ao local de encaixe; caso contrário, FALSE.
O ponto fica próximo ao local de encaixe quando está dentro da sensibilidade definida no gerenciador de encaixe. A sensibilidade padrão é de 15 pixels.
Especifica se o documento exibido na janela filho for somente leitura.
virtual BOOL IsReadOnly();
TRUE se o documento for somente leitura; caso contrário, FALSE.
Essa função é usada para impedir o salvamento de documentos somente leitura.
O exemplo a seguir demonstra a substituição do método IsReadOnly
. Esse snippet de código vem do Exemplo do VisualStudioDemo: Aplicativo do Visual Studio MFC.
BOOL CChildFrame::IsReadOnly()
{
return DYNAMIC_DOWNCAST(CStartView, GetActiveView()) != NULL;
}
Especifica se a janela filho MDI contém um painel de encaixe.
BOOL IsTabbedPane() const;
TRUE se a janela filho MDI contiver um painel de encaixe que foi convertido em um documento com guia; caso contrário, FALSE.
Chamado pela estrutura para mover uma janela com minimoldura.
virtual BOOL OnMoveMiniFrame(CWnd* pFrame);
pFrame
[in] Um ponteiro para uma janela com minimoldura.
TRUE se o método for bem-sucedido, caso contrário, FALSE.
Chamado pela estrutura para entrar ou sair do modo de visualização de impressão.
virtual void OnSetPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
bPreview
[in] Se TRUE, insira o modo visualizar impressão. Se FALSE, saia do modo visualizar impressão.
pState
[in] Um ponteiro para a estrutura de estado de visualizar impressão.
Chamado pela estrutura para atualizar o título do quadro.
virtual void OnUpdateFrameTitle(BOOL bAddToTitle);
bAddToTitle
[in] Se TRUE, adicione o nome do documento ao título.
Retorna o painel que contém o determinado ponto.
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
bool bExactBar,
CRuntimeClass* pRTCBarType) const;
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
DWORD& dwAlignment,
CRuntimeClass* pRTCBarType) const;
point
[in] Especifica o ponto, em coordenadas de tela, a ser verificado.
nSensitivity
[in] Aumenta a área de pesquisa segundo esse valor. Um painel atende aos critérios de pesquisa se o ponto determinado estiver na área aumentada.
bExactBar
[in] TRUE para ignorar o parâmetro nSensitivity; caso contrário, FALSE.
pRTCBarType
[in] Se diferente de NULL, o método pesquisará apenas painéis do tipo especificado.
dwAlignment
[in] Se um painel for encontrado no ponto especificado, esse parâmetro conterá o lado do painel mais próximo do ponto especificado. Para obter mais informações, consulte a seção Comentários.
Um ponteiro para o objeto derivado de CBasePane
que contém o ponto determinado ou NULL se nenhum painel tiver sido encontrado.
Chame esse método para determinar se um painel contém o ponto especificado de acordo com as condições especificadas, como classe de runtime e visibilidade.
Quando a função retorna e um painel foi encontrado, dwAlignment conterá o alinhamento do ponto especificado. Por exemplo, se o ponto estiver mais próximo da parte superior do painel, dwAlignment será definido como CBRS_ALIGN_TOP.
Recalcula o layout da janela.
virtual void RecalcLayout(BOOL bNotify = TRUE);
bNotify
[in] Se TRUE, o item in-loco ativo para a janela receberá a notificação da alteração de layout.
Remove um painel do gerenciador de encaixe.
void RemovePaneFromDockManager(
CBasePane* pControlBar,
BOOL bDestroy,
BOOL bAdjustLayout,
BOOL bAutoHide,
CBasePane* pBarReplacement);
pControlBar
[in] Um ponteiro para o painel a ser removido.
bDestroy
[in] Se TRUE, o painel removido será destruído.
bAdjustLayout
[in] Se TRUE, ajuste o layout de encaixe imediatamente.
bAutoHide
[in] Se TRUE, o layout de encaixe estará relacionado à lista de barras de ocultamento automático. Se FALSE, o layout de encaixe está relacionado à lista de painéis regulares.
pBarReplacement
[in] Um ponteiro para um painel que substitui o painel removido.
void SetRelatedTabGroup(CMFCTabCtrl* p);
[in] p
void ShowPane(
CBasePane* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
[in] pBar
[in] bShow
[in] bDelay
[in] bActivate
Atualiza o ícone da guia da barra de tarefas do Windows 7.
virtual void UpdateTaskbarTabIcon(HICON hIcon);
hIcon
Um identificador para um ícone a ser exibido na guia da barra de tarefas do Windows 7.
Remove o filho MDI das guias da barra de tarefas do Windows 7.
void UnregisterTaskbarTab(BOOL bCheckRegisteredMDIChildCount = TRUE);
bCheckRegisteredMDIChildCount
Especifica se essa função precisa verificar o número de filhos MDI registrados com guias MDI. Se esse número for 0, essa função removerá o retângulo de recorte da miniatura da barra de tarefas do aplicativo.
Chamado pela estrutura para definir o retângulo de recorte para selecionar uma parte da área de cliente de uma janela a ser exibida como a miniatura dessa janela na barra de tarefas.
virtual BOOL SetTaskbarThumbnailClipRect(CRect rect);
rect
Especifica o novo retângulo de recorte. Se o retângulo estiver vazio ou nulo, o recorte será removido.
TRUE se tiver êxito; caso contrário, FALSE.
Define propriedades para uma guia da barra de tarefas do Windows 7.
void SetTaskbarTabProperties(DWORD dwFlags);
dwFlags
Uma combinação de valores STPFLAG. Para obter mais informações, consulte ITaskbarList4::SetTabProperties.
Insere o filho MDI antes da janela especificada nas guias da barra de tarefas do Windows 7.
void SetTaskbarTabOrder(CMDIChildWndEx* pWndBefore = NULL);
pWndBefore
Um ponteiro para a janela filho MDI cuja miniatura é inserida à esquerda. Essa janela já deve ser registrada por meio de RegisterTaskbarTab
. Se esse valor for NULL, a nova miniatura será adicionada ao final da lista.
Ativa a guia correspondente da barra de tarefas do Windows 7.
void SetTaskbarTabActive();
Registra o filho MDI com guias da barra de tarefas do Windows 7.
virtual void RegisterTaskbarTab(CMDIChildWndEx* pWndBefore = NULL);
pWndBefore
Um ponteiro para a janela filho MDI cuja miniatura é inserida à esquerda. Essa janela já deve ser registrada por meio de RegisterTaskbarTab
. Se esse valor for NULL, a nova miniatura será adicionada ao final da lista.
Chamado pela estrutura quando precisa alongar um bitmap para a visualização da miniatura de uma guia da barra de tarefas do Windows 7 do filho MDI.
virtual BOOL OnTaskbarTabThumbnailStretch(
HBITMAP hBmpDst,
const CRect& rectDst,
HBITMAP hBmpSrc,
const CRect& rectSrc);
hBmpDst
Identificador para um bitmap de destino.
rectDst
Especifica o retângulo de destino.
hBmpSrc
Identificador para um bitmap de origem.
rectSrc
Especifica o retângulo de origem.
Requisito: afxmdichildwndex.h
Chamado pela estrutura quando a miniatura da guia Barra de Tarefas deve processar a mensagem WM_MOUSEACTIVATE.
virtual int OnTaskbarTabThumbnailMouseActivate(
CWnd* pDesktopWnd,
UINT nHitTest,
UINT message);
pDesktopWnd
Especifica um ponteiro para a janela pai de nível superior da janela que está sendo ativada. O ponteiro pode ser temporário e não deve ser armazenado.
nHitTest
Especifica o código da área de teste de ocorrência. Um teste de clique é um teste que determina o local do cursor.
message
Especifica o número da mensagem do mouse.
A implementação padrão ativará o quadro filho MDI relacionado.
Chamado pela estrutura quando a miniatura da guia Barra de Tarefas deve processar a mensagem WM_ACTIVATE.
virtual void OnTaskbarTabThumbnailActivate(
UINT nState,
CWnd* pWndOther,
BOOL bMinimized);
nState
Especifica se a CWnd
está sendo ativada ou desativada.
pWndOther
Ponteiro para a CWnd
sendo ativada ou desativada. O ponteiro pode ser NULL e pode ser temporário.
bMinimized
Especifica o estado minimizado da CWnd
sendo ativada ou desativada. Um valor TRUE indica que a janela está minimizada.
A implementação padrão ativará o quadro filho MDI relacionado.
Chamado pela estrutura quando o usuário pressionar o botão fechar na miniatura da guia Barra de Tarefas.
virtual void OnPressTaskbarThmbnailCloseButton();
Chamado pela estrutura quando precisa obter um bitmap para miniatura icônica do filho MDI.
virtual HBITMAP OnGetIconicThumbnail(
int nWidth,
int nHeight);
nWidth
Especifica a largura do bitmap necessário.
nHeight
Especifica a altura do bitmap necessário.
Chamado pela estrutura quando precisa obter um bitmap para visualização dinâmica do filho MDI.
virtual HBITMAP OnGetIconicLivePreviewBitmap(
BOOL bIsMDIChildActive,
CPoint& ptLocation);
bIsMDIChildActive
Esse parâmetro será TRUE se o bitmap for solicitado para o filho MDI, que está ativo no momento e a janela principal não estiver minimizada. O processamento padrão nesse caso usa um instantâneo da janela principal.
ptLocation
Especifica o local do bitmap nas coordenadas principais do cliente da janela (nível superior). Esse ponto deve ser fornecido pelo computador chamado.
Se for processado, retorna um identificador para um bitmap válido de 32bpp, caso contrário, NULL.
Substitua esse método em uma classe derivada e retorne um bitmap válido de 32bpp para visualização ao vivo do MDI filho. Esse método é chamado somente quando o filho MDI é exibido nas guias da barra de tarefas do Windows 7. Se você retornar NULL, o MFC chamará os manipuladores padrão e obterá bitmaps usando PrintClient
ou PrintWindow
.
Uma combinação de sinalizadores, passada pela estrutura para o método SetTaskbarTabProperties
, quando uma guia (filho MDI) está sendo registrada com guias da barra de tarefas do Windows 7.
AFX_IMPORT_DATA static DWORD m_dwDefaultTaskbarTabPropertyFlags;
A combinação padrão é STPF_USEAPPTHUMBNAILWHENACTIVE | STPF_USEAPPPEEKWHENACTIVE
.
Informa se a seleção automática de uma parte da área do cliente de uma janela será exibida como miniatura dessa janela na barra de tarefas.
BOOL IsTaskbarThumbnailClipRectEnabled() const;
Retornará TRUE se a seleção automática de uma parte da área de cliente de uma janela a ser exibida estiver habilitada; caso contrário, FALSE.
Informa se o filho MDI pode aparecer nas guias da barra de tarefas do Windows 7.
BOOL IsTaskbarTabsSupportEnabled();
TRUE se o filho MDI puder aparecer nas guias da barra de tarefas do Windows 7; FALSE se o filho MDI não puder aparecer nas guias da barra de tarefas do Windows 7.
Retorna TRUE se o filho MDI foi registrado com êxito nas guias da barra de tarefas do Windows 7.
BOOL IsRegisteredWithTaskbarTabs();
TRUE se o filho MDI estiver registrado com guias da barra de tarefas do Windows 7; caso contrário, FALSE.
Invalida uma representação de bitmap icônico de um filho MDI.
BOOL InvalidateIconicBitmaps();
Retornará FALSE se o suporte à barra de tarefas do Windows 7 estiver desabilitado ou o filho MDI não estiver registrado com guias da barra de tarefas do Windows 7; caso contrário, retornará TRUE.
Deve ser chamado quando o conteúdo dinâmico ou o tamanho de um filho MDI tiver sido alterado.
Chamado pela estrutura quando precisa selecionar uma parte da área do cliente de uma janela para exibir como a miniatura dessa janela na barra de tarefas.
virtual CRect GetTaskbarThumbnailClipRect() const;
Um retângulo nas coordenadas das janelas. Esse retângulo é mapeado para a área do cliente do quadro de nível superior. O retângulo deve estar vazio para limpar o retângulo de recorte.
Chamado pela estrutura quando ele precisa obter uma janela filho (geralmente uma janela de exibição ou divisor) a ser exibida em uma miniatura da guia da barra de tarefas do Windows 7.
virtual CWnd* GetTaskbarPreviewWnd();
Deve retornar um ponteiro válido para um objeto CWnd
, cuja visualização deve ser exibida em uma guia da barra de tarefas do Windows 7 relacionada a esse filho MDI. A implementação padrão retorna uma janela filho desse filho MDI com a ID de controle AFX_IDW_PANE_FIRST (que geralmente é uma classe derivada de CView
).
Retorna a janela proxy de guia registrada com guias da barra de tarefas do Windows 7.
CMDITabProxyWnd* GetTabProxyWnd();
Um ponteiro para um objeto CMDITabProxyWnd
, que é registrado com guias da barra de tarefas do Windows 7.
Habilita ou desabilita a seleção automática de uma parte da área do cliente de uma janela a ser exibida como miniatura dessa janela na barra de tarefas.
void EnableTaskbarThumbnailClipRect(BOOL bEnable = TRUE);
bEnable
Especifica se é necessário habilitar (TRUE) ou desabilitar (FALSE) a seleção automática de uma parte da área do cliente de uma janela a ser exibida.
Informa à estrutura se esse filho MDI pode ser exibido nas guias da barra de tarefas do Windows 7.
virtual BOOL CanShowOnTaskBarTabs();
TRUE se o conteúdo do filho MDI puder ser exibido nas miniaturas da barra de tarefas do Windows 7.
Substitua esse método em uma classe derivada e retorne FALSE para desabilitar a aparência desse filho MDI nas guias da barra de tarefas do Windows 7.
Chamada pela estrutura para ativar o quadro de nível superior quando o aplicativo for ativado a partir de uma guia da barra de tarefas.
virtual void ActivateTopLevelFrame();
Gráfico da hierarquia
Classes
Classe CMDIChildWnd
Classe CMFCWindowsManagerDialog
Classe CMDIFrameWndEx