Partilhar via


CWnd Classe

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Fornece a funcionalidade base de todas as classes de janelas na Microsoft Foundation Class Library.

Sintaxe

class CWnd : public CCmdTarget

Membros

Construtores Públicos

Nome Description
CWnd::CWnd Constrói um CWnd objeto.

Métodos Públicos

Nome Description
CWnd::accDoDefaultAction Chamado pelo framework para realizar a ação padrão do objeto.
CWnd::accHitTest Chamado pela estrutura para recuperar o elemento filho ou objeto filho em um determinado ponto na tela.
CWnd::accLocation Chamado pela estrutura para recuperar o local da tela atual do objeto especificado.
CWnd::accNavigate Chamado pelo framework para percorrer até outro elemento da interface de utilizador dentro de um contentor e, se possível, recuperar o objeto.
CWnd::accSelect Chamado pela estrutura para modificar a seleção ou mover o foco do teclado do objeto especificado.
CWnd::AnimateWindow Anima o objeto janela associado.
CWnd::ArrangeIconicWindows Organiza todas as janelas filhos minimizadas (icónicas).
CWnd::Attach Anexa um handle do Windows a um CWnd objeto.
CWnd::BeginModalState Chame essa função de membro para criar uma janela de quadro modal.
CWnd::BeginPaint Prepara-se CWnd para pintar.
CWnd::BindDefaultProperty Vincula a propriedade simples predefinida do objeto chamante, conforme marcada na biblioteca de tipos, a um cursor associado a um controlo de fonte de dados.
CWnd::BindProperty Associa uma propriedade limitada por cursor num controlo ligado a dados a um controlo de fonte de dados e regista essa relação com o gestor de ligação MFC.
CWnd::BringWindowToTop Leva CWnd para o topo de uma pilha de janelas sobrepostas.
CWnd::CalcWindowRect Chamado para calcular o retângulo de janela a partir do retângulo cliente.
CWnd::CancelToolTips Desativa o controlo da tooltip.
CWnd::CenterWindow Centra uma janela em relação ao seu progenitor.
CWnd::ChangeClipboardChain Remove CWnd da cadeia de visualizadores do Quadro de Transferências.
CWnd::CheckDlgButton Coloca uma marca ao lado ou remove uma marca de um controlo de botão.
CWnd::CheckRadioButton Verifica o botão de rádio especificado e remove a marca de verificação de todos os outros botões do grupo de botões especificado.
CWnd::ChildWindowFromPoint Determina qual, se alguma, das janelas filhas contém o ponto especificado.
CWnd::ClientToScreen Converte as coordenadas do cliente de um dado ponto ou retângulo no ecrã em coordenadas do ecrã.
CWnd::CloseWindow Minimiza a janela.
CWnd::ContinueModal Continua o estado modal de uma janela.
CWnd::Create Cria e inicializa a janela filha associada ao CWnd objeto.
CWnd::CreateAccessibleProxy Cria um proxy de Acessibilidade Ativa para o objeto especificado.
CWnd::CreateCaret Cria uma nova forma para o caret do sistema e obtém a posse do caret.
CWnd::CreateControl Crie um controlo ActiveX que será representado num programa MFC por um CWnd objeto.
CWnd::CreateEx Cria uma janela sobreposta, pop-up ou filha do Windows e anexa-a a um CWnd objeto.
CWnd::CreateGrayCaret Cria um bloco cinzento para o caret do sistema e obtém a propriedade do caret.
CWnd::CreateSolidCaret Cria um bloco sólido para o caret do sistema e obtém a propriedade do caret.
CWnd::DeleteTempMap Chamado automaticamente pelo CWinApp tratador de tempo inativo e elimina quaisquer objetos temporários CWnd criados por FromHandle.
CWnd::DestroyWindow Destrói a janela anexada à janela.
CWnd::Detach Desliga um handle do Windows de um CWnd objeto e devolve o handle.
CWnd::DlgDirList Preenche uma caixa de lista com uma listagem de ficheiros ou diretórios.
CWnd::DlgDirListComboBox Preenche a caixa de lista de uma caixa de combo com uma listagem de ficheiros ou diretórios.
CWnd::DlgDirSelect Recupera a seleção atual de uma caixa de lista.
CWnd::DlgDirSelectComboBox Recupera a seleção atual da caixa de lista de uma caixa de combo.
CWnd::DragAcceptFiles Indica que a janela aceita ficheiros arrastados.
CWnd::DragDetect Captura o rato e acompanha o seu movimento até o utilizador soltar o botão esquerdo, pressionar a tecla ESC ou mover o rato para fora do retângulo de arrastar em torno do ponto especificado.
CWnd::DrawAnimatedRects Desenha um retângulo em wireframe e anima-o para indicar a abertura de um ícone ou a minimização ou maximização de uma janela.
CWnd::DrawCaption Desenha uma legenda.
CWnd::DrawMenuBar Redesenha a barra de menus.
CWnd::EnableActiveAccessibility Permite funções definidas Active Accessibility pelo utilizador.
CWnd::EnableDynamicLayout Permite que a posição e o tamanho das janelas filhas se ajustem dinamicamente quando o utilizador redimensiona a janela.
CWnd::EnableD2DSupport Ativa ou desativa o suporte a janelas D2D . Chame este método antes de a janela principal ser inicializada.
CWnd::EnableScrollBar Ativa ou desativa uma ou ambas as setas de uma barra de scroll.
CWnd::EnableScrollBarCtrl Ativa ou desativa um controlo de barra de scroll irmão.
CWnd::EnableToolTips Ativa o controlo da tooltip.
CWnd::EnableTrackingToolTips Ativa o controlo de tooltip no modo de rastreio.
CWnd::EnableWindow Ativa ou desativa a entrada de rato e teclado.
CWnd::EndModalLoop Termina o estado modal de uma janela.
CWnd::EndModalState Chame essa função de membro para alterar uma janela de quadro de modal para sem modo.
CWnd::EndPaint Marca o fim da pintura.
CWnd::ExecuteDlgInit Inicia um recurso de diálogo.
CWnd::FilterToolTipMessage Recupera o título ou texto associado a um controlo numa caixa de diálogo.
CWnd::FindWindow Devolve a alavanca da janela, que é identificada pelo nome da janela e pela classe da janela.
CWnd::FindWindowEx Devolve a alavanca da janela, que é identificada pelo nome da janela e pela classe da janela.
CWnd::FlashWindow Pisca a janela uma vez.
CWnd::FlashWindowEx Pisca a janela com funcionalidades adicionais.
CWnd::FromHandle Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado.
CWnd::FromHandlePermanent Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela.
CWnd::get_accChild Chamado pela estrutura para recuperar o endereço de uma interface IDispatch para o filho especificado.
CWnd::get_accChildCount Chamado pela estrutura para recuperar o número de filhos pertencentes a este objeto.
CWnd::get_accDefaultAction Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a ação padrão do objeto.
CWnd::get_accDescription Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a aparência visual do objeto especificado.
CWnd::get_accFocus Chamado pela estrutura para recuperar o objeto que tem o foco do teclado.
CWnd::get_accHelp Chamada pelo framework para recuperar a cadeia de propriedades Help de um objeto.
CWnd::get_accHelpTopic Chamado pela estrutura para recuperar o caminho completo do arquivo de WinHelp associado ao objeto especificado e o identificador do tópico apropriado dentro desse arquivo.
CWnd::get_accKeyboardShortcut Chamado pela estrutura para recuperar a tecla de atalho ou a chave de acesso do objeto especificado.
CWnd::get_accName Chamado pela estrutura para recuperar o nome do objeto especificado.
CWnd::get_accParent Chamado pelo framework para recuperar a IDispatch interface do pai do objeto.
CWnd::get_accRole Chamado pela estrutura para recuperar informações que descrevem a função do objeto especificado.
CWnd::get_accSelection Chamado pela estrutura para recuperar os filhos selecionados deste objeto.
CWnd::get_accState Chamado pela estrutura para recuperar o estado atual do objeto especificado.
CWnd::get_accValue Chamado pela estrutura para recuperar o valor do objeto especificado.
CWnd::GetActiveWindow Recupera a janela ativa.
CWnd::GetAncestor Recupera o objeto janela ancestral da janela especificada.
CWnd::GetCapture Recupera o CWnd que tem a captura do rato.
CWnd::GetCaretPos Recupera as coordenadas do cliente com a posição atual do caret.
CWnd::GetCheckedRadioButton Devolve o ID do botão de rádio atualmente verificado num grupo de botões.
CWnd::GetClientRect Obtém as dimensões da CWnd área do cliente.
CWnd::GetClipboardOwner Recupera um ponteiro para o atual proprietário da Prancheta.
CWnd::GetClipboardViewer Recupera um ponteiro para a primeira janela na cadeia de visualizadores de Clipboard.
CWnd::GetControlUnknown Recupera um ponteiro para um controlo ActiveX desconhecido.
CWnd::GetDC Recupera um contexto de visualização para a área do cliente.
CWnd::GetDCEx Recupera um contexto de visualização para a área do cliente e permite o clipping durante o desenho.
CWnd::GetDCRenderTarget Recupera o destino de renderização do contexto do dispositivo (DC) para a CWnd janela.
CWnd::GetDescendantWindow Pesquisa todas as janelas descendentes e devolve a janela com o ID especificado.
CWnd::GetDesktopWindow Recupera a janela do ambiente de trabalho do Windows.
CWnd::GetDlgCtrlID Se for CWnd uma janela filha, chamar esta função devolve o seu valor ID.
CWnd::GetDlgItem Recupera o controlo com o ID especificado da caixa de diálogo especificada.
CWnd::GetDlgItemInt Traduz o texto de um controlo na caixa de diálogo dada para um valor inteiro.
CWnd::GetDlgItemText Recupera a legenda ou texto associado a um controlo.
CWnd::GetDSCCursor Recupera um ponteiro para o cursor subjacente definido pelas propriedades DataSource, UserName, Password e SQL de um controlo de fonte de dados.
CWnd::GetDynamicLayout Recupera um ponteiro para o objeto gestor de layout dinâmico.
CWnd::GetExStyle Devolve o estilo estendido da janela.
CWnd::GetFocus Recupera o CWnd que atualmente tem o foco de entrada.
CWnd::GetFont Recupera a fonte atual.
CWnd::GetForegroundWindow Devolve um ponteiro para a janela em primeiro plano (a janela de nível superior com a qual o utilizador está a trabalhar atualmente).
CWnd::GetIcon Recupera a pega de um ícone.
CWnd::GetLastActivePopup Determina qual janela pop-up pertencente CWnd esteve mais recentemente ativa.
CWnd::GetLayeredWindowAttributes Recupera a tecla de cor opacidade e transparência de uma janela em camadas.
CWnd::GetMenu Recupera um ponteiro para o menu especificado.
CWnd::GetNextDlgGroupItem Procura o próximo (ou anterior) controlo dentro de um grupo de controlos.
CWnd::GetNextDlgTabItem Recupera o primeiro controlo com o WS_TABSTOP estilo que segue (ou precede) o controlo especificado.
CWnd::GetNextWindow Devolve a próxima janela (ou a anterior) na lista do gestor de janelas.
CWnd::GetOleControlSite Recupera o site personalizado para o controlo ActiveX especificado.
CWnd::GetOpenClipboardWindow Recupera um ponteiro para a janela que atualmente tem a Prancheta aberta.
CWnd::GetOwner Recupera um ponteiro para o proprietário de um CWnd.
CWnd::GetParent Recupera a janela principal de CWnd (se existir).
CWnd::GetParentFrame Recupera a CWnd janela de enquadramento pai do objeto.
CWnd::GetParentOwner Devolve um ponteiro para a janela pai de uma janela filha.
CWnd::GetProperty Recupera uma propriedade de controlo ActiveX.
CWnd::GetRenderTarget Obtém um render target associado a essa janela.
CWnd::GetSafeHwnd Retorna m_hWnd, ou NULL se o this ponteiro for NULL.
CWnd::GetSafeOwner Recupera o dono do cofre para a janela dada.
CWnd::GetScrollBarCtrl Devolve um controlo de barra de scroll irmão.
CWnd::GetScrollBarInfo Recupera informações sobre a barra de scroll especificada.
CWnd::GetScrollInfo Recupera a informação que a SCROLLINFO estrutura mantém sobre uma barra de deslocamento.
CWnd::GetScrollLimit Recupera o limite da barra de deslocamento.
CWnd::GetScrollPos Recupera a posição atual de uma caixa de pergaminho.
CWnd::GetScrollRange Copia as posições mínimas e máximas atuais das barras de deslocamento para a dada barra.
CWnd::GetStyle Devolve o estilo de janela atual.
CWnd::GetSystemMenu Permite à aplicação aceder ao menu de Controlo para copiar e modificar.
CWnd::GetTitleBarInfo Recupera informações sobre a barra de título especificada.
CWnd::GetTopLevelFrame Recupera a janela de moldura do nível superior da janela.
CWnd::GetTopLevelOwner Recupera a janela do nível superior.
CWnd::GetTopLevelParent Recupera o pai superior da janela.
CWnd::GetTopWindow Devolve a primeira janela filho que pertence ao CWnd.
CWnd::GetUpdateRect Recupera as coordenadas do retângulo mais pequeno que envolve completamente a CWnd região de atualização.
CWnd::GetUpdateRgn Recupera a CWnd região de atualização.
CWnd::GetWindow Devolve a janela com a relação especificada a essa janela.
CWnd::GetWindowContextHelpId Recupera o identificador de contexto da ajuda.
CWnd::GetWindowDC Recupera o contexto de exibição de toda a janela, incluindo a barra de legendas, menus e barras de scroll.
CWnd::GetWindowedChildCount Devolve o número de janelas filhas associadas.
CWnd::GetWindowInfo Devolve informações sobre a janela.
CWnd::GetWindowlessChildCount Devolve o número de janelas filhas sem janelas associadas.
CWnd::GetWindowPlacement Recupera o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas de uma janela.
CWnd::GetWindowRect Obtém as coordenadas do ecrã de CWnd.
CWnd::GetWindowRgn Recupera uma cópia da região da janela de uma janela.
CWnd::GetWindowText Devolve o texto da janela ou o título da legenda (se houver).
CWnd::GetWindowTextLength Devolve o comprimento do texto ou título da legenda da janela.
CWnd::HideCaret Esconde o caret removendo-o do ecrã.
CWnd::HiliteMenuItem Destaca ou remove o destaque de um item do menu de nível superior (barra de menu).
CWnd::HtmlHelp Chamado para iniciar a aplicação HTMLHelp.
CWnd::Invalidate Invalida toda a área do cliente.
CWnd::InvalidateRect Invalida a área cliente dentro do retângulo dado ao adicionar esse retângulo à região atual de atualização.
CWnd::InvalidateRgn Invalida a área do cliente dentro da região dada ao adicionar essa região à região de atualização atual.
CWnd::InvokeHelper Invoca um método ou propriedade de controlo ActiveX.
CWnd::IsChild Indica se CWnd é uma janela filho ou outro descendente direto da janela especificada.
CWnd::IsD2DSupportEnabled Determina se o suporte a D2D está ativado.
CWnd::IsDialogMessage Determina se a mensagem dada é destinada à caixa de diálogo sem modos e, em caso afirmativo, processa-a.
CWnd::IsDlgButtonChecked Determina se um controlo de botão está marcado.
CWnd::IsDynamicLayoutEnabled Determina se o layout dinâmico está ativado nesta janela. Se o layout dinâmico estiver ativado, a posição e o tamanho das janelas filhas podem mudar quando o utilizador redimensiona a janela principal.
CWnd::IsIconic Determina se CWnd é minimizado (icónico).
CWnd::IsTouchWindow Especifica se CWnd tem suporte por toque.
CWnd::IsWindowEnabled Determina se a janela está ativada para entrada de rato e teclado.
CWnd::IsWindowVisible Determina se a janela é visível.
CWnd::IsZoomed Determina se CWnd é maximizado.
CWnd::KillTimer Desliga um temporizador do sistema.
CWnd::LockWindowUpdate Desativa ou reativa o desenho na janela dada.
CWnd::MapWindowPoints Converte (mapeia) um conjunto de pontos do espaço de coordenadas do para CWnd o espaço de coordenadas de outra janela.
CWnd::MessageBox Cria e apresenta uma janela que contém uma mensagem fornecida pela aplicação e uma legenda.
CWnd::ModifyStyle Modifica o estilo atual da janela.
CWnd::ModifyStyleEx Modifica o estilo alargado da janela.
CWnd::MoveWindow Altera a posição e as dimensões de CWnd.
CWnd::NotifyWinEvent Sinaliza ao sistema que ocorreu um evento pré-definido.
CWnd::OnAmbientProperty Implemente valores ambientais das propriedades.
CWnd::OnDrawIconicThumbnailOrLivePreview É chamado pelo framework quando este precisa de obter um bitmap para ser exibido na miniatura do separador do Windows 7, ou no cliente para o peek da aplicação.
CWnd::OnHelp Trata da Ajuda F1 dentro da aplicação (usando o contexto atual).
CWnd::OnHelpFinder Trata dos ID_HELP_FINDER comandos e ID_DEFAULT_HELP .
CWnd::OnHelpIndex Trata do ID_HELP_INDEX comando e fornece um tópico de Ajuda por defeito.
CWnd::OnHelpUsing Trata da ID_HELP_USING ordem.
CWnd::OnToolHitTest Determina se um ponto está no retângulo delimitador da ferramenta especificada e recupera informações sobre a ferramenta.
CWnd::OpenClipboard Abre a prancheta. Outras aplicações não poderão modificar a Prancheta até que a função Windows CloseClipboard seja chamada.
CWnd::PaintWindowlessControls Desenha controlos sem janelas no contentor de controlo.
CWnd::PostMessage Coloca uma mensagem na fila da aplicação e depois retorna sem esperar que a janela processe a mensagem.
CWnd::PreCreateWindow Chamado antes da criação da janela do Windows associada a este CWnd objeto.
CWnd::PreSubclassWindow Permite que ocorram outras subclasses necessárias antes SubclassWindow de ser chamada.
CWnd::PreTranslateMessage Usado por CWinApp para filtrar mensagens de janela antes de serem despachadas para as TranslateMessage funções e DispatchMessage Windows.
CWnd::Print Desenha a janela atual no contexto do dispositivo especificado.
CWnd::PrintClient Desenha qualquer janela no contexto do dispositivo especificado (normalmente um contexto de dispositivo de impressora).
CWnd::PrintWindow Copia uma janela visual para o contexto especificado do dispositivo, tipicamente um DC de impressora.
CWnd::RedrawWindow Atualiza o retângulo ou região especificado na área do cliente.
CWnd::RegisterTouchWindow Registo/Desregisto de janelas suporte ao Windows Touch.
CWnd::ReleaseDC Liberta os contextos do cliente e do dispositivo Windows, libertando-os para uso por outras aplicações.
CWnd::RepositionBars Reposiciona as barras de controlo na área do cliente.
CWnd::RunModalLoop Recupera, traduz ou despacha mensagens para uma janela que está em estado modal.
CWnd::ScreenToClient Converte as coordenadas do ecrã de um dado ponto ou retângulo no ecrã para coordenadas do cliente.
CWnd::ScrollWindow Percorre o conteúdo da área do cliente.
CWnd::ScrollWindowEx Percorre o conteúdo da área do cliente. Semelhante a ScrollWindow, com funcionalidades adicionais.
CWnd::SendChildNotifyLastMsg Fornece uma mensagem de notificação para uma janela filha, a partir da janela pai, para que a janela filha possa tratar de uma tarefa.
CWnd::SendDlgItemMessage Envia uma mensagem para o controlo especificado.
CWnd::SendMessage Envia uma mensagem ao CWnd objeto e não retorna até ter processado a mensagem.
CWnd::SendMessageToDescendants Envia uma mensagem para todas as janelas descendentes da janela.
CWnd::SendNotifyMessage Envia a mensagem especificada para a janela e retorna o mais rapidamente possível, dependendo se o thread que chamou criou a janela.
CWnd::SetActiveWindow Ativa a janela.
CWnd::SetCapture Faz com que toda a entrada subsequente do rato seja enviada para o CWnd.
CWnd::SetCaretPos Move o caret para uma posição especificada.
CWnd::SetClipboardViewer Adiciona CWnd à cadeia de janelas que são notificadas sempre que o conteúdo da Área de Transferência é alterado.
CWnd::SetDlgCtrlID Define o ID da janela ou do controlo para a janela (que pode ser qualquer janela filha, não apenas um controlo numa caixa de diálogo).
CWnd::SetDlgItemInt Define o texto de um controlo para a cadeia que representa um valor inteiro.
CWnd::SetDlgItemText Define a legenda ou o texto de um controlo na caixa de diálogo especificada.
CWnd::SetFocus Afirma o foco de entrada.
CWnd::SetFont Define a fonte atual.
CWnd::SetForegroundWindow Coloca o fio que criou a janela em primeiro plano e ativa a janela.
CWnd::SetIcon Define a pega para um ícone específico.
CWnd::SetLayeredWindowAttributes Define a chave de cor opacidade e transparência de uma janela em camadas.
CWnd::SetMenu Define o menu para o menu especificado.
CWnd::SetOwner Muda o proprietário de um CWnd.
CWnd::SetParent Altera a janela dos pais.
CWnd::SetProperty Define uma propriedade de controlo ActiveX.
CWnd::SetRedraw Permite que as alterações sejam CWnd redesenhadas ou impede que as alterações sejam redesenhadas.
CWnd::SetScrollInfo Define a informação sobre a barra de deslocamento.
CWnd::SetScrollPos Define a posição atual de uma caixa de deslocamento e, se especificado, redesenha a barra de deslocamento para refletir a nova posição.
CWnd::SetScrollRange Define valores mínimos e máximos de posição para a barra de deslocação dada.
CWnd::SetTimer Instala um temporizador do sistema que envia uma WM_TIMER mensagem quando é ativado.
CWnd::SetWindowContextHelpId Define o identificador de contexto da ajuda.
CWnd::SetWindowPlacement Define o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas para uma janela.
CWnd::SetWindowPos Altera o tamanho, a posição e a ordem das janelas filhas, pop-up e do nível superior.
CWnd::SetWindowRgn Define a região de uma janela.
CWnd::SetWindowText Define o texto da janela ou o título da legenda (se houver) para o texto especificado.
CWnd::ShowCaret Mostra o caret no ecrã na posição atual do caret. Uma vez mostrado, o caret começa a piscar automaticamente.
CWnd::ShowOwnedPopups Mostra ou esconde todas as janelas pop-up pertencentes à janela.
CWnd::ShowScrollBar Exibe ou esconde uma barra de deslocamento.
CWnd::ShowWindow Mostra ou esconde a janela.
CWnd::SubclassDlgItem Anexa um controlo do Windows a um CWnd objeto e faz com que este encaminhe mensagens através do CWnd's message map.
CWnd::SubclassWindow Anexa uma janela a um CWnd objeto e faz com que este encaminhe mensagens através do CWndmapa de mensagens de .
CWnd::UnlockWindowUpdate Destranca uma janela que estava trancada com CWnd::LockWindowUpdate.
CWnd::UnsubclassWindow Destaca uma janela de um CWnd objeto
CWnd::UpdateData Inicializa ou recupera dados de uma caixa de diálogo.
CWnd::UpdateDialogControls Ligue para atualizar o estado dos botões de diálogo e outros controlos.
CWnd::UpdateLayeredWindow Atualiza a posição, tamanho, forma, conteúdo e translucidez de uma janela em camadas.
CWnd::UpdateWindow Atualiza a área do cliente.
CWnd::ValidateRect Valida a área do cliente dentro do retângulo dado removendo o retângulo da região de atualização atual.
CWnd::ValidateRgn Valida a área do cliente dentro da região dada removendo a região da região de atualização atual.
CWnd::WindowFromPoint Identifica a janela que contém o ponto indicado.
CWnd::WinHelp Liguei para iniciar a aplicação WinHelp.

Métodos Protegidos

Nome Description
CWnd::Default Chama o procedimento de janela predefinido, que fornece processamento padrão para quaisquer mensagens de janela que uma aplicação não processe.
CWnd::DefWindowProc Chama o procedimento de janela predefinido, que fornece processamento padrão para quaisquer mensagens de janela que uma aplicação não processe.
CWnd::DoDataExchange Para troca e validação de dados de diálogo. Chamado por UpdateData.
CWnd::GetCurrentMessage Devolve um ponteiro para a mensagem que esta janela está a processar. Só deve ser chamada quando estiver numa OnMessage função membro do manipulador de mensagens.
CWnd::InitDynamicLayout Chamado pela framework para inicializar o layout dinâmico da janela.
CWnd::LoadDynamicLayoutResource Carrega a informação dinâmica de layout a partir do ficheiro de recursos.
CWnd::OnActivate É chamado quando CWnd está a ser ativado ou desativado.
CWnd::OnActivateApp Chamada quando a aplicação está prestes a ser ativada ou desativada.
CWnd::OnAppCommand Chamado quando o utilizador gera um evento de comando de aplicação.
CWnd::OnAskCbFormatName É chamado por uma aplicação de visualização de Área de Transferência quando um proprietário de Área de Transferência exibe o conteúdo da Prancheta.
CWnd::OnCancelMode Chamado para permitir CWnd o cancelamento de quaisquer modos internos, como captura do rato.
CWnd::OnCaptureChanged Envia uma mensagem para a janela a perder a captura do rato.
CWnd::OnChangeCbChain Notifica que uma janela especificada está a ser removida da cadeia.
CWnd::OnChangeUIState É chamado quando o estado da interface de utilizador (UI) deve ser alterado.
CWnd::OnChar Chamada quando uma tecla se traduz para um carácter não do sistema.
CWnd::OnCharToItem Chamado por uma caixa de lista criança com o LBS_WANTKEYBOARDINPUT estilo em resposta a uma WM_CHAR mensagem.
CWnd::OnChildActivate Solicita janelas filhas de múltiplas interfaces de documentos (MDI) sempre que o tamanho ou a posição do CWnd documento muda ou CWnd é ativada.
CWnd::OnChildNotify Chamado por uma janela parental para dar a um controlo notificador a oportunidade de responder a uma notificação de controlo.
CWnd::OnClipboardUpdate Liga quando o conteúdo da prancheta mudou.
CWnd::OnClose Chamado como sinal que CWnd deveria estar fechado.
CWnd::OnColorizationColorChanged Chamado quando a política de renderização para a área não cliente mudou.
CWnd::OnCommand Chamada quando o utilizador seleciona um comando.
CWnd::OnCompacting É chamado quando o Windows detetar que a memória do sistema está baixa.
CWnd::OnCompareItem Chamado para determinar a posição relativa de um novo item numa caixa combinada de proprietário-sorteio ou caixa de lista ordenada por filho.
CWnd::OnCompositionChanged Chamado para todas as janelas de topo quando a composição do Gestor de Janelas do Ambiente de Trabalho (DWM) está ativada ou desativada.
CWnd::OnContextMenu É chamado quando o utilizador clica no botão direito do rato na janela.
CWnd::OnCopyData Copia dados de uma aplicação para outra.
CWnd::OnCreate Chamado como parte da criação de janelas.
CWnd::OnCtlColor Chamado se CWnd for o pai de um controlo quando este está prestes a ser desenhado.
CWnd::OnDeadChar Chamada quando uma tecla se traduz para um carácter morto não do sistema (como caracteres de acento).
CWnd::OnDeleteItem É chamado quando uma caixa de lista de filhos ou caixa de combo do proprietário-sorteio é destruída ou quando itens são removidos do controlo.
CWnd::OnDestroy Chamado quando CWnd está a ser destruído.
CWnd::OnDestroyClipboard Chamado quando a Área de Transferência é esvaziada através de uma chamada para a função Windows EmptyClipboard .
CWnd::OnDeviceChange Notifica uma aplicação ou controlador de dispositivo sobre uma alteração na configuração de hardware de um dispositivo ou do computador.
CWnd::OnDevModeChange Solicitou todas as janelas de topo quando o utilizador altera as definições do modo do dispositivo.
CWnd::OnDrawClipboard Chamo quando o conteúdo da Área de Transferência muda.
CWnd::OnDrawItem Chamado quando é necessário desenhar um aspeto visual de um controlo de botão filho de desenho do proprietário, controlo de caixas de combo, controlo de caixa de lista ou menu.
CWnd::OnDropFiles Chamado quando o utilizador larga o botão esquerdo do rato sobre uma janela que se registou como destinatária dos ficheiros perdidos.
CWnd::OnEnable É chamado quando CWnd está ativado ou desativado.
CWnd::OnEndSession Liga quando a sessão está a acabar.
CWnd::OnEnterIdle Chamado para informar o procedimento da janela principal de uma aplicação de que uma caixa de diálogo modal ou um menu está a entrar num estado de inatividade.
CWnd::OnEnterMenuLoop É chamado quando um loop modal do menu é introduzido.
CWnd::OnEnterSizeMove Chamada depois de a janela afetada entrar num loop modal em movimento ou dimensionamento.
CWnd::OnEraseBkgnd É chamado quando o fundo da janela precisa de ser apagado.
CWnd::OnExitMenuLoop É chamado quando um loop modal do menu foi encerrado.
CWnd::OnExitSizeMove Chamada depois de a janela afetada sair de um loop modal móvel ou de dimensionamento.
CWnd::OnFontChange É chamado quando o pool de recursos de fontes muda.
CWnd::OnGetDlgCode É solicitado um controlo para que o controlo possa processar seta e teclas TAB por si próprio.
CWnd::OnGetMinMaxInfo É chamado sempre que o Windows precisa de saber a posição ou dimensões maximizadas, ou o tamanho mínimo ou máximo de rastreamento.
CWnd::OnHelpInfo Chamada pelo framework quando o utilizador pressiona a tecla F1.
CWnd::OnHotKey Chamada quando o utilizador pressiona uma tecla de atalho a nível do sistema.
CWnd::OnHScroll Chamada quando o utilizador clica na barra horizontal de scroll de CWnd.
CWnd::OnHScrollClipboard É chamado quando um proprietário da Área de Transferência deve deslocar a imagem da Área de Transferências, invalidar a secção apropriada e atualizar os valores da barra de deslocamento.
CWnd::OnIconEraseBkgnd Chamado quando CWnd é minimizado (icónico) e o fundo do ícone deve ser preenchido antes de o pintar.
CWnd::OnInitMenu Chamada quando um menu está prestes a ativar-se.
CWnd::OnInitMenuPopup É chamada quando um menu pop-up está prestes a ser ativado.
CWnd::OnInputDeviceChange É chamado quando um dispositivo de E/S é adicionado ou removido do sistema.
CWnd::OnInputLangChange Chamada após a linguagem de entrada de uma aplicação ter sido alterada.
CWnd::OnInputLangChangeRequest Chamada quando o utilizador escolhe uma nova linguagem de entrada.
CWnd::OnKeyDown Chamada quando uma tecla não do sistema é pressionada.
CWnd::OnKeyUp Chamada quando uma chave não do sistema é libertada.
CWnd::OnKillFocus Chamado imediatamente antes CWnd de perder o foco de entrada.
CWnd::OnLButtonDblClk É chamado quando o utilizador faz duplo clique no botão esquerdo do rato.
CWnd::OnLButtonDown É chamado quando o utilizador pressiona o botão esquerdo do rato.
CWnd::OnLButtonUp Chamada quando o utilizador solta o botão esquerdo do rato.
CWnd::OnMButtonDblClk Chamada quando o utilizador faz duplo clique no botão do meio do rato.
CWnd::OnMButtonDown É chamada quando o utilizador pressiona o botão do meio do rato.
CWnd::OnMButtonUp É chamado quando o utilizador solta o botão do meio do rato.
CWnd::OnMDIActivate É chamada quando uma janela MDI é ativada ou desativada.
CWnd::OnMeasureItem É exigido uma caixa combinada de filho proprietário-desenho, caixa de lista ou item de menu quando o controlo é criado. CWnd informa o Windows das dimensões do controlo.
CWnd::OnMenuChar É chamado quando o utilizador pressiona um carácter mnemónico do menu que não corresponde a nenhum dos mnemónicos predefinidos no menu atual.
CWnd::OnMenuDrag É chamado quando o utilizador começa a arrastar um item do menu.
CWnd::OnMenuGetObject É chamado quando o cursor do rato entra num item do menu ou se move do centro do item para o topo ou base do item.
CWnd::OnMenuRButtonUp É chamado quando o utilizador solta o botão direito do rato enquanto o cursor está num item do menu.
CWnd::OnMenuSelect É chamado quando o utilizador seleciona um item do menu.
CWnd::OnMouseActivate Chamada quando o cursor está numa janela inativa e o utilizador pressiona um botão do rato.
CWnd::OnMouseHover Chamado quando o cursor paira sobre a área do cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent.
CWnd::OnMouseHWheel Chamada quando a roda horizontal do rato está inclinada ou rodada.
CWnd::OnMouseLeave Chamado quando o cursor sai da área cliente da janela especificada numa chamada anterior para TrackMouseEvent.
CWnd::OnMouseMove É chamado quando o cursor do rato se move.
CWnd::OnMouseWheel Chamada quando um utilizador roda a roda do rato. Utiliza o tratamento de mensagens do Windows NT 4.0.
CWnd::OnMove Chamado depois de a posição CWnd do ter sido alterada.
CWnd::OnMoving Indica que um utilizador está a mover um CWnd objeto.
CWnd::OnNcActivate Chamada quando a área não-cliente precisa de ser alterada para indicar um estado ativo ou inativo.
CWnd::OnNcCalcSize Chamada quando é necessário calcular o tamanho e a posição da área do cliente.
CWnd::OnNcCreate Chamado antes de OnCreate a área não cliente estar a ser criada.
CWnd::OnNcDestroy Liga quando a área não cliente está a ser destruída.
CWnd::OnNcHitTest Chamada pelo Windows sempre que o rato é movido se CWnd contiver o cursor ou tiver capturado input do rato com SetCapture.
CWnd::OnNcLButtonDblClk Chamado quando o utilizador faz duplo clique no botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcLButtonDown Chamado quando o utilizador pressiona o botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcLButtonUp Chamado quando o utilizador solta o botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcMButtonDblClk Chamado quando o utilizador faz duplo clique no botão do meio do rato enquanto o cursor está numa área não cliente de CWnd.
CWnd::OnNcMButtonDown Chamado quando o utilizador pressiona o botão do meio do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcMButtonUp Chamado quando o utilizador solta o botão do meio do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcMouseHover Chamado quando o cursor paira sobre a área não cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent.
CWnd::OnNcMouseLeave O framework chama esta função membro quando o cursor sai da área não-cliente da janela especificada numa chamada anterior para TrackMouseEvent.
CWnd::OnNcMouseMove Chamado quando o cursor é movido dentro de uma área não cliente de CWnd.
CWnd::OnNcPaint Chamo quando a área não cliente precisa de pintura.
CWnd::OnNcRButtonDblClk Chamado quando o utilizador faz duplo clique no botão direito do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcRButtonDown Chamado quando o utilizador pressiona o botão direito do rato enquanto o cursor está numa área não cliente de CWnd.
CWnd::OnNcRButtonUp Chamada quando o utilizador solta o botão direito do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcRenderingChanged Chamado quando a política de renderização para a área não cliente mudou.
CWnd::OnNcXButtonDblClk Chamada quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela.
CWnd::OnNcXButtonDown É chamado quando o utilizador pressiona XBUTTON1 ou XBUTTON2 do rato enquanto o cursor está na área não cliente de uma janela.
CWnd::OnNcXButtonUp Chamado quando o utilizador solta XBUTTON1 ou XBUTTON2 do rato enquanto o cursor está na área não cliente de uma janela.
CWnd::OnNextMenu É chamado quando a seta direita ou esquerda é usada para alternar entre a barra de menu e o menu do sistema.
CWnd::OnNotify Chamado pelo framework para informar uma janela pai que ocorreu um evento num dos seus controlos ou que o controlo precisa de informação.
CWnd::OnNotifyFormat Chamado para determinar se a janela atual aceita estruturas ANSI ou Unicode na WM_NOTIFY mensagem de notificação.
CWnd::OnPaint Chamei para repintar uma parte da janela.
CWnd::OnPaintClipboard É chamado quando a área do cliente do visualizador de Clipboard precisa de ser repintada.
CWnd::OnPaletteChanged Chamado para permitir que janelas que usam uma paleta de cores realizem as suas paletas lógicas e atualizem as áreas do cliente.
CWnd::OnPaletteIsChanging Informa outras aplicações quando uma aplicação vai realizar a sua paleta lógica.
CWnd::OnParentNotify Chamada quando uma janela filha é criada ou destruída, ou quando o utilizador clica num botão do rato enquanto o cursor está sobre a janela filha.
CWnd::OnPowerBroadcast Chamada quando ocorre um evento de gestão de energia.
CWnd::OnQueryDragIcon Chamada quando um minimizado (icónico) CWnd está prestes a ser arrastado pelo utilizador.
CWnd::OnQueryEndSession Chamada quando o utilizador decide terminar a sessão do Windows.
CWnd::OnQueryNewPalette Informa CWnd que está prestes a receber o foco de entrada.
CWnd::OnQueryOpen Chamado quando CWnd é um ícone e o utilizador pede que o ícone seja aberto.
CWnd::OnQueryUIState Chamado para recuperar o estado da interface de utilizador (UI) de uma janela.
CWnd::OnRawInput É chamada quando a janela atual recebe entrada bruta.
CWnd::OnRButtonDblClk Chamada quando o utilizador faz duplo clique no botão direito do rato.
CWnd::OnRButtonDown É chamado quando o utilizador pressiona o botão direito do rato.
CWnd::OnRButtonUp É chamado quando o utilizador solta o botão direito do rato.
CWnd::OnRenderAllFormats É chamada quando a aplicação proprietária está a ser destruída e precisa de renderizar todos os seus formatos.
CWnd::OnRenderFormat Chamado para o proprietário da Clipboard quando um determinado formato com renderização atrasada precisa de ser renderizado.
CWnd::OnSessionChange Chamado para notificar uma aplicação de uma alteração no estado da sessão.
CWnd::OnSetCursor É chamado se a entrada do rato não for captada e o rato causar movimento do cursor dentro de uma janela.
CWnd::OnSetFocus Chamado depois CWnd ganha o foco de entrada.
CWnd::OnSettingChange É chamado quando a função Win32 SystemParametersInfo altera uma configuração do sistema.
CWnd::OnShowWindow Diz quando CWnd deve ser escondido ou mostrado.
CWnd::OnSize Chamado depois de o tamanho de CWnd ter mudado.
CWnd::OnSizeClipboard Chamado quando o tamanho da área do cliente da janela do visualizador de Clipboard mudou.
CWnd::OnSizing Indica que o utilizador está a redimensionar o retângulo.
CWnd::OnSpoolerStatus Chamado do Print Manager sempre que um trabalho é adicionado ou removido da fila do Print Manager.
CWnd::OnStyleChanged Indica que a SetWindowLong função Windows alterou um ou mais estilos da janela.
CWnd::OnStyleChanging Indica que a SetWindowLong função Windows está prestes a mudar um ou mais estilos da janela.
CWnd::OnSysChar Chamada quando uma tecla se traduz para um carácter do sistema.
CWnd::OnSysColorChange Chamadas para todas as janelas de topo quando é feita uma alteração na definição de cor do sistema.
CWnd::OnSysCommand Chamada quando o utilizador seleciona um comando no menu Control, ou quando seleciona o botão Maximizar ou Minimizar.
CWnd::OnSysDeadChar Chamada quando uma tecla se traduz num carácter morto do sistema (como caracteres de acento).
CWnd::OnSysKeyDown É chamado quando o utilizador mantém pressionada a tecla ALT e depois pressiona outra tecla.
CWnd::OnSysKeyUp É chamado quando o utilizador liberta uma tecla que foi pressionada enquanto a tecla ALT estava pressionada.
CWnd::OnTCard É chamado quando o utilizador clica num botão autorável.
CWnd::OnTimeChange Pediu para todas as janelas de topo depois de o horário do sistema mudar.
CWnd::OnTimer Chamado após cada intervalo especificado em SetTimer.
CWnd::OnTouchInput Processar uma única entrada do Windows Touch.
CWnd::OnTouchInputs Processar entradas do Windows Touch.
CWnd::OnUniChar É chamada quando uma tecla é pressionada. Ou seja, a janela atual tem o foco do teclado e uma WM_KEYDOWN mensagem é traduzida pela TranslateMessage função.
CWnd::OnUnInitMenuPopup É chamado quando um menu suspenso ou submenu foi destruído.
CWnd::OnUpdateUIState Chamado para alterar o estado da interface do utilizador (UI) da janela especificada e de todas as suas janelas filhas.
CWnd::OnUserChanged Liga depois de o utilizador ter iniciado sessão.
CWnd::OnVKeyToItem Chamado por uma caixa de lista pertencente a em CWnd resposta a uma WM_KEYDOWN mensagem.
CWnd::OnVScroll É chamado quando o utilizador clica na barra de scroll vertical da janela.
CWnd::OnVScrollClipboard Chamado quando o proprietário deve deslocar a imagem da Área de Transferências, invalidar a secção apropriada e atualizar os valores da barra de deslocamento.
CWnd::OnWindowPosChanged Chamado quando o tamanho, posição ou ordem Z mudou como resultado de uma chamada para SetWindowPos ou outra função de gestão de janelas.
CWnd::OnWindowPosChanging Chamado quando o tamanho, a posição ou a ordem Z está prestes a mudar como resultado de uma chamada para SetWindowPos ou outra função de gestão de janelas.
CWnd::OnWinIniChange Chamado para todas as janelas de topo após o ficheiro de inicialização do Windows, WIN.INI, ser alterado.
CWnd::OnWndMsg Indica se uma mensagem do Windows foi tratada.
CWnd::OnXButtonDblClk Chamada quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.
CWnd::OnXButtonDown Chamada quando o utilizador pressiona XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.
CWnd::OnXButtonUp Chamado quando o utilizador liberta XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.
CWnd::PostNcDestroy Esta função virtual é chamada pela função padrão OnNcDestroy depois de a janela ter sido destruída.
CWnd::ReflectChildNotify função auxiliar, que reflete uma mensagem para a sua fonte.
CWnd::ReflectLastMsg Reflete a última mensagem para a janela criança.
CWnd::ResizeDynamicLayout Chamado pela framework quando o tamanho da janela muda para ajustar o layout das janelas filhas, se o layout dinâmico estiver ativado para a janela.
CWnd::WindowProc Fornece um procedimento de janela para um CWnd. O padrão despacha as mensagens através do mapa de mensagens.

Operadores Públicos

Nome Description
CWnd::operator HWND Liga para pôr uma maçaneta numa janela.
CWnd::operator != Determina se uma janela não é igual à janela cujo puxador é m_hWnd.
CWnd::operator == Determina se uma janela é igual à janela cujo puxador é m_hWnd.

Membros de Dados Públicos

Nome Description
CWnd::m_hWnd Indica o HWND ligado a este CWnd.

Observações

Um CWnd objeto é distinto de uma janela Windows, mas os dois estão fortemente ligados. Um CWnd objeto é criado ou destruído pelo construtor e destruidor CWnd . A janela do Windows, por outro lado, é uma estrutura de dados interna ao Windows que é criada por uma Create função membro e destruída pelo CWnd destruidor virtual. A DestroyWindow função destrói a janela do Windows sem destruir o objeto.

A CWnd classe e o mecanismo de mapa de mensagens escondem a WndProc função. As mensagens de notificação recebidas do Windows são automaticamente encaminhadas através do mapa de mensagens para as funções adequadas do membro OnMessageCWnd . Sobrepões uma função de membro OnMessage para tratar a mensagem particular de um membro nas tuas classes derivadas.

A CWnd classe também permite criar uma janela filho do Windows para a sua aplicação. Derive uma classe a partir de CWnd, e depois adicione variáveis membro à classe derivada para armazenar dados específicos da sua aplicação. Implemente funções de membro do manipulador de mensagens e um mapa de mensagens na classe derivada para especificar o que acontece quando as mensagens são direcionadas para a janela.

Cria-se uma janela filho em dois passos. Primeiro, chama o construtor CWnd para construir o CWnd objeto, depois chama a Create função membro para criar a janela filho e anexá-la ao CWnd objeto.

Quando o utilizador termina a sua janela filha, destrua o CWnd objeto ou chame a DestroyWindow função membro para remover a janela e destruir as suas estruturas de dados.

Dentro da Microsoft Foundation Class Library, são derivadas classes adicionais para CWnd fornecer tipos específicos de janelas. Muitas destas classes, incluindo CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, e CDialog, são concebidas para derivação posterior. As classes de controlo derivadas de CWnd, como CButton, podem ser usadas diretamente ou podem ser usadas para dedução adicional de classes.

Para mais informações sobre a utilização CWndde , veja Frame Windows e Objetos Janela.

Hierarquia de herança

CObject

CCmdTarget

CWnd

Requerimentos

Cabeçalho: afxwin.h

CWnd::accDoDefaultAction

Chamado pelo framework para realizar a ação padrão do objeto.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Parâmetros

varCriança
Especifica se a ação padrão a invocar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser CHILDID_SELF (para realizar a ação padrão do objeto) ou um ID filho (para executar a ação padrão de um dos elementos filhos do objeto).

Valor de retorno

Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Ver valores de retorno em IAccessible::accDoDefaultAction no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada para executar a ação padrão do seu objeto. Para mais informações, consulte IAccessible::accDoDefaultAction no SDK do Windows.

CWnd::accHitTest

Chamado pela estrutura para recuperar o elemento filho ou objeto filho em um determinado ponto na tela.

virtual HRESULT accHitTest(
    long xLeft,
    long yTop,
    VARIANT* pvarChild);

Parâmetros

xLeft
Coordenada X do ponto a ser testado (em unidades de ecrã).

yTop
Coordenada Y do ponto a ser testado (em unidades de ecrã).

pvarChild
Recebe informação que identifica o objeto no ponto especificado por xLeft e yTop. Veja pvarID no IAccessible::accHitTest SDK do Windows.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accHitTest no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::accHitTest no SDK do Windows.

CWnd::accLocation

Chamado pela estrutura para recuperar o local da tela atual do objeto especificado.

virtual HRESULT accLocation(
    long* pxLeft,
    long* pyTop,
    long* pcxWidth,
    long* pcyHeight,
    VARIANT varChild);

Parâmetros

pxLeft
Recebe a coordenada x do canto superior esquerdo do objeto (em unidades de ecrã).

pyTop
Recebe a coordenada y do canto superior esquerdo do objeto (em unidades de ecrã).

pcxWidth
Recebe a largura do objeto (em unidades de ecrã).

pcyHeight
Recebe a altura do objeto (em unidades de ecrã).

varChild
Especifica se a localização a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

Valor de retorno

Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accLocation no SDK do Windows.

Observações

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::accLocation no SDK do Windows.

CWnd::accNavigate

Chamado pelo framework para percorrer até outro elemento da interface de utilizador dentro de um contentor e, se possível, recuperar o objeto.

virtual HRESULT accNavigate(
    long navDir,
    VARIANT varStart,
    VARIANT* pvarEndUpAt);

Parâmetros

navDir
Especifica a direção a seguir. Veja navDir no IAccessible::accNavigate SDK do Windows.

varStart
Especifica o objeto inicial. Veja varStart no IAccessible::accNavigate SDK do Windows.

pvarEndUpAt
Recebe informação sobre o objeto de interface de utilizador de destino. Veja pvarEnd no IAccessible::accNavigate SDK do Windows.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accNavigate no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::accNavigate no SDK do Windows.

CWnd::accSelect

Chamado pela estrutura para modificar a seleção ou mover o foco do teclado do objeto especificado.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

Parâmetros

flagsSelect
Especifica como alterar a seleção ou foco atual. Veja flagsSelect no IAccessible::accSelect SDK do Windows.

varChild
Especifica o objeto a ser selecionado. Este parâmetro pode ser tanto CHILDID_SELF (para selecionar o próprio objeto) como um ID filho (para selecionar um dos filhos do objeto).

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accSelect no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::accSelect no SDK do Windows.

CWnd::AnimateWindow

Produz efeitos especiais ao mostrar ou esconder janelas.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Parâmetros

dwTime
Especifica quanto tempo demora a reproduzir a animação, em milissegundos. Normalmente, uma animação demora 200 milissegundos a ser executada.

dwFlags
Especifica o tipo de animação. Para uma lista completa de valores possíveis, veja AnimateWindow.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função AnimateWindow, conforme descrito no SDK do Windows.

CWnd::ArrangeIconicWindows

Organiza todas as janelas filhos minimizadas (icónicas).

UINT ArrangeIconicWindows();

Valor de retorno

A altura de uma fila de ícones se a função for bem-sucedida; caso contrário, 0.

Observações

Esta função dos membros também organiza ícones na janela do ambiente de trabalho, que cobre todo o ecrã. A GetDesktopWindow função membro recupera um ponteiro para o objeto janela do ambiente de trabalho.

Para organizar janelas filhos icónicas do MDI numa janela de cliente MDI, ligue CMDIFrameWnd::MDIIconArrangepara .

Example

// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
   UINT height = GetParent()->ArrangeIconicWindows();   
   TRACE(_T("height = %d\n"), height);
}

CWnd::Attach

Anexa uma janela Windows a um CWnd objeto.

BOOL Attach(HWND hWndNew);

Parâmetros

hWndNew
Especifica um handle para uma janela do Windows.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

Este exemplo mostra como usar Attach e Detach mapear para a janela do cliente MDI.

// Declare a CWnd member of CMainFrame
public:
CWnd m_wndMDIClient;

 

// detach MDI client window in CMainFrame destructor
m_wndMDIClient.Detach();

 

// In CMainFrame::OnCreate, attach MDI client window

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

// attach MDI client window
if (m_wndMDIClient.Attach(m_hWndMDIClient) == 0)
{
   TRACE(_T("Failed to attach MDIClient.\n"));
   return -1; // fail to create
}

CWnd::BeginModalState

Chame essa função de membro para criar uma janela de quadro modal.

virtual void BeginModalState();

CWnd::BeginPaint

Prepara-se CWnd para a pintura e preenche uma PAINTSTRUCT estrutura de dados com informação sobre a pintura.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Parâmetros

lpPaint
Aponta para a PAINTSTRUCT estrutura que deve receber informações sobre pintura.

Valor de retorno

Identifica o contexto do dispositivo para CWnd. O ponteiro pode ser temporário e não deve ser armazenado para além do âmbito de EndPaint.

Observações

A estrutura de pintura contém uma RECT estrutura de dados que tem o retângulo mais pequeno que envolve completamente a região de atualização e um flag que especifica se o fundo foi apagado.

A região de atualização é definida pelas Invalidate, InvalidateRect, ou InvalidateRgn funções membros e pelo sistema depois de dimensionar, mover, criar, deslocar ou realizar qualquer outra operação que afete a área do cliente. Se a região de atualização estiver marcada para apagamento, BeginPaint envia uma WM_ONERASEBKGND mensagem.

Não chame a BeginPaint função membro exceto em resposta a uma WM_PAINT mensagem. Cada chamada à BeginPaint função membro deve ter uma chamada correspondente à EndPaint função membro. Se o caret estiver na área a pintar, a BeginPaint função elemento esconde automaticamente o caret para evitar que seja apagado.

Example

// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
   PAINTSTRUCT ps;
   CDC *pDC = BeginPaint(&ps);

   pDC->Rectangle(CRect(0, 0, 100, 100));

   EndPaint(&ps);

   // Do not call CView::OnPaint() for painting messages
}

CWnd::BindDefaultProperty

Vincula a propriedade simples limitada por defeito do objeto chamador (como um controlo de edição), conforme marcada na biblioteca de tipos, ao cursor subjacente definido pelas DataSourcepropriedades , UserName, Password, e SQL do controlo de fonte de dados.

void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Parâmetros

dwDispID
Especifica o DISPID de uma propriedade num controlo ligado a dados que deve ser ligado a um controlo de fonte de dados.

vtProp
Especifica o tipo da propriedade a ser encadenada. Por exemplo, VT_BSTR, VT_VARIANT, e assim sucessivamente.

szFieldName
Especifica o nome da coluna, no cursor fornecido pelo controle da fonte de dados, à qual a propriedade será vinculada.

pDSCWnd
Aponta para a janela que alberga o controlo da fonte de dados ao qual a propriedade será vinculada. Ligue GetDlgItem com o ID de recurso da janela host do DCS para recuperar este ponteiro.

Observações

O CWnd objeto no qual você chama essa função deve ser um controle ligado a dados.

Example

BindDefaultProperty pode ser usado no seguinte contexto:

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL1);
   pMyBound->BindDefaultProperty(0x1, VT_BSTR, _T("ContactFirstName"), pDSC);
   return TRUE;
}

CWnd::BindProperty

Liga uma propriedade limitada por cursor num controlo ligado a dados (como um controlo de grelha) a um controlo de fonte de dados e regista essa relação com o gestor de ligação MFC.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parâmetros

dwDispId
Especifica o DISPID de uma propriedade num controlo ligado a dados que deve ser ligado a um controlo de fonte de dados.

pWndDSC
Aponta para a janela que alberga o controlo da fonte de dados ao qual a propriedade será vinculada. Ligue GetDlgItem com o ID de recurso da janela host do DCS para recuperar este ponteiro.

Observações

O CWnd objeto no qual você chama essa função deve ser um controle ligado a dados.

Example

BindProperty pode ser usado no seguinte contexto:

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
   pMyBound->BindProperty(0x1, pDSC);
   return TRUE;
}

CWnd::BringWindowToTop

Leva CWnd para o topo de uma pilha de janelas sobrepostas.

void BringWindowToTop();

Observações

Além disso, BringWindowToTop ativa janelas pop-up, top-level e filhos MDI. A BringWindowToTop função membro deve ser usada para revelar qualquer janela que esteja parcial ou completamente obscurecida por janelas sobrepostas.

Esta função apenas chama a função Win32 BringWindowToTop . Chama a SetWindowPos função para alterar a posição de uma janela na ordem Z. A BringWindowToTop função não altera o estilo da janela para a tornar numa janela de topo. Para mais informações, veja Qual é a diferença entre HWND_TOP e HWND_TOPMOST

Example

// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point) 
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   GetParentFrame()->BringWindowToTop();
}

CWnd::CalcWindowRect

Calcula o retângulo de janela que pode conter o retângulo cliente especificado.

virtual void CalcWindowRect(
    LPRECT lpClientRect,
    UINT nAdjustType = adjustBorder);

Parâmetros

lpClientRect
[inspira, expira] Apontar para uma estrutura retangular. Na entrada, esta estrutura contém o retângulo cliente. Depois de concluído o método, esta estrutura contém o retângulo de janela que pode conter o retângulo cliente especificado.

nAdjustType
[dentro] Use CWnd::adjustBorder para calcular coordenadas de janela sem o WS_EX_CLIENTEDGE estilo; caso contrário, use CWnd::adjustOutside.

Observações

O tamanho do retângulo de janela calculado não inclui espaço para uma barra de menus.

Para mais restrições de uso, veja AdjustWindowRectEx.

Example

// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
   CFrameWnd *pFrameWnd = new CFrameWnd;
   CRect myRect;
   GetClientRect(myRect);
   pFrameWnd->Create(NULL, _T("My Frame"));
   pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
   pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
   pFrameWnd->ShowWindow(SW_SHOW);
}

CWnd::CancelToolTips

Chame esta função membro para remover uma dica de ferramenta do ecrã se uma dica estiver atualmente apresentada.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Parâmetros

bKeys
TRUE cancelar dicas de ferramenta quando uma tecla é pressionada e definir o texto da barra de estado para o padrão; caso contrário FALSE.

Observações

Observação

Usar esta função membro não tem efeito nas dicas de ferramenta geridas pelo seu código. Só afeta o controlo da ponta de ferramenta gerido por CWnd::EnableToolTips.

Example

// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
   CRect corner(0, 0, 10, 10);
   if (corner.PtInRect(point))
      CancelToolTips();
   CEdit::OnMouseMove(nFlags, point);
}

CWnd::CenterWindow

Centra uma janela em relação ao seu progenitor.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Parâmetros

pAlternateOwner
Aponta para uma janela alternativa relativamente à qual estará centrado (diferente da janela principal).

Observações

Normalmente é chamado de CDialog::OnInitDialog para centrar as caixas de diálogo em relação à janela principal da aplicação. Por defeito, a função centra as janelas filhas em relação à janela mãe, e as janelas pop-up em relação ao dono. Se a janela pop-up não for propriedade, está centrada em relação ao ecrã. Para centralizar uma janela em relação a uma janela específica que não seja o proprietário ou o pai, o pAlternateOwner parâmetro pode ser definido para uma janela válida. Para forçar o centramento em relação ao ecrã, passa o valor devolvido por CWnd::GetDesktopWindow .pAlternateOwner

Example

BOOL CAboutDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

Remove CWnd da cadeia de visualizadores do Clipboard e cria a janela especificada pelo hWndNext descendente do CWnd antepassado na cadeia.

BOOL ChangeClipboardChain(HWND hWndNext);

Parâmetros

hWndNext
Identifica a janela que se segue CWnd na cadeia Clipboard-viewer.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

CWnd::CheckDlgButton

Seleciona (coloca uma marca de verificação ao lado) ou limpa (remove uma marca de verificação de) um botão, ou altera o estado de um botão de três estados.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

Parâmetros

nIDButton
Especifica o botão a ser modificado.

nCheck
Especifica a ação a tomar. Se nCheck for diferente de zero, a CheckDlgButton função membro coloca uma marca de verificação ao lado do botão; se for 0, a marca de verificação é removida. Para botões de três estados, se nCheck for 2, o estado do botão é indeterminado.

Observações

A CheckDlgButton função envia uma BM_SETCHECK mensagem para o botão especificado.

Example

// Sets 3 check buttons in various ways.  Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
   CheckDlgButton(IDC_CHECK1, BST_UNCHECKED);     // 0
   CheckDlgButton(IDC_CHECK2, BST_CHECKED);       // 1
   CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}

CWnd::CheckRadioButton

Seleciona (adiciona uma marca de verificação) a um dado botão de acesso num grupo e limpa (remove uma marca de verificação de) todos os outros botões de opção do grupo.

void CheckRadioButton(
    int nIDFirstButton,
    int nIDLastButton,
    int nIDCheckButton);

Parâmetros

nIDFirstButton
Especifica o identificador inteiro do primeiro botão de acesso do grupo.

nIDLastButton
Especifica o identificador inteiro do último botão de acesso do grupo.

nIDCheckButton
Especifica o identificador inteiro do botão de acesso a verificar.

Observações

A CheckRadioButton função envia uma BM_SETCHECK mensagem para o botão de acesso especificado.

Example

// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
   CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}

CWnd::ChildWindowFromPoint

Determina qual, se houver, das janelas filhas a CWnd que pertencem o ponto especificado.

CWnd* ChildWindowFromPoint(POINT point) const;

CWnd* ChildWindowFromPoint(
    POINT point,
    UINT nFlags) const;

Parâmetros

point
Especifica as coordenadas do cliente do ponto a ser testado.

nflags
Especifica quais as janelas filhas a saltar. Este parâmetro pode ser uma combinação dos seguintes valores:

Valor Meaning
CWP_ALL Não pule nenhuma janela criança
CWP_SKIPINVISIBLE Ignorar janelas invisíveis para crianças
CWP_SKIPDISABLED Ignorar janelas filhas desativadas
CWP_SKIPTRANSPARENT Ignorar janelas filhas transparentes

Valor de retorno

Identifica a janela filho que contém o ponto. É NULL se o ponto dado estiver fora da área do cliente. Se o ponto estiver dentro da área do cliente mas não estiver contido em nenhuma janela filha, CWnd é devolvido.

Esta função membro devolverá uma janela filha oculta ou desativada que contenha o ponto especificado.

Mais do que uma janela pode conter o ponto dado. No entanto, esta função devolve apenas o CWnd* da primeira janela encontrada que contém o ponto.

O CWnd* que é devolvido pode ser temporário e não deve ser armazenado para uso posterior.

Example

void CMyDlg::OnFindCenterChild() 
{
   CRect rect;
   GetClientRect(&rect);
   CWnd* pWnd = ChildWindowFromPoint(
      CPoint(rect.Width()/2, rect.Height()/2), 
      // Top left is always 0, 0.
      CWP_SKIPINVISIBLE);
   TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}

CWnd::ClientToScreen

Converte as coordenadas do cliente de um dado ponto ou retângulo no ecrã em coordenadas do ecrã.

void ClientToScreen(LPPOINT lpPoint) const;
void ClientToScreen(LPRECT lpRect) const;

Parâmetros

lpPoint
Aponta para uma POINT estrutura ou CPoint objeto que contém as coordenadas do cliente a converter.

lpRect
Aponta para uma RECT estrutura ou CRect objeto que contém as coordenadas do cliente a converter.

Observações

A ClientToScreen função membro usa as coordenadas do cliente na POINT estrutura ou RECT no CPoint objeto ou CRect apontado por lpPoint ou lpRect para calcular novas coordenadas de ecrã; depois substitui as coordenadas na estrutura pelas novas coordenadas. As novas coordenadas do ecrã são relativas ao canto superior esquerdo do ecrã do sistema.

A ClientToScreen função membro assume que o ponto ou retângulo dado está nas coordenadas do cliente.

Example

// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
   CRect myRect;
   GetClientRect(&myRect);

   ClientToScreen(myRect);
   MoveWindow(myRect.left, myRect.top,
              myRect.Width(), myRect.Height());
}

CWnd::CloseWindow

Minimiza a janela.

void CloseWindow();

Observações

Esta função de membro emula a funcionalidade da função CloseWindow, conforme descrito no SDK do Windows.

CWnd::ContinueModal

Esta função membro é chamada por RunModalLoop para determinar quando o estado modal deve ser retirado.

virtual BOOL ContinueModal();

Valor de retorno

Não nulo se o loop modal for continuado; 0 quando EndModalLoop é chamado.

Observações

Por defeito, devolve um valor diferente de zero até EndModalLoop ser chamado.

CWnd::Create

Cria a janela filha especificada e anexa-a ao CWnd objeto.

virtual BOOL Create(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    Const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CCreateContext* pContext = NULL);

Parâmetros

lpszClassName
[dentro] Apontador para uma cadeia terminada por nulo que contém o nome de uma classe de janela do sistema registada; ou o nome de uma classe de janela de sistema pré-definida.

lpszWindowName
[dentro] Apontador para uma cadeia terminada em nulo que contém o nome de exibição da janela; caso contrário NULL , sem nome de exibição de janela.

dwStyle
[dentro] Combinação bit a bit (OR) de estilos de janelas. A WS_POPUP opção não é um estilo válido.

rect
[dentro] O tamanho e a localização da janela em relação ao canto superior esquerdo da janela principal.

pParentWnd
[dentro] Aponta para a janela principal.

nID
[dentro] ID da janela.

pContext
[dentro] Apontador para uma CCreateContext estrutura usada para personalizar a arquitetura de visualização do documento para a aplicação.

Valor de retorno

TRUE se o método fosse bem-sucedido; caso contrário FALSE.

Observações

Advertência

CWnd::PreCreateWindow agora atribui o hMenu membro do seu CREATESTRUCT parâmetro ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para uma funcionalidade correta, certifique-se de que o controlo de diálogo tem um ID que não NULLseja .

Esta alteração corrige um crash em cenários de interoperabilidade geridos/nativos. Uma TRACE declaração alerta CWnd::Create o programador para o problema.

Use a AfxRegisterWndClass função para registar classes de janela. Classes de janela definidas pelo utilizador estão disponíveis no módulo onde estão registadas.

O CWnd::OnCreate método é chamado antes de o Create método regressar e antes de a janela se tornar visível.

Example

// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic() 
{
   // m_pWndStatic is a CWnd* member of CMyDlg
   m_pWndStatic = new CWnd;
   m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
       CRect(0, 0, 20, 20), this, 1234);
}

CWnd::CreateAccessibleProxy

Cria um proxy de Acessibilidade Ativa para o objeto especificado.

virtual HRESULT CreateAccessibleProxy(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parâmetros

wParam
Identifica o objeto acedido pelo proxy de Acessibilidade Ativa. Pode ser um dos seguintes valores

Valor Meaning
OBJID_CLIENT Refere-se à área do cliente da janela.

lParam
Fornece informação adicional dependente da mensagem.

pResult
Um apontador para um LRESULT que armazena o código do resultado.

Observações

Cria um proxy de Acessibilidade Ativa para o objeto especificado.

CWnd::CreateCaret

Cria uma nova forma para o caret do sistema e reivindica a propriedade do caret.

void CreateCaret(CBitmap* pBitmap);

Parâmetros

pBitmap
Identifica o bitmap que define a forma do caret.

Observações

O bitmap deve ter sido previamente criado pela CBitmap::CreateBitmap função membro, pela CreateDIBitmap função Windows ou pela CBitmap::LoadBitmap função membro.

CreateCaret destrói automaticamente a forma do caret anterior, se existir, independentemente da janela que possui o caret. Uma vez criado, o caret é inicialmente escondido. Para mostrar o carente, deve ser chamada a ShowCaret função elementar.

O caret do sistema é um recurso partilhado. CWnd Deve criar um caret apenas quando tiver o foco de entrada ou estiver ativo. Deve destruir o caret antes de perder o foco de entrada ou ficar inativo.

Example

// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
   m_pBitmapCaret = new CBitmap;
   m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
   m_MyEdit.CreateCaret(m_pBitmapCaret);
   m_MyEdit.ShowCaret();
}

CWnd::CreateControl

Use esta função membro para criar um controlo ActiveX que será representado no programa MFC por um CWnd objeto.

BOOL CreateControl(
    LPCTSTR pszClass,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

Parâmetros

pszClass
Esta cadeia pode conter o "nome curto" OLE (ProgID) para a classe. Por exemplo, "CIRC3.Circ3Ctrl.1". O nome tem de corresponder ao mesmo nome registado pelo controlo. Alternativamente, a corda pode conter a forma de corda de um CLSID, contida entre chaves. Por exemplo, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". Em qualquer dos casos, CreateControl converte a cadeia para o correspondente ID de classe.

pszWindowName
Um ponteiro para o texto a ser apresentado no controlo. Define o valor da propriedade Caption ou Text do controlo (se houver). Se NULL, a propriedade Legenda ou Texto do controlo não é alterada.

dwStyle
Estilos do Windows. Os estilos disponíveis estão listados em Observações.

rect
Especifica o tamanho e a posição do controle. Pode ser um CRect objeto ou uma RECT estrutura.

ppt
Aponta para uma POINT estrutura ou CPoint objeto que contém o canto superior esquerdo do controlo.

pSize
Aponta para uma SIZE estrutura ou CSize objeto que contém o tamanho do controlo

pParentWnd
Especifica a janela pai do controlo. Não pode ser NULL.

nID
Especifica o ID do controlo.

pPersist
Um apontador para um CFile que contém o estado persistente do controlo. O valor predefinido é NULL, indicando que o controlo se inicializa sem restaurar o seu estado a partir de qualquer armazenamento persistente. Se não NULLfor , deve ser um apontador para um CFileobjeto derivado em que contém os dados persistentes do controlo, sob a forma de um fluxo ou de um armazenamento. Estes dados poderiam ter sido guardados numa ativação anterior do cliente. O CFile pode conter outros dados, mas deve ter o seu ponteiro de leitura-escrita definido para o primeiro byte de dados persistentes no momento da chamada para CreateControl.

bStorage
Indica se os dados devem pPersist ser interpretados como IStorage ou IStream dados. Se os dados em pPersist forem um armazenamento, bStorage deve ser TRUE. Se os dados em pPersist forem um fluxo, bStorage deverá ser FALSE. O valor predefinido é FALSE.

bstrLicKey
Dados opcionais da chave da licença. Estes dados são necessários apenas para criar controlos que exijam uma chave de licença em tempo de execução. Se o controlo suportar licenciamento, deve fornecer uma chave de licença para que a criação do controlo tenha sucesso. O valor predefinido é NULL.

clsid
O ID de classe único do controlo.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

CreateControl é um análogo direto da CWnd::Create função, que cria a janela para um CWnd. CreateControl cria um controlo ActiveX em vez de uma janela comum.

Apenas um subconjunto das flags do Windows dwStyle é suportado para CreateControl:

  • WS_VISIBLE Cria uma janela que é inicialmente visível. É necessário se quiseres que o controlo seja visível imediatamente, como janelas normais.

  • WS_DISABLED Cria uma janela que está inicialmente desativada. Uma janela desativada não pode receber entrada do utilizador. Pode ser definido se o controlo tiver uma propriedade Ativada.

  • WS_BORDER Cria uma janela com uma borda fina. Pode ser definido se o controlo tiver uma BorderStyle propriedade.

  • WS_GROUP Especifica o primeiro controlo de um grupo de controlos. O utilizador pode alterar o foco do teclado de um controlo no grupo para o seguinte usando as teclas de direção. Todos os controlos definidos com o WS_GROUP estilo após o primeiro controlo pertencem ao mesmo grupo. O próximo controlo com o WS_GROUP estilo termina o grupo e inicia o grupo seguinte.

  • WS_TABSTOP Especifica um controlo que pode receber o foco do teclado quando o utilizador pressiona a tecla TAB. Pressionar a tecla TAB muda o foco do teclado para o próximo controlo do WS_TABSTOP estilo.

Example

class CGenocx : public CWnd
{
protected:
   DECLARE_DYNCREATE(CGenocx)
public:
   CLSID const &GetClsid()
   {
      static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
      return clsid;
   }

   // This code is generated by the Control Wizard.
   // It wraps the call to CreateControl in the call to Create.
   virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
                       const RECT &rect, CWnd *pParentWnd, UINT nID,
                       CCreateContext *pContext = NULL)
   {
      UNREFERENCED_PARAMETER(pContext);
      UNREFERENCED_PARAMETER(lpszClassName);

      return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
   }

   // remainder of class declaration omitted...

CWnd::CreateEx

Cria a janela especificada e anexa-a ao CWnd objeto.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HMENU nIDorHMenu,
    LPVOID lpParam = NULL);

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    LPVOID lpParam = NULL);

Parâmetros

dwExStyle
Combinação bit a bit (OR) de estilos de janelas estendidas; caso contrário NULL , para o estilo padrão de janela estendida.

lpszClassName
Apontador para uma cadeia terminada por nulo que contém o nome de uma classe de janela do sistema registada; ou o nome de uma classe de janela de sistema pré-definida.

lpszWindowName
Apontador para uma cadeia terminada em nulo que contém o nome de exibição da janela; caso contrário NULL , sem nome de exibição de janela.

dwStyle
Combinação bit a bit (OR) de estilos de janelas; caso contrário NULL , para o estilo de janela padrão.

x
A distância horizontal inicial da janela em relação ao lado esquerdo do ecrã ou à janela principal.

y
A distância vertical inicial da janela em relação ao topo do ecrã ou à janela principal.

nWidth
A largura, em píxeis, da janela.

nHeight
A altura, em pixels, da janela.

hwndParent
Para uma janela filha, a maçaneta da janela principal; caso contrário, a maçaneta da janela do proprietário se a janela tiver um dono.

nIDorHMenu
Para uma janela criança, o ID da janela; caso contrário, o ID de um menu da janela.

lpParam
Apontador para dados do utilizador que são passados para o CWnd::OnCreate método no lpCreateParams campo.

rect
O tamanho e a localização da janela em relação ao ecrã ou à janela principal.

pParentWnd
Para uma janela filho, apontar para a janela pai; caso contrário, aponta para a janela do proprietário se a janela tiver um dono.

nID
Para uma janela criança, o ID da janela; caso contrário, o ID de um menu da janela.

Valor de retorno

TRUE se o método fosse bem-sucedido; caso contrário FALSE.

Observações

Advertência

CWnd::PreCreateWindow agora atribui o hMenu membro do seu CREATESTRUCT parâmetro ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para uma funcionalidade correta, certifique-se de que o controlo de diálogo tem um ID que não NULLseja .

Esta alteração corrige um crash em cenários de interoperabilidade geridos/nativos. Uma TRACE declaração alerta CWnd::Create o programador para o problema.

O estilo padrão de janela estendida é WS_EX_LEFT. O estilo padrão da janela é WS_OVERLAPPED.

Use a AfxRegisterWndClass função para registar classes de janela. Classes de janela definidas pelo utilizador estão disponíveis no módulo onde estão registadas.

As dimensões das janelas filhos são relativas ao canto superior esquerdo da área cliente da janela pai. As dimensões das janelas do nível superior são relativas ao canto superior esquerdo do ecrã.

O CWnd::OnCreate método é chamado antes de o CreateEx método regressar e antes de a janela se tornar visível.

Example

void CMyDlg::OnCreateExtendedControl() 
{
   // m_pWndStaticEx is a CWnd* member of CMyDlg
   m_pWndStaticEx = new CStatic;
   m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
      _T("STATIC"), _T("Hi"),
      WS_CHILD | WS_TABSTOP | WS_VISIBLE,
      5, 5, 30, 30, m_hWnd, (HMENU)2345);
}

CWnd::CreateGrayCaret

Cria um retângulo cinzento para o caret do sistema e reivindica a propriedade do caret.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Parâmetros

nWidth
Especifica a largura do caret (em unidades lógicas). Se este parâmetro for 0, a largura é definida para a largura da janela definida pelo sistema.

nHeight
Especifica a altura do caret (em unidades lógicas). Se este parâmetro for 0, a altura é definida para a altura da borda da janela definida pelo sistema.

Observações

A forma do caret pode ser uma linha ou um bloco.

Os parâmetros nWidth e nHeight especificam a largura e altura do caret (em unidades lógicas); a largura e altura exatas (em píxeis) dependem do modo de mapeamento.

A largura ou altura da borda das janelas do sistema pode ser recuperada pela GetSystemMetrics função Windows com os SM_CXBORDER índices e.SM_CYBORDER Usar a largura ou altura da borda da janela garante que o caret será visível num ecrã de alta resolução.

A CreateGrayCaret função elemento destrói automaticamente a forma de caret anterior, se existir, independentemente de qual janela detém o caret. Uma vez criado, o caret é inicialmente escondido. Para mostrar o carente, deve ser chamada a ShowCaret função elementar.

O caret do sistema é um recurso partilhado. CWnd Deve criar um caret apenas quando tiver o foco de entrada ou estiver ativo. Deve destruir o caret antes de perder o foco de entrada ou ficar inativo.

Example

// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
   m_MyEdit.CreateGrayCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CreateSolidCaret

Cria um retângulo sólido para o caret do sistema e reivindica a propriedade do caret.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Parâmetros

nWidth
Especifica a largura do caret (em unidades lógicas). Se este parâmetro for 0, a largura é definida para a largura da janela definida pelo sistema.

nHeight
Especifica a altura do caret (em unidades lógicas). Se este parâmetro for 0, a altura é definida para a altura da borda da janela definida pelo sistema.

Observações

A forma do caret pode ser uma linha ou bloco.

Os parâmetros nWidth e nHeight especificam a largura e altura do caret (em unidades lógicas); a largura e altura exatas (em píxeis) dependem do modo de mapeamento.

A largura ou altura da borda das janelas do sistema pode ser recuperada pela GetSystemMetrics função Windows com os SM_CXBORDER índices e.SM_CYBORDER Usar a largura ou altura da borda da janela garante que o caret será visível num ecrã de alta resolução.

A CreateSolidCaret função elemento destrói automaticamente a forma de caret anterior, se existir, independentemente de qual janela detém o caret. Uma vez criado, o caret é inicialmente escondido. Para mostrar o carente, deve ser chamada a ShowCaret função elementar.

O caret do sistema é um recurso partilhado. CWnd Deve criar um caret apenas quando tiver o foco de entrada ou estiver ativo. Deve destruir o caret antes de perder o foco de entrada ou ficar inativo.

Example

// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
   m_MyEdit.CreateSolidCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CWnd

Constrói um CWnd objeto.

CWnd();

Observações

A janela do Windows não é criada e anexada até que a CreateEx função do membro ou Create seja chamada.

CWnd::Default

Chama o procedimento da janela padrão.

LRESULT Default();

Valor de retorno

Depende da mensagem enviada.

Observações

O procedimento de janela por defeito fornece processamento por defeito para qualquer mensagem de janela que uma aplicação não processe. Esta função de membro garante que todas as mensagens são processadas.

Example

// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   CWnd::Default();
}

CWnd::DefWindowProc

Chama o procedimento de janela por defeito, que fornece processamento por defeito para qualquer mensagem de janela que uma aplicação não processe.

virtual LRESULT DefWindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

message
Especifica a mensagem do Windows a ser processada.

wParam
Especifica informação adicional dependente da mensagem.

lParam
Especifica informação adicional dependente da mensagem.

Valor de retorno

Depende da mensagem enviada.

Observações

Esta função de membro garante que todas as mensagens são processadas. Deve ser chamada com os mesmos parâmetros que os recebidos pelo procedimento janela.

CWnd::DeleteTempMap

Chamada automaticamente pelo responsável pelo tempo de inatividade do CWinApp objeto.

static void PASCAL DeleteTempMap();

Observações

Apaga quaisquer objetos temporários CWnd criados pela FromHandle função membro.

Example

// DeleteTempMap() is a static member and does not need 
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();

CWnd::DestroyWindow

Destrói a janela das janelas presa ao CWnd objeto.

virtual BOOL DestroyWindow();

Valor de retorno

Não nula se a janela for destruída; caso contrário, 0.

Observações

A DestroyWindow função membro envia mensagens apropriadas para a janela para a desativar e remover o foco de entrada. Também destrói o menu da janela, limpa a fila de aplicação, destrói temporizadores pendentes, remove a posse do Clipboard e quebra a cadeia Clipboard-viewer se CWnd estiver no topo da cadeia de visualização. Envia WM_DESTROY e WM_NCDESTROY envia mensagens para a janela. Não destrói o CWnd objeto.

DestroyWindow é um reservatório para a limpeza. Como DestroyWindow é uma função virtual, é mostrada em qualquer CWndclasse derivada de -na Vista de Classe. Mas mesmo que sobreescrevas esta função na tua CWndclasse derivada por -, DestroyWindow não é necessariamente chamada. Se DestroyWindow não for chamado no código MFC, então tens de o chamar explicitamente no teu próprio código se quiseres que seja chamado.

Suponha, por exemplo, que sobrescreveu DestroyWindow numa CViewclasse derivada por -. Como o código-fonte MFC não chama DestroyWindow nenhuma das suas CFrameWndclasses derivadas em -, o seu overdden DestroyWindow não será chamado a menos que o chame explicitamente.

Se a janela for o pai de qualquer janela, essas janelas filhas são automaticamente destruídas quando a janela mãe é destruída. A DestroyWindow função membro destrói primeiro as janelas filhas e depois a própria janela.

A DestroyWindow função membro também destrói as caixas de diálogo sem modos criadas por CDialog::Create.

Se o CWnd ser destruído for uma janela filho e não tiver o WS_EX_NOPARENTNOTIFY estilo definido, então a WM_PARENTNOTIFY mensagem é enviada ao pai.

Example

// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in 
// OnOK() & OnCancel() handlers
void CModeless::OnOK() 
{ 
   if (!UpdateData(TRUE)) 
   {
      TRACE(_T("UpdateData failed during dialog termination\n"));
      // The UpdateData routine will set focus to correct item
      return;
   }
   DestroyWindow();
}

void CModeless::OnCancel()
{
   DestroyWindow();
}

CWnd::Detach

Desliga um handle do Windows de um CWnd objeto e devolve o handle.

HWND Detach();

Valor de retorno

A HWND ao objeto Windows.

Example

Veja o exemplo para CWnd::Attach.

CWnd::DlgDirList

Preenche uma caixa de lista com uma listagem de ficheiros ou diretórios.

int DlgDirList(
    LPTSTR lpPathSpec,
    int nIDListBox,
    int nIDStaticPath,
    UINT nFileType);

Parâmetros

lpPathSpec
Aponta para uma cadeia terminada por null que contém o caminho ou nome do ficheiro. DlgDirList modifica esta cadeia, que deve ser suficientemente longa para conter as modificações. Para mais informações, consulte a seguinte secção "Observações".

nIDListBox
Especifica o identificador de uma caixa de lista. Se nIDListBox for 0, DlgDirList assume que não existe caixa de lista e não tenta preencher uma.

nIDStaticPath
Especifica o identificador do controlo estático-texto usado para mostrar a unidade e diretório atuais. Se nIDStaticPath for 0, DlgDirList assume que não existe tal controlo de texto.

nFileType
Especifica os atributos dos ficheiros a serem exibidos. Pode ser qualquer combinação dos seguintes valores:

  • DDL_READWRITE Ler e escrever ficheiros de dados sem atributos adicionais.

  • DDL_READONLY Ficheiros apenas de leitura.

  • DDL_HIDDEN Ficheiros escondidos.

  • DDL_SYSTEM Ficheiros do sistema.

  • DDL_DIRECTORY Diretórios.

  • DDL_ARCHIVE Arquivos.

  • DDL_POSTMSGS LB_DIR Flag. Se a LB_DIR flag estiver definida, o Windows coloca as mensagens geradas por DlgDirList na fila da aplicação; caso contrário, são enviadas diretamente para o procedimento da caixa de diálogo.

  • DDL_DRIVES Conduz. Se a DDL_DRIVES bandeira estiver definida, a DDL_EXCLUSIVE bandeira é definida automaticamente. Portanto, para criar uma lista de diretórios que inclua discos e ficheiros, deve chamar DlgDirList duas vezes: uma com a DDL_DRIVES bandeira definida e outra com as bandeiras para o resto da lista.

  • DDL_EXCLUSIVE Parte exclusiva. Se o bit exclusivo estiver definido, apenas ficheiros do tipo especificado são listados; caso contrário, os ficheiros normais e os ficheiros do tipo especificado estão listados.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

Observações

DlgDirList envia LB_RESETCONTENT e LB_DIR envia mensagens para a caixa da lista. Preenche a caixa de lista especificada por nIDListBox com os nomes de todos os ficheiros que correspondem ao caminho dado por lpPathSpec.

O lpPathSpec parâmetro tem a seguinte forma:

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

Neste exemplo, drive é uma letra de unidade, directory é um nome de diretório válido, e filename é um nome de ficheiro válido que deve conter pelo menos um coringa. Os coringas são um ponto de interrogação (?), que significa corresponder a qualquer personagem, e um asterisco (*), que significa corresponder a qualquer número de caracteres.

Se especificar uma string de comprimento 0 para lpPathSpec, ou se especificar apenas um nome de diretório mas não incluir qualquer especificação de ficheiro, a string será alterada para "*.*".

Se lpPathSpec incluir um nome de disco e/ou diretório, o disco e diretório atuais são alterados para o disco e diretório designados antes de preencher a caixa de lista. O controlo de texto identificado por nIDStaticPath é também atualizado com o novo nome da unidade e/ou diretório.

Depois de preenchida a caixa de lista, lpPathSpec é atualizado removendo a parte do disco e/ou diretório do caminho.

Example

// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

CWnd::DlgDirListComboBox

Preenche a caixa de lista de uma caixa de combo com uma listagem de ficheiros ou diretórios.

int DlgDirListComboBox(
    LPTSTR lpPathSpec,
    int nIDComboBox,
    int nIDStaticPath,
    UINT nFileType);

Parâmetros

lpPathSpec
Aponta para uma cadeia terminada por null que contém o caminho ou nome do ficheiro. DlgDirListComboBox modifica esta cadeia, por isso estes dados não devem estar na forma de uma cadeia literal. Consulte a seguinte secção "Observações".

nIDComboBox
Especifica o identificador de uma caixa de combo numa caixa de diálogo. Se nIDComboBox for 0, DlgDirListComboBox assume que não existe caixa de combo e não tenta preencher uma.

nIDStaticPath
Especifica o identificador do controlo estático-texto usado para mostrar a unidade e diretório atuais. Se nIDStaticPath for 0, DlgDirListComboBox assume que não existe tal controlo de texto.

nFileType
Especifica atributos de ficheiros DOS dos ficheiros a serem exibidos. Pode ser qualquer combinação dos seguintes valores:

  • DDL_READWRITE Ler e escrever ficheiros de dados sem atributos adicionais.

  • DDL_READONLY Ficheiros apenas de leitura.

  • DDL_HIDDEN Ficheiros escondidos.

  • DDL_SYSTEM Ficheiros do sistema.

  • DDL_DIRECTORY Diretórios.

  • DDL_ARCHIVE Arquivos.

  • DDL_POSTMSGS CB_DIR Flag. Se a CB_DIR flag estiver definida, o Windows coloca as mensagens geradas por DlgDirListComboBox na fila da aplicação; caso contrário, são enviadas diretamente para o procedimento da caixa de diálogo.

  • DDL_DRIVES Conduz. Se a DDL_DRIVES bandeira estiver definida, a DDL_EXCLUSIVE bandeira é definida automaticamente. Portanto, para criar uma lista de diretórios que inclua discos e ficheiros, deve chamar DlgDirListComboBox duas vezes: uma com a DDL_DRIVES bandeira definida e outra com as bandeiras para o resto da lista.

  • DDL_EXCLUSIVE Parte exclusiva. Se o bit exclusivo estiver definido, apenas ficheiros do tipo especificado são listados; caso contrário, os ficheiros normais e os ficheiros do tipo especificado estão listados.

Valor de retorno

Especifica o resultado da função. É diferente de zero se uma listagem foi feita, mesmo que vazia. Um valor de retorno 0 implica que a cadeia de entrada não continha um caminho de pesquisa válido.

Observações

DlgDirListComboBox envia CB_RESETCONTENT e CB_DIR envia mensagens para a caixa combinada. Preenche a caixa de lista da caixa de combo especificada por nIDComboBox com os nomes de todos os ficheiros que correspondem ao caminho dado por lpPathSpec.

O lpPathSpec parâmetro tem a seguinte forma:

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

Neste exemplo, drive é uma letra de unidade, directory é um nome de diretório válido, e filename é um nome de ficheiro válido que deve conter pelo menos um coringa. Os coringas são um ponto de interrogação (?), que significa corresponder a qualquer personagem, e um asterisco (*), que significa corresponder a qualquer número de caracteres.

Se especificar uma string de comprimento zero para lpPathSpec, o diretório atual será usado e lpPathSpec não será modificado. Se especificar apenas um nome de diretório mas não incluir qualquer especificação de ficheiro, a cadeia será alterada para "*".

Se lpPathSpec incluir um nome de disco e/ou diretório, o disco e diretório atuais são alterados para o disco e diretório designados antes de preencher a caixa de lista. O controlo de texto identificado por nIDStaticPath é também atualizado com o novo nome da unidade e/ou diretório.

Depois de preenchida a caixa de lista de combo, lpPathSpec é atualizado removendo a parte do disco e/ou diretório do caminho.

Example

// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.

TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.

CWnd::DlgDirSelect

Recupera a seleção atual de uma caixa de lista.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Parâmetros

lpString
Aponta para um buffer que recebe a seleção atual na caixa da lista.

nIDListBox
Especifica o ID inteiro de uma caixa de lista na caixa de diálogo.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Assume que a caixa de lista foi preenchida pela DlgDirList função membro e que a seleção é uma letra de unidade, um ficheiro ou um nome de diretório.

A DlgDirSelect função membro copia a seleção para o buffer dado por lpString. Se não houver seleção, lpString não muda.

DlgDirSelect envia LB_GETCURSEL e LB_GETTEXT envia mensagens para a caixa da lista.

Não permite que mais do que um nome de ficheiro seja devolvido a partir de uma caixa de lista. A caixa de lista não deve ser uma caixa de seleção múltipla.

CWnd::DlgDirSelectComboBox

Recupera a seleção atual da caixa de lista de uma caixa de combo.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Parâmetros

lpString
Aponta para um buffer que deve receber o caminho selecionado.

nIDComboBox
Especifica o ID inteiro da caixa de combo na caixa de diálogo.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Assume que a caixa de lista foi preenchida pela DlgDirListComboBox função membro e que a seleção é uma letra de unidade, um ficheiro ou um nome de diretório.

A DlgDirSelectComboBox função membro copia a seleção para o buffer especificado. Se não houver seleção, o conteúdo do buffer não é alterado.

DlgDirSelectComboBox envia CB_GETCURSEL e CB_GETLBTEXT envia mensagens para a caixa combinada.

Não permite que mais do que um nome de ficheiro seja devolvido a partir de uma caixa combinada.

CWnd::DoDataExchange

Chamado pelo framework para trocar e validar dados de diálogo.

virtual void DoDataExchange(CDataExchange* pDX);

Parâmetros

pDX
Um ponteiro para um CDataExchange objeto.

Observações

Nunca chames esta função diretamente. É chamada pela UpdateData função elemento. Chamar UpdateData para inicializar os controlos de uma caixa de diálogo ou recuperar dados de uma caixa de diálogo.

Quando deriva uma classe de diálogo específica para uma aplicação a partir de CDialog, precisa de sobrescrever esta função membro se quiser utilizar a troca e validação automática de dados do framework. O assistente de Adicionar Variável irá escrever uma versão sobreposta desta função membro para si, contendo o "mapa de dados" desejado das chamadas globais de função de troca de dados de diálogo (DDX) e validação (DDV).

Para gerar automaticamente uma versão sobreposta desta função membro, crie primeiro um recurso de diálogo com o editor de diálogo e, de seguida, derive uma classe de diálogo específica para cada aplicação. Depois, use o assistente Adicionar Variável para associar variáveis, dados e intervalos de validação a vários controlos na nova caixa de diálogo. O assistente então escreve o sobrescrito DoDataExchange, que contém um mapa de dados. Segue-se um exemplo de bloco de código DDX/DDV gerado pelo assistente de Adicionar Variável:

void CPenWidthsDlg::DoDataExchange(CDataExchange *pDX)
{
   CDialog::DoDataExchange(pDX);
   DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
   DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
   DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
   DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}

A DoDataExchange função membro sobreposta deve preceder as instruções macro no seu ficheiro fonte.

Para mais informações sobre troca e validação de dados de diálogo, veja Exibição e Manipulação de Dados em Formulário e Troca e Validação de Dados em Diálogo. Para uma descrição dos macros DDX_ e DDV_ gerados pelo assistente de Adicionar Variável, consulte a Nota Técnica 26.

CWnd::DragAcceptFiles

Chame esta função membro a partir de uma janela, usando um CWnd ponteiro, na função da CWinApp::InitInstance sua aplicação para indicar que a janela aceita ficheiros caídos do Gestor de Ficheiros do Windows ou do Explorador de Ficheiros.

void DragAcceptFiles(BOOL bAccept = TRUE);

Parâmetros

BAccept
Flag que indica se os ficheiros arrastados são aceites.

Observações

Apenas a janela que chama DragAcceptFiles com o bAccept parâmetro definido para TRUE se identificou como capaz de processar a mensagem WM_DROPFILESdo Windows . Por exemplo, numa aplicação MDI, se o CMDIFrameWnd ponteiro da janela for usado na DragAcceptFiles chamada de função, apenas a CMDIFrameWnd janela recebe a WM_DROPFILES mensagem. Esta mensagem não é enviada para todas as janelas abertas CMDIChildWnd . Para que uma CMDIChildWnd janela receba esta mensagem, deve ligar DragAcceptFiles com o CMDIChildWnd ponteiro da janela.

Para deixar de receber ficheiros arrastados, chame a função membro com bAccept definido para FALSE.

CWnd::DragDetect

Captura o rato e acompanha o seu movimento até o utilizador soltar o botão esquerdo, pressionar a tecla ESC ou mover o rato para fora do retângulo de arrastar em torno do ponto especificado.

BOOL DragDetect(POINT pt) const;

Parâmetros

pt
Posição inicial do rato, em coordenadas do ecrã. A função determina as coordenadas do retângulo de arrasto usando este ponto.

Valor de retorno

Se o utilizador mover o rato para fora do retângulo de arrastar enquanto mantém pressionado o botão esquerdo, o valor de retorno é diferente de zero.

Se o utilizador não mover o rato para fora do retângulo de arrastar enquanto mantém pressionado o botão esquerdo, o valor de retorno é zero.

Observações

Esta função de membro emula a funcionalidade da função DragDetect, conforme descrito no SDK do Windows.

CWnd::DrawAnimatedRects

Desenha um retângulo em wireframe e anima-o para indicar a abertura de um ícone ou a minimização ou maximização de uma janela.

BOOL DrawAnimatedRects(
    int idAni,
    CONST RECT* lprcFrom,
    CONST RECT* lprcTo);

Parâmetros

idAni
Especifica o tipo de animação. Se especificar IDANI_CAPTION, a legenda da janela irá ser animada da posição especificada por lprcFrom para a posição especificada por lprcTo. O efeito é semelhante a minimizar ou maximizar uma janela.

lprcFrom
Apontador para uma RECT estrutura que especifica a localização e o tamanho do ícone ou janela minimizada.

lprcTo
Ponteiro para uma RECT estrutura que especifica a localização e o tamanho da janela restaurada

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função DrawAnimatedRects, conforme descrito no SDK do Windows.

CWnd::DrawCaption

Desenha uma legenda de janela.

BOOL DrawCaption(
    CDC* pDC,
    LPCRECT lprc,
    UINT uFlags);

Parâmetros

pDC
Um ponteiro para um contexto de dispositivo. A função desenha a legenda da janela para o contexto deste dispositivo.

lprc
Um ponteiro para uma RECT estrutura que especifica o retângulo delimitador para a legenda da janela.

uFlags
Especifica opções de desenho. Para uma lista completa de valores, veja DrawCaption.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função DrawCaption, conforme descrito no SDK do Windows.

CWnd::DrawMenuBar

Redesenha a barra de menus.

void DrawMenuBar();

Observações

Se uma barra de menu for alterada depois de o Windows criar a janela, chame esta função para desenhar a barra de menu alterada.

Example

Veja o exemplo para CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Ativa funções de Acessibilidade Ativa definidas pelo utilizador.

void EnableActiveAccessibility();

Observações

O suporte padrão de Acessibilidade Ativa do MFC é suficiente para janelas e controlos padrão, incluindo controlos ActiveX; no entanto, se a sua CWndclasse -derivada contiver elementos de interface de utilizador sem janela, o MFC não tem forma de os conhecer. Nesse caso, deve sobrescrever as funções de membro Active Accessibility apropriadas na sua classe e deve chamar EnableActiveAccessibility o construtor da classe.

CWnd::EnableDynamicLayout

Ativa ou desativa o gestor de layout dinâmico. Quando o layout dinâmico está ativado, a posição e o tamanho das janelas filhos podem ajustar-se dinamicamente quando o utilizador redimensiona a janela.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Parâmetros

bEnable
TRUE para permitir o layout dinâmico; FALSE para desativar o layout dinâmico.

Observações

Se quiseres ativar o layout dinâmico, tens de fazer mais do que simplesmente chamar este método. Também tens de fornecer informação dinâmica sobre a disposição das espécies, como os controlos na janela respondem às mudanças de tamanho. Pode especificar esta informação no editor de recursos, ou programaticamente, para cada controlo. Ver Layout Dinâmico.

CWnd::EnableD2DSupport

Ativa ou desativa o suporte D2D para janelas. Chame este método antes de a janela principal ser inicializada.

void EnableD2DSupport(
    BOOL bEnable = TRUE,
    BOOL bUseDCRenderTarget = FALSE);

Parâmetros

bEnable
Especifica se deve ativar ou desativar o suporte D2D.

bUseDCRenderTarget
Espécies se devem usar o alvo de renderização do Contexto do Dispositivo (DC), CDCRenderTarget. Se FALSE, CHwndRenderTarget é usado.

CWnd::EnableScrollBar

Ativa ou desativa uma ou ambas as setas de uma barra de scroll.

BOOL EnableScrollBar(
    int nSBFlags,
    UINT nArrowFlags = ESB_ENABLE_BOTH);

Parâmetros

nSBFlags
Especifica o tipo de barra de deslocamento. Pode ter um dos seguintes valores:

  • SB_BOTH Ativa ou desativa as setas das barras de scroll horizontais e verticais associadas à janela.

  • SB_HORZ Ativa ou desativa as setas da barra de rolagem horizontal associada à janela.

  • SB_VERT Ativa ou desativa as setas da barra vertical associada à janela.

nArrowFlags
Especifica se as setas da barra de deslocamento estão ativadas ou desativadas e quais setas estão ativadas ou desativadas. Pode ter um dos seguintes valores:

  • ESB_ENABLE_BOTH Ativa ambas as setas de uma barra de deslocamento (por defeito).

  • ESB_DISABLE_LTUP Desativa a seta esquerda de uma barra de deslocamento horizontal ou a seta para cima de uma barra de deslocamento vertical.

  • ESB_DISABLE_RTDN Desativa a seta direita de uma barra de scroll horizontal ou a seta para baixo de uma barra de scroll vertical.

  • ESB_DISABLE_BOTH Desativa ambas as setas da barra de deslocamento.

Valor de retorno

Diferente de zero se as setas estiverem ativadas ou desativadas conforme especificado. Caso contrário, é 0, o que indica que as setas já estão no estado solicitado ou que ocorreu um erro.

CWnd::EnableScrollBarCtrl

Ativa ou desativa a barra de deslocação desta janela.

void EnableScrollBarCtrl(
    int nBar,
    BOOL bEnable = TRUE);

Parâmetros

nBar
O identificador da barra de deslocamento.

bEnable
Especifica se a barra de deslocamento deve ser ativada ou desativada.

Observações

Se a janela tiver um controlo de barra de scroll irmã, essa barra de scroll é utilizada; caso contrário, é usada a barra de deslocação própria da janela.

CWnd::EnableToolTips

Permite as dicas de ferramenta para a janela dada.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se o controlo da tooltip está ativado ou desativado. TRUE permite o controlo; FALSE desativa o controlo.

Valor de retorno

TRUE se as dicas de ferramenta estiverem ativadas; caso contrário FALSE.

Observações

Override OnToolHitTest para fornecer a TOOLINFO estrutura ou estruturas para a janela.

Observação

Algumas janelas, como CToolBar, fornecem uma implementação incorporada de OnToolHitTest.

Consulte TOOLINFO o SDK do Windows para mais informações sobre esta estrutura.

Simplesmente chamar EnableToolTips não é suficiente para mostrar dicas de ferramenta para os controlos do seu filho, a menos que a janela pai seja derivada de CFrameWnd. Isto deve-se ao facto CFrameWnd de fornecer um handler padrão para a TTN_NEEDTEXT notificação. Se a sua janela de pai não for derivada de CFrameWnd, ou seja, se for uma caixa de diálogo ou uma vista de formulário, as dicas de ferramenta para os controlos do seu filho não serão exibidas corretamente, a menos que forneça um handler para a TTN_NEEDTEXT notificação da tooltip. Ver dicas de ferramenta.

As dicas de ferramenta padrão fornecidas para as suas janelas EnableToolTips não têm texto associado a elas. Para recuperar texto para a dica de ferramenta ser exibida, a TTN_NEEDTEXT notificação é enviada para a janela principal do controlo da dica pouco antes da janela da dica ser exibida. Se não houver um handler para esta mensagem atribuir algum valor ao pszText membro da TOOLTIPTEXT estrutura, não será exibido texto para a dica de ferramenta.

Example

// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)

 

void CMdiView::OnInitialUpdate()
{
   CView::OnInitialUpdate();

   m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
                 CRect(10, 10, 100, 100), this, IDC_TTEDIT);
   EnableToolTips(TRUE); // enable tool tips for view
}

//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
   UNREFERENCED_PARAMETER(id);
   UNREFERENCED_PARAMETER(pResult);

   // need to handle both ANSI and UNICODE versions of the message
   TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
   TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
   CStringA strTipText;
   UINT_PTR nID = pNMHDR->idFrom;
   if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
       pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND)nID);
   }

   if (nID != 0) // will be zero on a separator
      strTipText.Format("Control ID = %d", nID);

   if (pNMHDR->code == TTN_NEEDTEXTA)
   {
      strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
                strTipText.GetLength() + 1);
   }
   else
   {
      ::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
                            pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
   }

   return TRUE; // message was handled
}

CWnd::EnableTrackingToolTips

Ativa ou desativa as dicas de rastreamento.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se as descrições de ferramentas de rastreamento estão ativadas ou desativadas. Se este parâmetro for TRUE, as dicas de ferramentas de rastreamento serão ativadas. Se este parâmetro for FALSE, as descrições de ferramentas de rastreamento serão desativadas.

Valor de retorno

Indica o estado antes de a EnableWindow função membro ser chamada. O valor de retorno é diferente de zero se a janela estivesse previamente desativada. O valor de retorno é 0 se a janela estivesse previamente ativada ou se ocorreu um erro.

Observações

As dicas de tracking são janelas de tooltip que podes posicionar dinamicamente no ecrã. Ao atualizar rapidamente a posição, a janela da dica de ferramenta parece mover-se suavemente, ou "rastrear". Esta funcionalidade pode ser útil se precisares de texto tipo de ferramenta para acompanhar a posição do ponteiro à medida que este se move.

CWnd::EnableWindow

Ativa ou desativa a entrada de rato e teclado.

BOOL EnableWindow(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se a janela dada deve ser ativada ou desativada. Se este parâmetro for TRUE, a janela será ativada. Se este parâmetro for FALSE, a janela será desativada.

Valor de retorno

Indica o estado antes de a EnableWindow função membro ser chamada. O valor de retorno é diferente de zero se a janela estivesse previamente desativada. O valor de retorno é 0 se a janela estivesse previamente ativada ou se ocorreu um erro.

Observações

Quando a entrada está desativada, a entrada como cliques de rato e teclas é ignorada. Quando a entrada está ativada, a janela processa toda a entrada.

Se o estado ativado estiver a mudar, a WM_ENABLE mensagem é enviada antes de esta função regressar.

Se desativadas, todas as janelas filhos ficam implicitamente desativadas, embora não sejam enviadas WM_ENABLE mensagens.

Uma janela deve ser ativada antes de poder ser ativada. Por exemplo, se uma aplicação estiver a exibir uma caixa de diálogo sem modos e tiver desativado a sua janela principal, a janela principal deve estar ativada antes de a caixa de diálogo ser destruída. Caso contrário, outra janela recebe o foco de entrada e é ativada. Se uma janela filha estiver desativada, é ignorada quando o Windows tenta determinar qual janela deve receber mensagens do rato.

Por defeito, uma janela está ativada quando é criada. Uma aplicação pode especificar o WS_DISABLED estilo na Create função membro ou CreateEx para criar uma janela que está inicialmente desativada. Depois de criada uma janela, uma aplicação pode também usar a EnableWindow função membro para ativar ou desativar a janela.

Uma aplicação pode usar esta função para ativar ou desativar um controlo numa caixa de diálogo. Um controlo desativado não pode receber o foco de entrada, nem o utilizador pode aceder a ele.

Example

//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
   CFileDialog::OnInitDialog();

   CWnd *pWndParent = GetParent();

   //make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'

   //disables the 'file name' edit and static control
   //of the standard file open dialog

   //get handle of 'file name' combobox control & disable it
   CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
   pWnd->EnableWindow(FALSE);

   //get handle of 'file name' static control & disable it
   pWnd = pWndParent->GetDlgItem(stc3);
   pWnd->EnableWindow(FALSE);

   return TRUE;
}

CWnd::EndModalLoop

Termina uma chamada para RunModalLoop.

virtual void EndModalLoop(int nResult);

Parâmetros

nResult
Contém o valor a ser devolvido ao chamador de RunModalLoop.

Observações

O nResult parâmetro é propagado para o valor de retorno de RunModalLoop.

CWnd::EndModalState

Chame essa função de membro para alterar uma janela de quadro de modal para sem modo.

virtual void EndModalState();

CWnd::EndPaint

Marca o fim da pintura na janela indicada.

void EndPaint(LPPAINTSTRUCT lpPaint);

Parâmetros

lpPaint
Aponta para uma PAINTSTRUCT estrutura que contém a informação de pintura recuperada pela BeginPaint função elemento.

Observações

A EndPaint função elemento é necessária para cada chamada à BeginPaint função elemento, mas apenas depois de a pintura estar concluída.

Se o caret estava oculto pela BeginPaint função membro, EndPaint restaura o caret no ecrã.

Example

Veja o exemplo para CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Inicia um recurso de diálogo.

BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);

Parâmetros

lpszResourceName
Um apontador para uma cadeia terminada por nulo que especifica o nome do recurso.

lpResource
Um indicador para um recurso.

Valor de retorno

TRUE se um recurso de diálogo for executado; caso contrário FALSE.

Observações

ExecuteDlgInit utilizará recursos vinculados ao módulo em execução, ou recursos de outras fontes. Para isso, ExecuteDlgInit encontra um handle de recurso chamando AfxFindResourceHandle. Se a sua aplicação MFC não usar a DLL partilhada (MFCx0[U][D].DLL), AfxFindResourceHandle chama AfxGetResourceHandle, que devolve o handle de recurso atual para o executável. Se a sua aplicação MFC que utiliza MFCx0[U][D].DLL percorrer AfxFindResourceHandle a CDynLinkLibrary lista de objetos de DLLs partilhadas e de extensão MFC à procura do handle de recurso correto.

CWnd::FilterToolTipMessage

Chamado pelo framework para mostrar mensagens de tooltip.

void FilterToolTipMessage(MSG* pMsg);

Parâmetros

pMsg
Um apontador para a mensagem da dica de ferramenta.

Observações

Na maioria das aplicações MFC, este método é chamado pelo framework from PreTranslateMessage e EnableToolTips, e não precisa de o chamar por si próprio.

No entanto, em certas aplicações, por exemplo alguns controlos ActiveX, estes métodos podem não ser invocados pelo framework, e terá de se chamar FilterToolTipMessage a si próprio. Para mais informações, consulte Métodos de Criação de Dicas de Ferramentas.

CWnd::FindWindow

Devolve o top-level CWnd cuja classe de janela é dada por lpszClassName e cujo nome, ou título, da janela é dado por lpszWindowName.

static CWnd* PASCAL FindWindow(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName);

Parâmetros

lpszClassName
Aponta para uma cadeia terminada por nulo que especifica o nome da classe da janela (uma WNDCLASS estrutura). Se lpClassName for NULL, todos os nomes das classes coincidem.

lpszWindowName
Aponta para uma cadeia terminada por nulo que especifica o nome da janela (o título da janela). Se lpWindowName for NULL, todos os nomes de janelas coincidem.

Valor de retorno

Identifica a janela que tem o nome da classe e o nome da janela especificados. É, NULL se não for encontrada tal janela.

O CWnd* pode ser temporário e não deve ser guardado para uso posterior.

Observações

Esta função não pesquisa janelas filhas.

Example

// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
   CWnd *pWndPrev, *pWndChild;

   // Determine if a window with the class name exists...
   pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
   if (NULL != pWndPrev)
   {
      // If so, does it have any popups?
      pWndChild = pWndPrev->GetLastActivePopup();

      // If iconic, restore the main window
      if (pWndPrev->IsIconic())
         pWndPrev->ShowWindow(SW_RESTORE);

      // Bring the main window or its popup to the foreground
      pWndChild->SetForegroundWindow();

      // and you are done activating the other application
      return FALSE;
   }

   return TRUE;
}

CWnd::FindWindowEx

Recupera o objeto janela cujo nome da classe e do nome da janela correspondem às strings especificadas.

static CWnd* FindWindowEx(
    HWND hwndParent,
    HWND hwndChildAfter,
    LPCTSTR lpszClass,
    LPCTSTR lpszWindow);

Parâmetros

hwndParent
Handle para a janela mãe cujas janelas filhas devem ser pesquisadas.

hwndChildAfter
Pega na janela de uma criança. A pesquisa começa com a próxima janela filha na ordem Z. A janela filho deve ser uma janela filha direta de hwndParent, não apenas uma janela descendente.

lpszClass
Apontador para uma cadeia terminada por nulo que especifica o nome da classe ou um átomo de classe criado por uma chamada anterior ao RegisterClass ou RegisterClassEx.

lpszWindow
Apontador para uma cadeia terminada por nulo que especifica o nome da janela (o título da janela). Se este parâmetro for NULL, todos os nomes das janelas coincidem.

Valor de retorno

Se a função tiver sucesso, o valor de retorno é um ponteiro para o objeto janela com os nomes de classe e janela especificados. Se a função falhar, o valor de retorno é NULL.

Observações

Esta função de membro emula a funcionalidade da função FindWindowEx, conforme descrito no SDK do Windows.

CWnd::FlashWindow

Pisca a janela dada uma vez.

BOOL FlashWindow(BOOL bInvert);

Parâmetros

bInvert
Especifica se o CWnd deve ser flashado ou devolvido ao seu estado original. O CWnd é flashado de um estado para o outro se bInvert for TRUE. Se bInvert for FALSE, a janela é devolvida ao seu estado original (ativo ou inativo).

Valor de retorno

Diferente de zero se a janela estivesse ativa antes da chamada para a FlashWindow função membro; caso contrário, 0.

Observações

Para flashes sucessivos, crie um temporizador de sistema e chame FlashWindowrepetidamente . Piscar o CWnd sistema muda a aparência da barra de título como se estivesse CWnd a mudar de inativo para ativo, ou vice-versa. (Uma barra de título inativa muda para uma barra de título ativa; uma barra de título ativa muda para uma barra de título inativa.)

Normalmente, uma janela é projetada para informar o utilizador de que precisa de atenção, mas que não tem atualmente o foco de entrada.

O bInvert parâmetro deve ser FALSE apenas quando a janela está a receber o foco de entrada e deixa de estar a piscar; deve estar TRUE em chamadas sucessivas enquanto espera obter o foco de entrada.

Esta função devolve sempre o que não é zero para janelas minimizadas. Se a janela estiver minimizada, FlashWindow o ícone da janela irá piscar; bInvert é ignorado para janelas minimizadas.

Example

BOOL CPenWidthsDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   // set timer to cause dialog to flash
   SetTimer(1, 500, NULL);
   return TRUE; // return TRUE unless you set the focus to a control
}

void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
   // cause the dialog to flash
   FlashWindow(TRUE);
   CDialog::OnTimer(nIDEvent);
}

CWnd::FlashWindowEx

Pisca a janela indicada.

BOOL FlashWindowEx(
    DWORD dwFlags,
    UINT uCount,
    DWORD dwTimeout);

Parâmetros

dwFlags
Especifica o estado do flash. Para uma lista completa de valores, veja a FLASHWINFO estrutura.

uCount
Especifica o número de vezes a piscar a janela.

dwTimeout
Especifica a velocidade, em milissegundos, a que a janela será piscada. Se dwTimeout for zero, a função utiliza a taxa de piscar do cursor por defeito.

Valor de retorno

O valor de retorno especifica o estado da janela antes da chamada à FlashWindowEx função. Se a legenda da janela foi desenhada como ativa antes da chamada, o valor de retorno é diferente de zero. Caso contrário, o valor de retorno é zero.

Observações

Este método emula a funcionalidade da função FlashWindowEx, conforme descrito no SDK do Windows.

CWnd::FromHandle

Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado.

static CWnd* PASCAL FromHandle(HWND hWnd);

Parâmetros

hWnd
Uma HWND janela de janela.

Valor de retorno

Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado.

O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

CWnd::FromHandlePermanent

Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Parâmetros

hWnd
Uma HWND janela de janela.

Valor de retorno

Um ponteiro para um CWnd objeto.

Observações

Se um CWnd objeto não estiver preso à pega, NULL é devolvido.

Esta função, ao contrário de FromHandle, não cria objetos temporários.

CWnd::get_accChild

Chamado pela estrutura para recuperar o endereço de uma interface IDispatch para o filho especificado.

virtual HRESULT get_accChild(
    VARIANT varChild,
    IDispatch** ppdispChild);

Parâmetros

varChild
Identifica a criança cuja IDispatch interface deve ser recuperada.

ppdispChild
Recebe o endereço da interface do IDispatch objeto filho.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accChild no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::get_accChild no SDK do Windows.

CWnd::get_accChildCount

Chamado pela estrutura para recuperar o número de filhos pertencentes a este objeto.

virtual HRESULT get_accChildCount(long* pcountChildren);

Parâmetros

pcountChildren
Recebe o número de crianças.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accChildCount no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere). Chame a versão base da classe e depois adicione os elementos filhos sem janela.

Para obter mais informações, consulte IAccessible::get_accChildCount no SDK do Windows.

CWnd::get_accDefaultAction

Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a ação padrão do objeto.

virtual HRESULT get_accDefaultAction(
    VARIANT varChild,
    BSTR* pszDefaultAction);

Parâmetros

varChild
Especifica se a ação padrão a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pszDefaultAction
Endereço de a BSTR que recebe uma string localizada descrevendo a ação padrão para o objeto especificado, ou NULL se esse objeto não tiver uma ação por defeito.

Valor de retorno

Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Ver valores de retorno em IAccessible::get_accDefaultAction no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Sobrescrita esta função na tua CWndclasse derivada de -para descrever a ação padrão do teu objeto.

Para obter mais informações, consulte IAccessible::get_accDefaultAction no SDK do Windows.

CWnd::get_accDescription

Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a aparência visual do objeto especificado.

virtual HRESULT get_accDescription(
    VARIANT varChild,
    BSTR* pszDescription);

Parâmetros

varChild
Especifica se a descrição a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pszDescription
Endereço de a BSTR que recebe uma string localizada a descrever o objeto especificado, ou NULL se não houver descrição disponível para esse objeto.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accDescription no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Sobrescrita esta função na tua CWndclasse derivada para descrever o teu objeto. Liga para a versão da classe base e adiciona a tua descrição.

Para obter mais informações, consulte IAccessible::get_accDescription no SDK do Windows.

CWnd::get_accFocus

Chamado pela estrutura para recuperar o objeto que tem o foco do teclado.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

Parâmetros

pvarChild
Recebe informação sobre o objeto que tem o foco. Veja pvarID no IAccessible::get_accFocus SDK do Windows.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accFocus no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::get_accFocus no SDK do Windows.

CWnd::get_accHelp

Chamada pelo framework para recuperar a cadeia de propriedades Help de um objeto.

virtual HRESULT get_accHelp(
    VARIANT varChild,
    BSTR* pszHelp);

Parâmetros

varChild
Especifica se a informação de ajuda a ser recuperada pertence ao objeto ou a de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pszHelp
Endereço de a BSTR que recebe a string localizada contendo a informação de ajuda para o objeto especificado, ou NULL se não houver informação de ajuda disponível.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accHelp no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada para fornecer texto de ajuda para o seu objeto.

Para obter mais informações, consulte IAccessible::get_accHelp no SDK do Windows.

CWnd::get_accHelpTopic

Chamado pelo framework para recuperar o caminho completo do ficheiro WinHelp associado ao objeto especificado e o identificador do tópico apropriado dentro desse ficheiro.

virtual HRESULT get_accHelpTopic(
    BSTR* pszHelpFile,
    VARIANT varChild,
    long* pidTopic);

Parâmetros

pszHelpFile
Endereço de a BSTR que recebe o caminho completo do WinHelp ficheiro associado ao objeto especificado, se houver.

varChild
Especifica se o tópico Ajuda a ser recuperado é o do objeto ou um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter um tópico de Ajuda para o objeto) ou um ID filho (para obter um tópico de Ajuda para um dos elementos filho do objeto).

pidTopic
Identifica o tópico do ficheiro de Ajuda associado ao objeto especificado. Veja pidTopic no IAccessible::get_accHelpTopic SDK do Windows.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accHelpTopic no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada para fornecer informação de ajuda sobre o seu objeto.

Para obter mais informações, consulte IAccessible::get_accHelpTopic no SDK do Windows.

CWnd::get_accKeyboardShortcut

Chamado pela estrutura para recuperar a tecla de atalho ou a chave de acesso do objeto especificado.

virtual HRESULT get_accKeyboardShortcut(
    VARIANT varChild,
    BSTR* pszKeyboardShortcut);

Parâmetros

varChild
Especifica se o atalho de teclado a recuperar é o do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pszKeyboardShortcut
Endereço de a BSTR que recebe uma string localizada identificando o atalho de teclado, ou NULL se não estiver associado nenhum atalho de teclado ao objeto especificado.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accKeyboardShortcut no SDK do Windows.

Observações

Esta função faz parte do suporte da Active Accessibility MFC.

Sobrescrita esta função na tua CWndclasse derivada para identificar o atalho de teclado do teu objeto.

Para obter mais informações, consulte IAccessible::get_accKeyboardShortcut no SDK do Windows.

CWnd::get_accName

Chamado pela estrutura para recuperar o nome do objeto especificado.

virtual HRESULT get_accName(
    VARIANT varChild,
    BSTR* pszName);

Parâmetros

varChild
Especifica se o nome a recuperar é o do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pszName
Endereço de a BSTR que recebe uma string contendo o nome do objeto especificado.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accName no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada para devolver o nome do seu objeto.

Para obter mais informações, consulte IAccessible::get_accName no SDK do Windows.

CWnd::get_accParent

Chamado pelo framework para recuperar a IDispatch interface do pai do objeto.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

Parâmetros

ppdispParent
Recebe o endereço da interface do IDispatch objeto pai. A variável é definida para NULL se não existir um pai, ou se o filho não conseguir aceder ao seu pai.

Valor de retorno

Retornos S_OK do sucesso, um COM código de erro em caso de falha. Veja valores de retorno em IAccessible::get_accParent no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Na maioria dos casos, não tens de sobrescrever esta função.

Para obter mais informações, consulte IAccessible::get_accParent no SDK do Windows.

CWnd::get_accRole

Chamado pela estrutura para recuperar informações que descrevem a função do objeto especificado.

virtual HRESULT get_accRole(
    VARIANT varChild,
    VARIANT* pvarRole);

Parâmetros

varChild
Especifica se a informação do papel a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pvarRole
Recebe a informação do cargo. Veja pvarRole no IAccessible::get_accRole SDK do Windows.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accRole no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::get_accRole no SDK do Windows.

CWnd::get_accSelection

Chamado pela estrutura para recuperar os filhos selecionados deste objeto.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Parâmetros

pvarChildren
Recebe informações sobre quais as crianças selecionadas. Veja pvarChildren no IAccessible::get_accSelection SDK do Windows.

Valor de retorno

Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accSelection no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::get_accSelection no SDK do Windows.

CWnd::get_accState

Chamado pela estrutura para recuperar o estado atual do objeto especificado.

virtual HRESULT get_accState(
    VARIANT varChild,
    VARIANT* pvarState);

Parâmetros

varChild
Especifica se a informação de estado a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pvarState
Recebe informação sobre o estado do objeto. Veja pvarState no IAccessible::get_accState SDK do Windows.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accState no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::get_accState no SDK do Windows.

CWnd::get_accValue

Chamado pela estrutura para recuperar o valor do objeto especificado.

virtual HRESULT get_accValue(
    VARIANT varChild,
    BSTR* pszValue);

Parâmetros

varChild
Especifica se a informação de valor a recuperar pertence ao objeto ou a de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).

pszValue
Endereço de que BSTR recebe uma string localizada contendo o valor atual do objeto.

Valor de retorno

Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accValue no SDK do Windows.

Observações

Esta função faz parte do suporte de Acessibilidade Ativa da MFC.

Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).

Para obter mais informações, consulte IAccessible::get_accValue no SDK do Windows.

CWnd::GetActiveWindow

Recupera um ponteiro para a janela ativa.

static CWnd* PASCAL GetActiveWindow();

Valor de retorno

A janela ativa ou NULL se nenhuma janela estivesse ativa no momento da chamada. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

A janela ativa é ou a janela que tem o foco de entrada atual ou a janela explicitamente tornada ativa pela SetActiveWindow função membro.

CWnd::GetAncestor

Recupera o objeto janela ancestral da janela especificada.

CWnd* GetAncestor(UINT gaFlags) const;

Parâmetros

gaFlags
Especifica o antepassado a ser recuperado. Para uma lista completa de valores possíveis, veja GetAncestor.

Valor de retorno

Se a função tiver sucesso, o valor de retorno é um apontador para o objeto janela ancestral. Se a função falhar, o valor de retorno é NULL.

Observações

Esta função de membro emula a funcionalidade da função GetAncestor, conforme descrito no SDK do Windows.

CWnd::GetCapture

Recupera a janela onde o rato é capturado.

static CWnd* PASCAL GetCapture();

Valor de retorno

Identifica a janela que tem a captura do rato. É NULL se nenhuma janela tiver captura do rato.

O valor de retorno pode ser temporário e não deve ser guardado para uso posterior.

Observações

Apenas uma janela tem a captura do rato em cada momento. Uma janela recebe a captura do rato quando a SetCapture função membro é chamada. Esta janela recebe a entrada do rato, quer o cursor esteja ou não dentro das suas bordas.

CWnd::GetCaretPos

Recupera as coordenadas do cliente com a posição atual do caret e devolve-as como um CPoint.

static CPoint PASCAL GetCaretPos();

Valor de retorno

CPoint objeto contendo as coordenadas da posição do caret.

Observações

A posição do caret é dada nas coordenadas cliente da CWnd janela.

CWnd::GetCheckedRadioButton

Recupera o ID do botão de rádio atualmente verificado no grupo especificado.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Parâmetros

nIDFirstButton
Especifica o identificador inteiro do primeiro botão de acesso do grupo.

nIDLastButton
Especifica o identificador inteiro do último botão de acesso do grupo.

Valor de retorno

ID do botão de rádio verificado, ou 0 se não estiver selecionado.

CWnd::GetClientRect

Copia as coordenadas cliente da CWnd área cliente na estrutura apontada por lpRect.

void GetClientRect(LPRECT lpRect) const;

Parâmetros

lpRect
Aponta para uma RECT estrutura ou objeto CRect para receber as coordenadas do cliente. Os left membros e top serão 0. Os right membros e bottom conterão a largura e a altura da janela.

Observações

As coordenadas do cliente especificam os cantos superior esquerdo e inferior direito da área do cliente. Como as coordenadas do cliente são relativas aos cantos superiores esquerdos da CWnd área do cliente, as coordenadas do canto superior esquerdo são (0,0).

Example

Veja o exemplo para CWnd::IsIconic.

CWnd::GetClipboardOwner

Recupera o atual proprietário da Prancheta.

static CWnd* PASCAL GetClipboardOwner();

Valor de retorno

Identifica a janela que detém a Área de Transferência se a função for bem-sucedida. Caso contrário, é NULL.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

A Prancheta pode conter dados mesmo que não seja atualmente possuida.

CWnd::GetClipboardViewer

Recupera a primeira janela da cadeia Clipboard-viewer.

static CWnd* PASCAL GetClipboardViewer();

Valor de retorno

Identifica a janela atualmente responsável por exibir a Área de Transferência se for bem-sucedida; caso contrário NULL (por exemplo, se não houver visualizador).

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

CWnd::GetControlUnknown

Chame esta função membro para recuperar um ponteiro para um controlo OLE desconhecido.

LPUNKNOWN GetControlUnknown();

Valor de retorno

Um ponteiro para a IUnknown interface do controlo OLE representado por este CWnd objeto. Se este objeto não representa um controlo OLE, o valor de retorno é NULL.

Observações

Não devias libertar este IUnknown ponteiro. Normalmente, usaria para obter uma interface específica do controlo.

O ponteiro de interface devolvido GetControlUnknown não é contado por referência. Não ligue IUnknown::Release pelo ponteiro a menos que já o tenha contactado anteriormente IUnknown::AddRef .

Example

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.

// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);

// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();

// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);

// use IDispatch method to invoke the control's functionality

CWnd::GetCurrentMessage

Devolve um ponteiro para a mensagem que esta janela está a processar. Só deve ser chamado quando estiver numa função membro do handler demensagens On.

static const MSG* PASCAL GetCurrentMessage();

Valor de retorno

Devolve um ponteiro para a MSG estrutura que contém a mensagem que a janela está a processar. Só deve ser chamada quando estiver num manipulador de mensagens On.

Example

Veja o exemplo para CMDIFrameWnd::MDICascade.

CWnd::GetDC

Recupera um ponteiro para um contexto comum, de classe ou de dispositivo privado para a área do cliente, dependendo do estilo de classe especificado para o CWnd.

CDC* GetDC();

Valor de retorno

Identifica o contexto do dispositivo para a CWnd área do cliente se for bem-sucedido; caso contrário, o valor de retorno é NULL. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

Para contextos comuns de dispositivos, GetDC atribui atributos predefinidos ao contexto cada vez que este é recuperado. Para contextos de classe e privados, GetDC mantém os atributos previamente atribuídos inalterados. O contexto do dispositivo pode ser usado em funções subsequentes de interface gráfica (GDI) para desenhar na área do cliente.

A menos que o contexto do dispositivo pertença a uma classe janela, a ReleaseDC função membro deve ser chamada para libertar o contexto após a pintura.

Um contexto de dispositivo pertencente à CWnd classe é devolvido pela GetDC função membro se CS_CLASSDC, CS_OWNDC, ou CS_PARENTDC foi especificado como um estilo na WNDCLASS estrutura quando a classe foi registada.

CWnd::GetDCEx

Recupera o handle de um contexto de dispositivo para a CWnd janela.

CDC* GetDCEx(
    CRgn* prgnClip,
    DWORD flags);

Parâmetros

prgnClip
Identifica uma região de recorte que pode ser combinada com a região visível da janela do cliente.

flags
Pode ter um dos seguintes valores predefinidos:

  • DCX_CACHE Devolve o contexto do dispositivo a partir da cache em vez da OWNDC janela ou CLASSDC . Substitui CS_OWNDC e CS_CLASSDC.

  • DCX_CLIPCHILDREN Exclui as regiões visíveis de todas as janelas filhas abaixo da CWnd janela.

  • DCX_CLIPSIBLINGS Exclui as regiões visíveis de todas as janelas irmãs acima da CWnd janela.

  • DCX_EXCLUDERGN Exclui a região de clipping identificada por prgnClip da região visível do contexto do dispositivo devolvido.

  • DCX_INTERSECTRGN Intersecta a região de clipping identificada por prgnClip dentro da região visível do contexto do dispositivo devolvido.

  • DCX_LOCKWINDOWUPDATE Permite desenhar mesmo que haja um LockWindowUpdate efeito de chamada que, de outra forma, excluiria essa janela. Este valor é usado para desenhar durante o rastreamento.

  • DCX_PARENTCLIP Usa a região visível da janela pai e ignora os bits da WS_CLIPCHILDREN janela pai e WS_PARENTDC do estilo. Este valor define a origem do contexto do dispositivo para o canto superior esquerdo da CWnd janela.

  • DCX_WINDOW Devolve um contexto de dispositivo que corresponde ao retângulo da janela em vez do retângulo cliente.

Valor de retorno

O contexto do dispositivo para a janela especificada, caso a função seja bem-sucedida; caso contrário NULL.

Observações

O contexto do dispositivo pode ser usado em funções GDI subsequentes para desenhar na área do cliente.

Esta função, que é uma extensão da GetDC função, dá à aplicação mais controlo sobre como e se o contexto de um dispositivo para uma janela é clipado.

A menos que o contexto do dispositivo pertença a uma classe janela, a ReleaseDC função deve ser chamada para libertar o contexto após o desenho. Como apenas cinco contextos comuns de dispositivo estão disponíveis em cada momento, a falha em libertar um contexto de dispositivo pode impedir que outras aplicações acedam ao contexto do dispositivo.

Para obter um contexto de dispositivo em cache, uma aplicação deve especificar DCX_CACHE. Se DCX_CACHE não for especificado e a janela não for nem CS_OWNDC , CS_CLASSDCesta função devolve NULL.

Um contexto de dispositivo com características especiais é devolvido pela GetDCEx função se o CS_CLASSDC, CS_OWNDC, ou CS_PARENTDC estilo foi especificado na WNDCLASS estrutura quando a classe foi registada.

Para mais informações sobre estas características, consulte a descrição da WNDCLASS estrutura no SDK do Windows.

CWnd::GetDCRenderTarget

Recupera o destino de renderização do contexto do dispositivo (DC) para a CWnd janela.

CDCRenderTarget* GetDCRenderTarget();

Valor de retorno

O alvo de renderização contextual do dispositivo para a janela especificada se a função for bem-sucedida; caso contrário NULL.

Observações

CWnd::GetDescendantWindow

Chame esta função membro para encontrar a janela descendente especificada pelo ID indicado.

CWnd* GetDescendantWindow(
    int nID,
    BOOL bOnlyPerm = FALSE) const;

Parâmetros

nID
Especifica o identificador da janela de controlo ou filha a ser recuperada.

bOnlyPerm
Especifica se a janela a devolver pode ser temporária. Se TRUE, apenas uma janela permanente pode ser devolvida; se FALSE, a função pode devolver uma janela temporária. Para mais informações sobre janelas temporárias, consulte a Nota Técnica 3.

Valor de retorno

Um ponteiro para um CWnd objeto, ou NULL se não for encontrada nenhuma janela filha.

Observações

Esta função membro pesquisa toda a árvore de janelas filhas, não apenas as janelas que são filhos imediatos.

CWnd::GetDesktopWindow

Devolve a janela do ambiente de trabalho do Windows.

static CWnd* PASCAL GetDesktopWindow();

Valor de retorno

Identifica a janela do ambiente de trabalho do Windows. Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

A janela do ambiente de trabalho cobre todo o ecrã e é a área em cima da qual todos os ícones e outras janelas estão pintados.

CWnd::GetDlgCtrlID

Devolve o valor de janela ou ID de controlo para qualquer janela filha, não apenas o de um controlo numa caixa de diálogo.

int GetDlgCtrlID() const;

Valor de retorno

O identificador numérico da CWnd janela filha se a função for bem-sucedida; caso contrário, 0.

Observações

Como as janelas de topo não têm um valor ID, o valor de retorno desta função é inválido se for CWnd uma janela de topo de nível.

Example

Veja o exemplo para CWnd::OnCtlColor.

CWnd::GetDlgItem

Recupera um ponteiro para a janela de controlo ou filho especificada numa caixa de diálogo ou noutra janela.

CWnd* GetDlgItem(int nID) const;

void GetDlgItem(
    int nID,
    HWND* phWnd) const;

Parâmetros

nID
Especifica o identificador da janela de controlo ou filha a ser recuperada.

phWnd
Um apontador para uma janela de criança.

Valor de retorno

Um apontador para a janela de controlo ou filha dada. Se não existir controlo com o ID inteiro dado pelo nID parâmetro, o valor é NULL.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

O ponteiro devolvido é geralmente lançado para o tipo de controlo identificado por nID.

Example

// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);

CWnd::GetDlgItemInt

Recupera o texto do controlo identificado por nID.

UINT GetDlgItemInt(
    int nID,
    BOOL* lpTrans = NULL,
    BOOL bSigned = TRUE) const;

Parâmetros

nID
Especifica o identificador inteiro do controlo da caixa de diálogo a ser traduzido.

lpTrans
Aponta para a variável booleana que recebe a bandeira traduzida.

bSigned
Especifica se o valor a recuperar está assinado.

Valor de retorno

Especifica o valor traduzido do texto do item da caixa de diálogo. Como 0 é um valor de retorno válido, lpTrans deve ser usado para detetar erros. Se um valor de retorno assinado for desejado, conjure-o como um int tipo.

A função devolve 0 se o número traduzido for maior que INT_MAX (para números com assinatura) ou UINT_MAX (para não assinado).

Quando ocorrem erros, como encontrar caracteres não numéricos e exceder o máximo acima, GetDlgItemInt copia 0 para a localização apontada por lpTrans. Se não houver erros, lpTrans recebe um valor diferente de zero. Se lpTrans for NULL, GetDlgItemInt não alerta sobre erros.

Observações

Traduz o texto do controlo especificado na caixa de diálogo em valor inteiro, removendo quaisquer espaços extra no início do texto e convertendo dígitos decimais. Para a tradução quando chega ao fim do texto ou encontra qualquer carácter não numérico.

Se bSigned for TRUE, GetDlgItemInt verifica um sinal menos (-) no início do texto e traduz o texto para um número com sinal. Caso contrário, cria um valor sem sinal.

Envia uma WM_GETTEXT mensagem para o controlo.

CWnd::GetDlgItemText

Chame esta função membro para recuperar o título ou texto associado a um controlo numa caixa de diálogo.

int GetDlgItemText(
    int nID,
    LPTSTR lpStr,
    int nMaxCount) const;

int GetDlgItemText(
    int nID,
    CString& rString) const;

Parâmetros

nID
Especifica o identificador inteiro do controlo cujo título deve ser recuperado.

lpStr
Aponta para o buffer para receber o título ou texto do controlo.

nMaxCount
Especifica o comprimento máximo (em caracteres) da cadeia a copiar para lpStr. Se a corda for mais longa que nMaxCount, é truncada.

rString
Uma referência a um CStringarquivo .

Valor de retorno

Especifica o número real de caracteres copiados para o buffer, não incluindo o carácter nulo que termina. O valor é 0 se não for copiado texto.

Observações

A GetDlgItemText função membro copia o texto para a localização apontada por lpStr e devolve uma contagem do número de bytes que copia.

CWnd::GetDSCCursor

Chame esta função membro para recuperar um ponteiro para o cursor subjacente definido pelas DataSourcepropriedades , UserName, Password, e SQL do controlo de código-fonte de dados.

IUnknown* GetDSCCursor();

Valor de retorno

Um apontador para um cursor definido por um controlo de fonte de dados. A MFC trata de chamar AddRef o apontador.

Observações

Use o ponteiro retornado para definir a ICursor propriedade de um controlo limitado por dados complexo, como o controlo de grelha limitado por dados. Um controlo de fonte de dados não se tornará ativo até que o primeiro controlo vinculado solicite o seu cursor. Isto pode acontecer explicitamente por uma chamada ou GetDSCCursor implicitamente pelo gestor de ligação MFC. Em qualquer dos casos, pode forçar um controlo de fonte de dados a ativar-se chamando GetDSCCursor e depois ligando Release ao ponteiro retornado para IUnknown. A ativação fará com que o controlo de fonte de dados tente ligar-se à fonte de dados subjacente. O ponteiro devolvido pode ser usado no seguinte contexto:

Example

BOOL CMyDlg::OnInitDialog()
{
   // Find the child controls on the dialog
   HRESULT hr = E_FAIL;
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
   IUnknown *punkList = pListWnd->GetControlUnknown();
   IDBList *pList = NULL;

   if (NULL != punkList)
   {
      hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
   }

   if (SUCCEEDED(hr))
   {
      // Tell the MFC binding manager that we are
      // binding DISPID 3 to the data-source control.
      pListWnd->BindProperty(0x3, pDSC);

      // Tell the listbox which field to expose as its bound column
      pList->put_BoundColumn(_T("ContactFirstName"));

      // Tell the listbox which cursor and column to populate its list from
      pList->put_ListField(_T("ContactFirstName"));

      IUnknown *punkCursor = pDSC->GetDSCCursor();
      if (NULL != punkCursor)
      {
         punkCursor->Release();
      }

      pList->Release();
      return TRUE;
   }

CWnd::GetDynamicLayout

Recupera um ponteiro para o objeto gestor de layout dinâmico.

CMFCDynamicLayout* GetDynamicLayout();

Valor de retorno

Um apontador para o objeto gestor de layout dinâmico, ou NULL se o layout dinâmico não estiver ativado.

Observações

O objeto janela detém e gere a vida útil do ponteiro devolvido, pelo que deve ser usado apenas para aceder ao objeto; Não apague o ponteiro nem armazene o ponteiro permanentemente.

CWnd::GetExStyle

Devolve o estilo estendido da janela.

DWORD GetExStyle() const;

Valor de retorno

O estilo estendido da janela. Para mais informações sobre os estilos de janelas estendidas usados no MFC, consulte Estilos de Janelas Estendidas.

CWnd::GetFocus

Recupera um ponteiro para o CWnd que atualmente tem o foco de entrada.

static CWnd* PASCAL GetFocus();

Valor de retorno

Um apontador para a janela que tem o foco atual, ou NULL se não houver janela de foco.

O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

CWnd::GetFont

Envia a WM_GETFONT mensagem para a janela para recuperar a fonte atual.

CFont* GetFont() const;

Valor de retorno

Apontar para um CFont objeto que está associado à fonte atual da janela.

Observações

Este método não tem efeito a menos que a janela processe a WM_GETFONT mensagem. Muitas classes MFC que derivam de CWnd processam esta mensagem porque estão associadas a uma classe janela predefinida que inclui um manipulador de mensagens para a WM_GETFONT mensagem. Para usar este método, as classes de CWnd onde se deriva devem definir um handler de método para a WM_GETFONT mensagem.

CWnd::GetForegroundWindow

Devolve um ponteiro para a janela em primeiro plano (a janela com a qual o utilizador está a trabalhar no momento).

static CWnd* PASCAL GetForegroundWindow();

Valor de retorno

Um apontador para a janela em primeiro plano. Isto pode ser um objeto temporário CWnd .

Observações

A janela em primeiro plano aplica-se apenas às janelas de nível superior (janelas de molduras ou caixas de diálogo).

CWnd::GetIcon

Chame esta função membro para levar a pega a um ícone grande (32x32) ou a alça a um ícone pequeno (16x16), como indicado por bBigIcon.

HICON GetIcon(BOOL bBigIcon) const;

Parâmetros

bBigIcon
Especifica um ícone de 32 píxeis por 32 píxeis se TRUE; especifica um ícone de 16 píxeis por 16 píxeis se FALSE.

Valor de retorno

Um identificador para um ícone. Se não for bem-sucedido, retorna NULL.

CWnd::GetLastActivePopup

Determina qual janela pop-up pertencente CWnd esteve mais recentemente ativa.

CWnd* GetLastActivePopup() const;

Valor de retorno

Identifica a janela pop-up mais recente e ativa. O valor de retorno será a própria janela se alguma das seguintes condições for cumprida:

  • A janela em si esteve mais recentemente ativa.

  • A janela não possui nenhuma janela pop-up.

  • A janela não é de nível superior nem pertence a outra janela.

O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Example

Veja o exemplo para CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

Recupera a tecla de cor opacidade e transparência de uma janela em camadas.

BOOL GetLayeredWindowAttributes(
    COLORREF* pcrKey,
    BYTE* pbAlpha,
    DWORD* pdwFlags) const;

Parâmetros

pcrKey
Apontador para um COLORREF valor que recebe a chave de cor de transparência a ser usada ao compor a janela em camadas. Todos os píxeis pintados pela janela nesta cor serão transparentes. Isto pode acontecer NULL se o argumento não for necessário.

pbAlpha
Apontador para um BYTE que recebe o valor Alpha usado para descrever a opacidade da janela em camadas. Quando a variável referida por pbAlpha é 0, a janela é completamente transparente. Quando a variável referida por pbAlpha é 255, a janela é opaca. Isto pode acontecer NULL se o argumento não for necessário.

pdwFlags
Apontador para um DWORD que recebe uma flag de camadas. Isto pode acontecer NULL se o argumento não for necessário. Para uma lista completa dos valores possíveis, veja 'GetLayeredWindowAttributes.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função GetLayeredWindowAttributes, conforme descrito no SDK do Windows.

CWnd::GetMenu

Recupera um ponteiro para o menu desta janela.

CMenu* GetMenu() const;

Valor de retorno

Identifica o menu. O valor é NULL se CWnd não tiver menu. O valor de retorno é indefinido se CWnd for uma janela filha.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

Esta função não deve ser usada para janelas crianças porque não têm menu.

Example

void CMainFrame::OnCwndDeletefilemenu()
{
   // This example deletes the leftmost popup menu or leftmost
   // popup menu item from the application's main window.
   CWnd *pMain = AfxGetMainWnd();

   // The main window _can_ be NULL, so this code
   // doesn't ASSERT and actually tests.
   if (pMain != NULL)
   {
      // Get the main window's menu
      CMenu *pMenu = pMain->GetMenu();

      // If there is a menu and it has items, we'll
      // delete the first one.
      if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
      {
         pMenu->DeleteMenu(0, MF_BYPOSITION);
         // force a redraw of the menu bar
         pMain->DrawMenuBar();
      }

      // No need to delete pMenu because it is an MFC
      // temporary object.
   }
}

CWnd::GetMenuBarInfo

Recupera informações sobre a barra de menus especificada.

BOOL GetMenuBarInfo(
    LONG idObject,
    LONG idItem,
    PMENUBARINFO pmbi) const;

Parâmetros

idObject
Especifica o objeto do menu. Para uma lista de valores possíveis, veja GetMenuBarInfo.

idItem
Especifica o item para o qual obter informação. Se este parâmetro for zero, a função recupera informação sobre o próprio menu. Se este parâmetro for 1, a função recupera informação sobre o primeiro item no menu, e assim sucessivamente.

pmbi
Apontador para uma MENUBARINFO estrutura que recebe a informação.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função GetMenuBarInfo, conforme descrito no SDK do Windows.

CWnd::GetNextDlgGroupItem

Procura o controlo anterior ou próximo dentro de um grupo de controlos numa caixa de diálogo.

CWnd* GetNextDlgGroupItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgGroupItem(
    COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;

Parâmetros

pWndCtl
Identifica o controlo a ser usado como ponto de partida para a pesquisa.

bPrevious
Especifica como a função deve pesquisar o grupo de controlos na caixa de diálogo. Se TRUE, a função procura o controlo anterior no grupo; se FALSE, procura o controlo seguinte no grupo.

pCurSiteOrWnd
Identifica o COleControlSiteOrWnd controlo. Para mais informações sobre COleControlSiteOrWnd, veja Observações.

Valor de retorno

Apontar para o controlo anterior ou seguinte no grupo se a função membro for bem-sucedida.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

Um grupo de controlos começa com um controlo criado com o WS_GROUP estilo e termina com o último controlo que não foi criado com esse WS_GROUP estilo.

Por defeito, a GetNextDlgGroupItem função membro devolve um ponteiro para o controlo seguinte no grupo. Se pWndCtl identifica o primeiro controlo do grupo e bPrevious é TRUE, GetNextDlgGroupItem devolve um ponteiro para o último controlo do grupo.

Observação

Como o MFC suporta controlos ActiveX sem janelas, os controlos ActiveX padrão e janelas, referir-se a um controlo apenas por um HWND já não é suficiente. O COleControlSiteOrWnd objeto inclui informação que identifica o objeto como um controlo ActiveX em janela, um controlo ActiveX sem janelas ou uma janela, da seguinte forma:

Controlo ou tipo de janela Informação identificativa
Controlo ActiveX em Janela Contém um HWND e associa um objeto COleControlSite a ele. O elemento de COleControlSiteOrWnd está definido para o HWND do controlo, e o m_pSite elemento aponta para o do COleControlSitecontrolo .m_hWnd
Controlo ActiveX sem janelas Não contém HWND. O elemento de COleControlSiteOrWnd aponta para os controlos COleControlSite, e o m_hWnd elemento é NULL.m_pSite
Janela padrão Contém apenas um HWND. O m_hWnd elemento de COleControlSiteOrWnd é definido para o HWND da janela, e o m_pSite membro é NULL.

CWnd::GetNextDlgTabItem

Recupera um ponteiro para o primeiro controlo criado com o WS_TABSTOP estilo e que precede ou segue o controlo especificado.

CWnd* GetNextDlgTabItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgTabItem(
    COleControlSiteOrWnd* pCurSiteOrWnd,
    BOOL bPrevious) const;

Parâmetros

pWndCtl
Identifica o controlo a ser usado como ponto de partida para a pesquisa.

pCurSiteOrWnd
Identifica o COleControlSiteOrWnd controlo. Para obter mais informações sobre COleControlSiteOrWndo , consulte CWnd::GetNextDlgGroupItem.

bPrevious
Especifica como a função deve pesquisar na caixa de diálogo. Se TRUE, a função procura o controlo anterior na caixa de diálogo; se FALSE, procura o controlo seguinte.

Valor de retorno

Apontar para o controlo anterior ou seguinte que tenha o WS_TABSTOP estilo, se a função membro for bem-sucedida.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Para obter mais informações sobre COleControlSiteOrWndo , consulte CWnd::GetNextDlgGroupItem.

CWnd::GetNextWindow

Procura a próxima (ou anterior) janela na lista do gestor de janelas.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Parâmetros

nFlag
Especifica se a função devolve um ponteiro para a janela seguinte ou para a janela anterior. Pode ser GW_HWNDNEXT, que devolve a janela que segue o CWnd objeto na lista do gestor de janelas, ou GW_HWNDPREV, que devolve a janela anterior na lista do gestor de janelas.

Valor de retorno

Identifica a janela seguinte (ou a anterior) na lista do gestor de janelas se a função membro for bem-sucedida.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

A lista do gestor de janelas contém entradas para todas as janelas de nível superior, as janelas filhas associadas e as janelas filhas de qualquer janela filha.

Se CWnd for uma janela de nível superior, a função procura a próxima (ou anterior) janela de nível superior; se CWnd for uma janela filha, a função procura a janela filha seguinte (ou anterior).

CWnd::GetOleControlSite

Recupera o site personalizado para o controlo ActiveX especificado.

COleControlSite* GetOleControlSite(UINT idControl) const;

Parâmetros

idControl
O ID do controlo ActiveX.

CWnd::GetOpenClipboardWindow

Recupera a maçaneta da janela que atualmente tem a prancheta aberta.

static CWnd* PASCAL GetOpenClipboardWindow();

Valor de retorno

O puxador da janela que atualmente tem a Prancheta aberta se a função for bem-sucedida; caso contrário NULL.

CWnd::GetOwner

Recupera um ponteiro para o dono da janela.

CWnd* GetOwner() const;

Valor de retorno

Um ponteiro para um CWnd objeto.

Observações

Se a janela não tiver proprietário, então um ponteiro para o objeto janela pai é devolvido por defeito. Note-se que a relação entre o proprietário e o proprietário difere do aspeto entre pais e filhos em vários aspetos importantes. Por exemplo, uma janela com um pai está confinada à área do cliente da sua janela mãe. Janelas próprias podem ser desenhadas em qualquer local do ambiente de trabalho.

O conceito de propriedade desta função é diferente do conceito de propriedade de GetWindow.

CWnd::GetParent

Chame esta função para obter um ponteiro para a janela pai de uma janela filho (se existir).

CWnd* GetParent() const;

Valor de retorno

Veja a secção Valores de Retorno no GetParent SDK do Windows.

Observações

A GetParent função devolve um ponteiro para o pai imediato (se existir). Em contraste, a GetParentOwner função devolve um ponteiro para a janela parental ou proprietária mais imediata que não é uma janela filho (não tem o WS_CHILD estilo). Se tiver uma janela de filho dentro de outra janela GetParent de criança e GetParentOwner devolverem resultados diferentes.

CWnd::GetParentFrame

Chame esta função membro para recuperar a janela do frame pai.

CFrameWnd* GetParentFrame() const;

Valor de retorno

Um apontador para uma janela de frame, se bem-sucedido; caso contrário NULL.

Observações

A função membro pesquisa a cadeia de progenitores até ser encontrado um CFrameWnd objeto (ou de classe derivada).

CWnd::GetParentOwner

Chama esta função membro para obter um ponteiro para a janela pai ou janela proprietária de uma janela filha.

CWnd* GetParentOwner() const;

Valor de retorno

Um ponteiro para um CWnd objeto. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

GetParentOwner Devolve um ponteiro para a janela parental ou proprietária mais imediata que não é uma janela filho (não tem o WS_CHILD estilo). A janela atual do proprietário pode ser definida com SetOwner. Por defeito, o pai de uma janela é o seu proprietário.

Em contraste, a GetParent função devolve um ponteiro para o pai imediato, seja ou não uma janela filha. Se tiver uma janela de filho dentro de outra janela GetParent de criança e GetParentOwner devolverem resultados diferentes.

CWnd::GetProperty

Chame esta função membro para obter a propriedade de controlo ActiveX especificada por dwDispID.

void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp)const;

Parâmetros

dwDispID
Identifica a propriedade a recuperar.

vtProp
Especifica o tipo da propriedade a ser recuperada. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.

pvProp
Endereço da variável que irá receber o valor da propriedade. Deve corresponder ao tipo especificado por vtProp.

Observações

GetProperty devolve o valor através de pvProp.

Observação

Esta função deve ser chamada apenas num CWnd objeto que represente um controlo ActiveX.

Para mais informações sobre a utilização desta função membro com Contentores de Controlo ActiveX, consulte o artigo Contentores de Controlo ActiveX: Programação de Controlos ActiveX num Contentor de Controlo ActiveX.

CWnd::GetRenderTarget

Obtém um render target associado a essa janela.

CHwndRenderTarget* GetRenderTarget();

Valor de retorno

Apontador para o alvo de renderização ou NULL.

CWnd::GetSafeHwnd

Retorna m_hWnd, ou NULL se o this ponteiro for NULL.

HWND GetSafeHwnd() const;

Valor de retorno

Devolve a maçaneta da janela por uma janela. Retorna NULL se não CWnd estiver ligado a uma janela ou se for usado com um NULLCWnd apontador.

Example

Veja o exemplo para CWnd::SubclassWindow.

CWnd::GetSafeOwner

Chame esta função membro para recuperar a janela proprietária que deve ser usada para caixas de diálogo ou outras janelas modais.

static CWnd* GetSafeOwner(
    CWnd* pParent = NULL,
    HWND* pWndTop = NULL);

Parâmetros

pParent
Um indicador para uma janela dos pais CWnd . Pode ser NULL.

pWndTop
Um apontador para a janela que está atualmente no topo. Pode ser NULL.

Valor de retorno

Um indicador para o dono do cofre para a janela em questão.

Observações

O proprietário do cofre é o primeiro progenitor que não é filho de pParent. Se pParent for NULL, a janela principal do tópico (recuperada via AfxGetMainWnd) é usada para encontrar um proprietário.

Observação

O próprio framework usa esta função para determinar a janela correta do proprietário para as caixas de diálogo e folhas de propriedade onde o proprietário não está especificado.

CWnd::GetScrollBarCtrl

Chame esta função membro para obter um apontador para a barra de scroll irmã ou janela divisora especificada.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Parâmetros

nBar
Especifica o tipo de barra de deslocamento. O parâmetro pode assumir um dos seguintes valores:

  • SB_HORZ Recupera a posição da barra de deslocamento horizontal.

  • SB_VERT Recupera a posição da barra de scroll vertical.

Valor de retorno

Um controlo de barra de scroll irmão, ou NULL se não houver.

Observações

Esta função membro não opera em barras de scroll criadas quando os WS_HSCROLL bits ou WS_VSCROLL são definidos durante a criação de uma janela. A CWnd implementação desta função simplesmente devolve NULL. Classes derivadas, como CView, implementam a funcionalidade descrita.

CWnd::GetScrollBarInfo

Recupera informações sobre a barra de scroll especificada.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Parâmetros

idObject
Especifica o objeto do menu. Para uma lista de valores possíveis, veja GetScrollBarInfo.

psbi
Apontador para uma SCROLLBARINFO estrutura que recebe a informação.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função GetScrollBarInfo, conforme descrito no SDK do Windows.

CWnd::GetScrollInfo

Chame esta função membro para recuperar a informação que a SCROLLINFO estrutura mantém sobre uma barra de deslocamento.

BOOL GetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    UINT nMask = SIF_ALL);

Parâmetros

nBar
Especifica se a barra de deslocamento é um controlo ou parte da área não cliente de uma janela. Se fizer parte da área não cliente, nBar indica também se a barra de deslocamento está posicionada horizontalmente, verticalmente ou ambas. Deve ser um dos seguintes:

  • SB_CTL Recupera os parâmetros para um controlo de barra de deslocamento. O m_hWnd elemento de dados deve ser o alavanca do controlo da barra de deslocamento.

  • SB_HORZ Recupera os parâmetros para a barra horizontal padrão da janela.

  • SB_VERT Recupera os parâmetros para a barra de scroll vertical padrão da janela.

lpScrollInfo
Um ponteiro para uma SCROLLINFO estrutura. Consulte o Windows SDK para mais informações sobre esta estrutura.

nMask
Especifica os parâmetros da barra de deslocamento a recuperar. O padrão especifica uma combinação de SIF_PAGE, SIF_POS, SIF_TRACKPOS, e SIF_RANGE. Consulte SCROLLINFO para mais informações sobre os nMask valores.

Valor de retorno

Se a mensagem recuperou algum valor, o retorno é TRUE. Caso contrário, é FALSE.

Observações

GetScrollInfo permite que as aplicações utilizem posições de scroll de 32 bits.

A SCROLLINFO estrutura contém informações sobre uma barra de deslocamento, incluindo as posições mínima e máxima, o tamanho da página e a posição da caixa de deslocamento (o polegar). Consulte o SCROLLINFO tópico de estrutura no SDK do Windows para mais informações sobre como alterar os padrões de estrutura.

Os manipuladores de mensagens MFC do Windows que indicam a posição da barra de deslocamento, CWnd::OnHScroll e CWnd::OnVScroll, fornecem apenas 16 bits de dados de posição. GetScrollInfo e SetScrollInfo fornecem 32 bits de dados de posição da barra de deslocamento. Assim, uma aplicação pode chamar GetScrollInfo enquanto processa ou CWnd::OnVScrollCWnd::OnHScroll para obter dados de posição em barra de scroll de 32 bits.

CWnd::GetScrollLimit

Chame esta função membro para recuperar a posição máxima de scroll da barra de scroll.

int GetScrollLimit(int nBar);

Parâmetros

nBar
Especifica o tipo de barra de deslocamento. O parâmetro pode assumir um dos seguintes valores:

  • SB_HORZ Recupera o limite de scroll da barra de scroll horizontal.

  • SB_VERT Recupera o limite de scroll da barra vertical.

Valor de retorno

Especifica a posição máxima de uma barra de deslocamento se for bem-sucedido; caso contrário, 0.

CWnd::GetScrollPos

Recupera a posição atual da caixa de deslocamento de uma barra de deslocamento.

int GetScrollPos(int nBar) const;

Parâmetros

nBar
Especifica a barra de deslocamento a examinar. O parâmetro pode assumir um dos seguintes valores:

  • SB_HORZ Recupera a posição da barra de deslocamento horizontal.

  • SB_VERT Recupera a posição da barra de scroll vertical.

Valor de retorno

Especifica a posição atual da caixa de deslocamento na barra de deslocamento se for bem-sucedido; caso contrário, 0.

Observações

A posição atual é um valor relativo que depende do intervalo de scrolling atual. Por exemplo, se o intervalo de scroll for de 50 a 100 e a caixa de scroll estiver no meio da barra, a posição atual é 75.

CWnd::GetScrollRange

Copia as posições mínimas e máximas atuais da barra de rolagem para a barra de rolagem dada para as localizações especificadas por lpMinPos e lpMaxPos.

void GetScrollRange(
    int nBar,
    LPINT lpMinPos,
    LPINT lpMaxPos) const;

Parâmetros

nBar
Especifica a barra de deslocamento a examinar. O parâmetro pode assumir um dos seguintes valores:

  • SB_HORZ Recupera a posição da barra de deslocamento horizontal.

  • SB_VERT Recupera a posição da barra de scroll vertical.

lpMinPos
Aponta para a variável inteira que deve receber a posição mínima.

lpMaxPos
Aponta para a variável inteira que recebe a posição máxima.

Observações

Se CWnd não tiver barra de deslocamento, então a GetScrollRange função membro copia 0 para lpMinPos e lpMaxPos.

O intervalo padrão para uma barra de scroll padrão é de 0 a 100. O intervalo padrão para um controlo de barra de deslocamento é vazio (ambos os valores são 0).

CWnd::GetStyle

Devolve o estilo de janela atual.

DWORD GetStyle() const;

Valor de retorno

O estilo da janela. Para mais informações sobre os estilos de janelas usados no MFC, veja Estilos de Janelas.

CWnd::GetSystemMenu

Permite à aplicação aceder ao menu de Controlo para copiar e modificar.

CMenu* GetSystemMenu(BOOL bRevert) const;

Parâmetros

bRevert
Especifica a ação a tomar. Se bRevert for FALSE, GetSystemMenu devolve um handle a uma cópia do menu Control atualmente em uso. Esta cópia é inicialmente idêntica ao menu Control, mas pode ser modificada. Se bRevert for TRUE, GetSystemMenu reinicia o menu de Controlo de volta ao estado predefinido. O menu de Controlo anterior, possivelmente modificado, se é que existe, é destruído. O valor de retorno é indefinido neste caso.

Valor de retorno

Identifica uma cópia do menu de Controlo se bRevert for FALSE. Se bRevert for TRUE, o valor de retorno é indefinido.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

Qualquer janela que não use GetSystemMenu para criar a sua própria cópia do menu Control recebe o menu Control padrão.

O ponteiro devolvido pela GetSystemMenu função membro pode ser usado com as CMenu::AppendMenufunções , CMenu::InsertMenu, ou CMenu::ModifyMenu para alterar o menu Control.

O menu de Controlo contém inicialmente elementos identificados com vários valores de ID, como SC_CLOSE, SC_MOVE, e SC_SIZE. Os itens no menu de Controlo geram WM_SYSCOMMAND mensagens. Todos os itens pré-definidos do menu Control têm números de ID superiores a 0xF000. Se uma aplicação adicionar itens ao menu Controlo, deverá usar números de ID inferiores a F000.

As janelas podem automaticamente tornar os itens indisponíveis no menu de Controlo padrão. CWnd pode realizar a sua própria seleção ou indisponibilidade respondendo às WM_INITMENU mensagens, que são enviadas antes de qualquer menu ser exibido.

Example

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
   CString strAboutMenu;
   strAboutMenu.LoadString(IDS_ABOUT);
   if (!strAboutMenu.IsEmpty())
   {
      pSysMenu->AppendMenu(MF_SEPARATOR);
      pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
   }
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);  // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

CWnd::GetTitleBarInfo

Recupera informações sobre a barra de título especificada.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

Parâmetros

pti
Apontador para uma TITLEBARINFO estrutura que recebe a informação.

Observações

Esta função de membro emula a funcionalidade da função GetTitleBarInfo, conforme descrito no SDK do Windows.

CWnd::GetTopLevelFrame

Chame esta função membro para recuperar a janela de frames de nível superior da janela, se existir.

CFrameWnd* GetTopLevelFrame() const;

Valor de retorno

Identifica a janela de moldura de nível superior da janela.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

Se não tiver janela anexada, ou se CWnd o seu pai de topo não for um CFrameWndobjeto derivado em , esta função devolve NULL.

CWnd::GetTopLevelOwner

Chame esta função membro para recuperar a janela de nível superior.

CWnd* GetTopLevelOwner() const;

Valor de retorno

Identifica a janela de nível superior. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

A janela de nível superior é a janela que é filha do ambiente de trabalho. Se CWnd não tiver janela anexada, esta função devolve NULL.

CWnd::GetTopLevelParent

Chame esta função membro para recuperar o pai de topo da janela.

CWnd* GetTopLevelParent() const;

Valor de retorno

Identifica a janela principal de nível superior da janela.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

GetTopLevelParent é semelhante a GetTopLevelFrame e GetTopLevelOwner; no entanto, ignora o conjunto de valores como janela atual do proprietário.

CWnd::GetTopWindow

Procura a janela filha de nível superior que pertence a CWnd.

CWnd* GetTopWindow() const;

Valor de retorno

Identifica a janela filha de nível superior numa CWnd lista ligada de janelas filhas. Se não existirem janelas filhas, o valor é NULL.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

Se CWnd não tiver filhos, esta função devolve NULL.

CWnd::GetUpdateRect

Recupera as coordenadas do retângulo mais pequeno que envolve completamente a região de atualização.

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

Parâmetros

lpRect
Aponta para um CRect objeto ou RECT estrutura que irá receber as coordenadas do cliente da atualização que envolve a região de atualização.

Defina este parâmetro para NULL determinar se existe uma região de atualização dentro do CWnd. Se lpRect for NULL, a GetUpdateRect função membro devolve não nula se existir uma região de atualização e 0 se não existir. Isto permite determinar se uma WM_PAINT mensagem resultou de uma área inválida. Não defina este parâmetro para NULL na versão 3.0 do Windows e anteriores.

bErase
Especifica se o fundo na região de atualização deve ser apagado.

Valor de retorno

Especifica o estado da região de atualização. O valor é diferente de zero se a região de atualização não estiver vazia; caso contrário, 0.

Se o lpRect parâmetro for definido para NULL, o valor de retorno é diferente de zero se existir uma região de atualização; caso contrário, 0.

Observações

Se CWnd foi criado com o CS_OWNDC estilo e o modo de mapeamento não MM_TEXTé , a GetUpdateRect função membro dá o retângulo em coordenadas lógicas. Caso contrário, GetUpdateRect dá o retângulo em coordenadas do cliente. Se não houver região de atualização, GetUpdateRect define o retângulo como vazio (define todas as coordenadas para 0).

O bErase parâmetro especifica se GetUpdateRect deve apagar o fundo da região de atualização. Se bErase for TRUE e a região de atualização não estiverem vazias, o fundo é apagado. Para apagar o fundo, GetUpdateRect envia a WM_ERASEBKGND mensagem.

O retângulo de atualização recuperado pela BeginPaint função membro é idêntico ao recuperado pela GetUpdateRect função membro.

A BeginPaint função membro valida automaticamente a região de atualização, por isso qualquer chamada GetUpdateRect feita imediatamente após uma chamada BeginPaint recupera uma região de atualização vazia.

CWnd::GetUpdateRgn

Recupera a região de atualização numa região identificada por pRgn.

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

Parâmetros

pRgn
Identifica a região de atualização.

bErase
Especifica se o fundo será apagado e se as áreas não clientes das janelas filhas serão desenhadas. Se o valor for FALSE, não se faz nenhum desenho.

Valor de retorno

Especifica uma bandeira de inteiro curto que indica o tipo de região resultante. O valor pode assumir qualquer um dos seguintes:

  • SIMPLEREGION A região não tem fronteiras sobrepostas.

  • COMPLEXREGION A região tem fronteiras sobrepostas.

  • NULLREGION A região está vazia.

  • ERROR Nenhuma região foi criada.

Observações

As coordenadas desta região são relativas ao canto superior esquerdo (coordenadas do cliente).

A BeginPaint função membro valida automaticamente a região de atualização, por isso qualquer chamada GetUpdateRgn feita imediatamente após uma chamada BeginPaint recupera uma região de atualização vazia.

CWnd::GetWindow

Devolve um ponteiro para a janela solicitada, ou NULL se não houver.

CWnd* GetWindow(UINT nCmd) const;

Parâmetros

nCmd
Especifica a relação entre CWnd e a janela devolvida. Pode assumir um dos seguintes valores:

  • GW_CHILD Identifica a CWnd primeira janela filha.

  • GW_HWNDFIRST Se CWnd for uma janela de criança, devolve a primeira janela de irmãos. Caso contrário, devolve a primeira janela de topo na lista.

  • GW_HWNDLAST Se CWnd for uma janela de filho, devolve a última janela de irmãos. Caso contrário, devolve a última janela de topo na lista.

  • GW_HWNDNEXT Devolve a próxima janela na lista do gestor de janelas.

  • GW_HWNDPREV Devolve a janela anterior na lista do gestor de janelas.

  • GW_OWNER Identifica o CWnd proprietário.

Valor de retorno

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

CWnd::GetWindowContextHelpId

Chame esta função membro para recuperar o identificador de contexto de ajuda, se existir, associado à janela.

DWORD GetWindowContextHelpId() const;

Valor de retorno

O identificador de contexto da ajuda. Devolve 0 se a janela não tiver nenhuma.

CWnd::GetWindowedChildCount

Chame esta função membro para recuperar o número de janelas filhas associadas.

long GetWindowedChildCount();

Valor de retorno

O número de janelas filhas associadas ao CWnd objeto.

CWnd::GetWindowDC

Recupera o contexto de exibição de toda a janela, incluindo a barra de legendas, menus e barras de scroll.

CDC* GetWindowDC();

Valor de retorno

Identifica o contexto de exibição para a janela dada se a função for bem-sucedida; caso contrário NULL.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior. ReleaseDC deve ser chamada uma vez por cada chamada bem-sucedida para GetWindowDC.

Observações

Um contexto de exibição de janela permite pintar em qualquer lugar em CWnd, uma vez que a origem do contexto é o canto superior esquerdo de CWnd em vez da área do cliente.

Atributos padrão são atribuídos ao contexto de visualização cada vez que este recupera o contexto. Atributos anteriores são perdidos.

GetWindowDC destina-se a ser usado para efeitos especiais de pintura dentro da CWnd área não cliente. Não é recomendado pintar em áreas não relacionadas com o cliente de qualquer janela.

A GetSystemMetrics função Windows pode ser usada para recuperar as dimensões de várias partes da área não cliente, como a barra de legendas, menus e barras de scroll.

Depois de concluída a pintura, deve ser chamada a ReleaseDC função membro para libertar o contexto de visualização. A falha em libertar o contexto do ecrã afetará seriamente a pintura solicitada pelas aplicações devido às limitações no número de contextos de dispositivos que podem ser abertos ao mesmo tempo.

CWnd::GetWindowInfo

Recupera informações sobre a janela.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

Parâmetros

pwi
Um ponteiro para uma WINDOWINFO estrutura.

Observações

Esta função de membro emula a funcionalidade da função GetWindowInfo, conforme descrito no SDK do Windows.

CWnd::GetWindowlessChildCount

Recupera o número de janelas filhas sem janelas associadas.

long GetWindowlessChildCount();

Valor de retorno

O número de janelas filhas sem janelas associadas ao CWnd objeto.

CWnd::GetWindowPlacement

Recupera o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas de uma janela.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

Parâmetros

lpwndpl
Aponta para a WINDOWPLACEMENT estrutura que recebe a informação de estado e posição do espetáculo.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

Observações

O flags elemento da WINDOWPLACEMENT estrutura recuperado por esta função é sempre 0. Se CWnd for maximizado, o showCmd elemento de WINDOWPLACEMENT é SW_SHOWMAXIMIZED. Se a janela for minimizada, é SW_SHOWMINIMIZED. Caso SW_SHOWNORMAL contrário.

CWnd::GetWindowRect

Copia as dimensões do retângulo delimitador do CWnd objeto para a estrutura apontada por lpRect.

void GetWindowRect(LPRECT lpRect) const;

Parâmetros

lpRect
Aponta para um CRect objeto ou umaRECT estrutura que receberá as coordenadas do ecrã dos cantos superior esquerdo e inferior direito.

Observações

As dimensões são dadas em coordenadas do ecrã relativas ao canto superior esquerdo do ecrã. As dimensões da legenda, da borda e das barras de scroll, se presentes, estão incluídas.

CWnd::GetWindowRgn

Chame esta função membro para obter a região da janela de uma janela.

int GetWindowRgn(HRGN hRgn)const;

Parâmetros

hRgn
Uma pega para uma região de janela.

Valor de retorno

O valor de retorno especifica o tipo da região que a função obtém. Pode ser um dos seguintes valores:

  • NULLREGION A região está vazia.

  • SIMPLEREGION A região é um único retângulo.

  • COMPLEXREGION A região é composta por mais do que um retângulo.

  • ERROR Ocorreu um erro; a região não é afetada.

Observações

A região da janela determina a área dentro da janela onde o sistema operativo permite desenhar. O sistema operativo não exibe nenhuma parte de uma janela que esteja fora da região da janela.

As coordenadas da região da janela são relativas ao canto superior esquerdo da janela, não à área cliente da janela.

Para definir a região da janela de uma janela, chame CWnd::SetWindowRgn.

CWnd::GetWindowText

Copia o CWnd título da legenda (se houver) para o buffer apontado por lpszStringBuf ou para a cadeia rStringde destino .

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Parâmetros

lpszStringBuf
Aponta para o buffer que irá receber a cadeia copiada do título da janela.

nMaxCount
Especifica o número máximo de caracteres a serem copiados para o buffer, incluindo o carácter nulo que termina. Se a cadeia for maior do que o número de caracteres especificados em nMaxCount, é truncada.

rString
Um CString objeto que deve receber a cadeia copiada do título da janela.

Valor de retorno

Especifica o comprimento, em caracteres, da cadeia copiada, não incluindo o carácter nulo de terminação. É 0 se CWnd não tiver legenda ou se a legenda estiver vazia.

Observações

Se o CWnd objeto for um controlo, a GetWindowText função membro copia o texto dentro do controlo em vez de copiar a legenda.

Esta função membro faz com que a WM_GETTEXT mensagem seja enviada para o CWnd objeto.

Example

Veja o exemplo para CWnd::SetWindowText.

CWnd::GetWindowTextLength

Devolve o comprimento do título da CWnd legenda do objeto.

int GetWindowTextLength() const;

Valor de retorno

Especifica o comprimento do texto em caracteres, não incluindo qualquer carácter de terminação nula. O valor é 0 se tal texto não existir.

Observações

Se CWnd for um controlo, a GetWindowTextLength função membro devolve o comprimento do texto dentro do controlo em vez da legenda.

Esta função membro faz com que a WM_GETTEXTLENGTH mensagem seja enviada para o CWnd objeto.

Example

Veja o exemplo para CWnd::SetWindowText.

CWnd::HideCaret

Esconde o caret removendo-o do ecrã.

void HideCaret();

Observações

Embora o caret já não seja visível, pode ser novamente exibido usando a ShowCaret função elemento. Esconder o caret não destrói a sua forma atual.

Esconder-se é cumulativo. Se HideCaret foi chamada cinco vezes seguidas, a ShowCaret função membro deve ser chamada cinco vezes antes de o caret ser mostrado.

CWnd::HiliteMenuItem

Destaca ou remove o destaque de um item do menu de nível superior (barra de menu).

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Parâmetros

pMenu
Identifica o menu de topo que contém o item a destacar.

nIDHiliteItem
Especifica o item do menu a destacar, dependendo do valor do nHilite parâmetro.

nHilite
Especifica se o item do menu é destacado ou se o destaque é removido. Pode ser uma combinação de MF_HILITE ou MF_UNHILITE com MF_BYCOMMAND ou MF_BYPOSITION. Os valores podem ser combinados usando o operador bit a OR bit. Estes valores têm os seguintes significados:

  • MF_BYCOMMAND Interpreta nIDHiliteItem como o ID do item do menu (a interpretação padrão).

  • MF_BYPOSITION Interpreta nIDHiliteItem como o deslocamento zero do item do menu.

  • MF_HILITE Destaca o item. Se este valor não for indicado, o destaque é removido do item.

  • MF_UNHILITE Remove o destaque do item.

Valor de retorno

Especifica se o item do menu foi destacado. Diferente de zero se o item estivesse destacado; caso contrário, 0.

Observações

Os MF_HILITE flags e MF_UNHILITE só podem ser usados com esta função membro; não podem ser usados com a CMenu::ModifyMenu função membro.

CWnd::HtmlHelp

Chame esta função membro para invocar a aplicação HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parâmetros

dwData
Especifica dados adicionais. O valor utilizado depende do valor do nCmd parâmetro.

nCmd
Especifica o tipo de ajuda solicitada. Para uma lista de valores possíveis e como estes afetam o dwData parâmetro, consulte o uCommand parâmetro descrito na Referência da API de Ajuda HTML no SDK do Windows.

Observações

Consulte CWinApp::HtmlHelp para obter mais informações.

CWnd::InitDynamicLayout

Chamado pelo framework para inicializar o layout dinâmico de uma janela.

void InitDynamicLayout();

Observações

Não chame este método diretamente.

CWnd::Invalidate

Invalida toda a área do cliente de CWnd.

void Invalidate(BOOL bErase = TRUE);

Parâmetros

bErase
Especifica se o fundo dentro da região de atualização deve ser apagado.

Observações

A área do cliente está marcada para pintura quando surge a próxima WM_PAINT mensagem. A região também pode ser validada antes de ocorrer uma WM_PAINT mensagem pela ValidateRect função de membro.ValidateRgn

O bErase parâmetro especifica se o fundo dentro da área de atualização deve ser apagado quando a região de atualização for processada. Se bErase for TRUE, o fundo é apagado quando a BeginPaint função membro é chamada; se bErase for FALSE, o fundo permanece inalterado. Se bErase for TRUE para qualquer parte da região de atualização, o fundo em toda a região, e não apenas na parte dada, é apagado.

O Windows envia uma WM_PAINT mensagem sempre que a CWnd região de atualização não está vazia e não há outras mensagens na fila da aplicação para essa janela.

Example

Veja o exemplo para CWnd::UpdateWindow.

CWnd::InvalidateRect

Invalida a área cliente dentro do retângulo dado ao adicionar esse retângulo à CWnd região de atualização.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Parâmetros

lpRect
Aponta para um CRect objeto ou estruturaRECT que contém o retângulo (em coordenadas do cliente) a ser adicionado à região de atualização. Se lpRect for NULL, toda a área do cliente é adicionada à região.

bErase
Especifica se o fundo dentro da região de atualização deve ser apagado.

Observações

O retângulo invalidado, juntamente com todas as outras áreas na região de atualização, é marcado para pintura quando a próxima WM_PAINT mensagem é enviada. As áreas invalidadas acumulam-se na região de atualização até que a região seja processada quando ocorre a próxima WM_PAINT chamada, ou até que a região seja validada pela ValidateRect função ou ValidateRgn membro.

O bErase parâmetro especifica se o fundo dentro da área de atualização deve ser apagado quando a região de atualização for processada. Se bErase for TRUE, o fundo é apagado quando a BeginPaint função membro é chamada; se bErase for FALSE, o fundo permanece inalterado. Se bErase for TRUE para qualquer parte da região de atualização, o fundo em toda a região é apagado, não apenas na parte dada.

O Windows envia uma WM_PAINT mensagem sempre que a CWnd região de atualização não está vazia e não há outras mensagens na fila da aplicação para essa janela.

CWnd::InvalidateRgn

Invalida a área do cliente dentro da região dada ao adicioná-la à região de atualização atual de CWnd.

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Parâmetros

pRgn
Um apontador para um CRgn objeto que identifica a região a ser adicionada à região de atualização. Assume-se que a região tem coordenadas do cliente. Se este parâmetro for NULL, toda a área do cliente é adicionada à região de atualização.

bErase
Especifica se o fundo dentro da região de atualização deve ser apagado.

Observações

A região invalidada, juntamente com todas as outras áreas da região de atualização, é marcada para ser pintada quando a WM_PAINT mensagem for enviada novamente. As áreas invalidadas acumulam-se na região de atualização até que a região seja processada quando uma WM_PAINT mensagem é enviada novamente, ou até que a região seja validada pela ValidateRect função de membro de OR ValidateRgn .

O bErase parâmetro especifica se o fundo dentro da área de atualização deve ser apagado quando a região de atualização for processada. Se bErase for TRUE, o fundo é apagado quando a BeginPaint função membro é chamada; se bErase for FALSE, o fundo permanece inalterado. Se bErase for TRUE para qualquer parte da região de atualização, o fundo em toda a região, e não apenas na parte dada, é apagado.

O Windows envia uma WM_PAINT mensagem sempre que a CWnd região de atualização não está vazia e não há outras mensagens na fila da aplicação para essa janela.

A região em questão deve ter sido criada anteriormente por uma das funções da região.

CWnd::InvokeHelper

Chame esta função membro para invocar o método ActiveX Control ou propriedade especificada por dwDispID, no contexto especificado por wFlags.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

Parâmetros

dwDispID
Identifica o método ou propriedade a ser invocada.

wFlags
Bandeiras que descrevem o contexto da chamada para IDispatch::Invoke.

vtRet
Especifica o tipo do valor de retorno. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.

pvRet
Endereço da variável que irá receber o valor da propriedade ou devolver o valor. Deve corresponder ao tipo especificado por vtRet.

pbParamInfo
Apontador para uma cadeia de bytes terminada por nulo que especifica os tipos dos parâmetros após pbParamInfo. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.

...
Lista de variáveis de parâmetros, de tipos especificados em pbParamInfo.

Observações

O pbParamInfo parâmetro especifica os tipos de parâmetros passados ao método ou propriedade. A lista de variáveis de argumentos é representada por ... na declaração de sintaxe.

Esta função converte os parâmetros em VARIANTARG valores e depois invoca o IDispatch::Invoke método no controlo ActiveX. Se a chamada falhar IDispatch::Invoke , esta função lançará uma exceção. Se o SCODE (código de estado) devolvido por IDispatch::Invoke for DISP_E_EXCEPTION, esta função lança um COleException objeto, caso contrário lança um COleDispatchException.

Observação

Esta função deve ser chamada apenas num CWnd objeto que represente um controlo ActiveX.

Para mais informações sobre a utilização desta função membro com Contentores de Controlo ActiveX, consulte o artigo Contentores de Controlo ActiveX: Programação de Controlos ActiveX num Contentor de Controlo ActiveX.

CWnd::IsChild

Indica se a janela especificada por pWnd é uma janela filha ou outro descendente direto de CWnd.

BOOL IsChild(const CWnd* pWnd) const;

Parâmetros

pWnd
Identifica a janela a ser testada.

Valor de retorno

Especifica o resultado da função. O valor é diferente de zero se a janela identificada por pWnd for uma janela filha de CWnd; caso contrário, 0.

Observações

Uma janela filho é o descendente direto de CWnd se o CWnd objeto estiver na cadeia de janelas pais que conduz da janela pop-up original à janela filha.

CWnd::IsD2DSupportEnabled

Determina se o suporte a D2D está ativado.

BOOL IsD2DSupportEnabled();

Valor de retorno

TRUE se a funcionalidade estiver ativada; caso contrário FALSE.

CWnd::IsDialogMessage

Chame esta função membro para determinar se a mensagem dada é destinada a uma caixa de diálogo sem modos; se for, esta função processa a mensagem.

BOOL IsDialogMessage(LPMSG lpMsg);

Parâmetros

lpMsg
Aponta para uma MSG estrutura que contém a mensagem a verificar.

Valor de retorno

Especifica se a função membro processou a mensagem dada. É diferente de zero se a mensagem tiver sido processada; caso contrário, 0. Se o retorno for 0, chame a CWnd::PreTranslateMessage função membro da classe base para processar a mensagem. Numa sobreposição da CWnd::PreTranslateMessage função membro, o código apresenta-se assim:

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Observações

Quando a IsDialogMessage função processa uma mensagem, verifica mensagens de teclado e converte-as em comandos de seleção para a correspondente caixa de diálogo. Por exemplo, a tecla TAB seleciona o próximo controlo ou grupo de controlos, e a tecla SETA PARA BAIXO seleciona o próximo controlo num grupo.

Não deve passar uma mensagem processada IsDialogMessage para as TranslateMessage funções do Windows, DispatchMessage porque já foi processada.

CWnd::IsDlgButtonChecked

Determina se um controlo de botão tem uma marca de verificação ao lado.

UINT IsDlgButtonChecked(int nIDButton) const;

Parâmetros

nIDButton
Especifica o identificador inteiro do controlo do botão.

Valor de retorno

Não nulo se o controlo dado estiver marcado, e 0 se não estiver marcado. Só se podem assinalar botões de rádio e caixas de verificação. Para botões de três estados, o valor de retorno pode ser 2 se o botão for indeterminado. Esta função membro devolve 0 para um botão.

Observações

Se o botão for um controlo de três estados, a função elemento determina se está escurecido, verificado ou nenhum dos dois.

CWnd::IsDynamicLayoutEnabled

Determina se o layout dinâmico está ativado nesta janela. Se o layout dinâmico estiver ativado, a posição e o tamanho das janelas filhas podem mudar quando o utilizador redimensiona a janela principal.

BOOL IsDynamicLayoutEnabled() const;

Valor de retorno

TRUE se o layout dinâmico estiver ativado; caso contrário FALSE.

Observações

CWnd::IsIconic

Especifica se CWnd é minimizado (icónico).

BOOL IsIconic() const;

Valor de retorno

Não nulo se CWnd for minimizado; caso contrário 0.

Example

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::IsTouchWindow

Especifica se CWnd tem suporte por toque.

BOOL IsTouchWindow() const;

Valor de retorno

TRUE se CWnd tiver suporte de toque; caso contrário FALSE.

Observações

CWnd::IsWindowEnabled

Especifica se CWnd está ativado para entrada de rato e teclado.

BOOL IsWindowEnabled() const;

Valor de retorno

Não nulo se CWnd estiver ativado; caso contrário 0.

Example

//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
   {
      if (pWnd->IsWindowEnabled())
      {
         // Red brush for the background...
         pDC->SetBkColor(RGB(255, 0, 0));
         // m_pRedBrush is the CBrush object initialized with a red brush
         // using CreateSolidBrush
         return (HBRUSH)m_RedBrush.GetSafeHandle();
      }
      else
      {
         // Blue brush for the background...
         pDC->SetBkColor(RGB(0, 0, 255));
         // m_pBlueBrush is the CBrush object initialized with a blue
         // brush using CreateSolidBrush
         return (HBRUSH)m_BlueBrush.GetSafeHandle();
      }
   }

   return hbr;
}

CWnd::IsWindowVisible

Determina o estado de visibilidade da janela dada.

BOOL IsWindowVisible() const;

Valor de retorno

Não nulo se CWnd for visível (tem o WS_VISIBLE bit de estilo definido, e a janela pai é visível). Como o valor de retorno reflete o estado do WS_VISIBLE bit de estilo, o valor de retorno pode ser diferente de zero, mesmo estando CWnd totalmente oculto por outras janelas.

Observações

Uma janela possui um estado de visibilidade indicado pela WS_VISIBLE parte de estilo. Quando este bit de estilo é definido com uma chamada para a ShowWindow função membro, a janela é exibida e o desenho subsequente para a janela é exibido desde que a janela tenha o bit de estilo definido.

Qualquer desenho de uma janela que tenha esse WS_VISIBLE estilo não será exibido se a janela estiver coberta por outras janelas ou estiver recortada pela sua janela principal.

Example

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
   if(!m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_SHOWNORMAL);
   }
}

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
   if(m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_HIDE);
   }
}

CWnd::IsZoomed

Determina se CWnd foi maximizado.

BOOL IsZoomed() const;

Valor de retorno

Não nulo se CWnd for maximizado; caso contrário 0.

CWnd::KillTimer

Mata o evento temporizador identificado pela nIDEvent chamada anterior para SetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

Parâmetros

nIDEvent
O valor do evento temporizador passou para SetTimer.

Valor de retorno

Especifica o resultado da função. O valor é diferente de zero se o evento foi eliminado. É 0 se a KillTimer função membro não conseguir encontrar o evento temporizador especificado.

Observações

As mensagens pendentes WM_TIMER associadas ao temporizador não são removidas da fila de mensagens.

Example

Veja o exemplo para CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

Chamado pelo framework para carregar a informação de layout dinâmico a partir do ficheiro de recurso.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Parâmetros

lpszResourceName
O nome do recurso que contém a informação de layout dinâmico desejada para esta janela.

Valor de retorno

Diferente de zero se a função for bem-sucedida. É 0 se ocorrer uma falha.

Observações

Não chame este método diretamente.

CWnd::LockWindowUpdate

Desativa o desenho na janela indicada.

BOOL LockWindowUpdate();

Valor de retorno

Diferente de zero se a função for bem-sucedida. É 0 se ocorrer uma falha ou se a LockWindowUpdate função tiver sido usada para bloquear outra janela.

Observações

Uma janela trancada não pode ser movida. Só uma janela pode ser trancada de cada vez. Para destrancar uma janela trancada com LockWindowUpdate, chame UnlockWindowUpdate.

Se uma aplicação com uma janela bloqueada (ou qualquer janela filha bloqueada) chamar a GetDCfunção , GetDCEx, ou BeginPaint Windows, a função chamada devolve um contexto de dispositivo cuja região visível está vazia. Isto ocorrerá até que a aplicação desbloqueie a janela ao chamar a UnlockWindowUpdate função membro.

Embora as atualizações de janelas estejam bloqueadas, o sistema mantém o registo do retângulo delimitador de quaisquer operações de desenho para contextos de dispositivo associadas a uma janela bloqueada. Quando o desenho é reativado, este retângulo delimitado é invalidado na janela bloqueada e nas suas janelas filhas para forçar uma mensagem eventual WM_PAINT para atualizar o ecrã. Se não ocorrer nenhum desenho enquanto as atualizações das janelas estavam bloqueadas, nenhuma área é invalidada.

A LockWindowUpdate função membro não torna a janela dada invisível nem limpa o WS_VISIBLE bit de estilo.

CWnd::m_hWnd

A maçaneta da janela das janelas ligada a este CWnd.

HWND m_hWnd;

Observações

O m_hWnd membro de dados é uma variável pública do tipo HWND.

CWnd::MapWindowPoints

Converte (mapeia) um conjunto de pontos do espaço de coordenadas do para CWnd o espaço de coordenadas de outra janela.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

Parâmetros

pwndTo
Identifica a janela para a qual os pontos são convertidos. Se este parâmetro for NULL, os pontos são convertidos em coordenadas de ecrã.

lpRect
Especifica o retângulo cujos pontos devem ser convertidos. A primeira versão desta função está disponível apenas para Windows 3.1 e versões posteriores.

lpPoint
Um ponteiro para um array de POINT estruturas que contêm o conjunto de pontos a converter.

nCount
Especifica o número de POINT estruturas no array apontado por lpPoint.

CWnd::MessageBox

Cria e apresenta uma janela que contém uma mensagem e legenda fornecidas pela aplicação, além de uma combinação dos ícones e botões pré-definidos descritos na lista Message-Box Estilos .

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Parâmetros

lpszText
Aponta para um CString objeto ou cadeia terminada por null que contém a mensagem a ser exibida.

lpszCaption
Aponta para um CString objeto ou cadeia terminada por null a ser usada na legenda da caixa de mensagem. Se lpszCaption for NULL, é usada a legenda padrão "Erro".

nType
Especifica o conteúdo e o comportamento da caixa de mensagem.

Valor de retorno

Este método utiliza a MessageBox função conforme definida no SDK do Windows. Este método devolve o resultado de chamar esta função.

Observações

Use a função AfxMessageBox global em vez desta função membro para implementar uma caixa de mensagens na sua aplicação.

Segue-se os vários ícones do sistema que podem ser usados numa caixa de mensagem:

Ícone Macro
Stop ou ícone em X, consistindo num círculo vermelho com um x branco no centro. MB_ICONHAND, MB_ICONSTOPe MB_ICONERROR
Ícone de ajuda ou ponto de interrogação, que consiste num ícone de balão de pensamento com um ponto de interrogação. MB_ICONQUESTION
Ícone importante ou ponto de exclamação, consistindo num triângulo amarelo com um ponto de exclamação preto. MB_ICONEXCLAMATION e MB_ICONWARNING
Informação ou ícone da letra I, que consiste num balão de pensamento com uma letra i minúscula. MB_ICONASTERISK e MB_ICONINFORMATION

Example

void CMainFrame::OnDisplayErrorMessage()
{
   // This displays a message box with the title "Error"
   // and the message "Help, Something went wrong."
   // The error icon is displayed in the message box, along with
   // an OK button.
   MessageBox(_T("Help, Something went wrong."), _T("Error"),
              MB_ICONERROR | MB_OK);
}

CWnd::ModifyStyle

Chame esta função membro para modificar o estilo de uma janela.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parâmetros

dwRemove
Especifica estilos de janelas a serem removidos durante a modificação de estilo.

dwAdd
Especifica estilos de janelas a serem adicionados durante a modificação de estilo.

nFlags
As bandeiras devem ser passadas para SetWindowPos, ou zero se SetWindowPos não devem ser chamadas. O padrão é zero. Consulte a secção de Observações para uma lista de bandeiras pré-definidas.

Valor de retorno

Não nulo se o estilo foi modificado com sucesso; caso contrário, 0.

Observações

Os estilos a serem adicionados ou removidos podem ser combinados usando o operador bit a bit OR (|). Consulte os tópicos Estilos de Janelas e CreateWindow no SDK do Windows para informações sobre os estilos de janelas disponíveis.

Se nFlags for diferente de zero, ModifyStyle chama a função SetWindowPos da API do Windows e redesenha a janela combinando nFlags com as seguintes quatro bandeiras predefinidas:

  • SWP_NOSIZE Mantém o tamanho atual.

  • SWP_NOMOVE Mantém a posição atual.

  • SWP_NOZORDER Mantém a ordem Z atual.

  • SWP_NOACTIVATE Não ativa a janela.

Para modificar os estilos estendidos de uma janela, veja ModifyStyleEx.

Observação

Para alguns estilos em certos controlos (o ES_READONLY estilo no controlo de edição, por exemplo), ModifyStyle pode não alterar corretamente o estilo porque o controlo pode precisar de realizar um processamento interno especial. Nestes casos, estará disponível uma mensagem correspondente para alterar o estilo ( EM_SETREADONLY no exemplo mencionado).

Example

// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
   CView::OnInitialUpdate();
   ModifyStyle(0, WS_CLIPCHILDREN);
}

CWnd::ModifyStyleEx

Chame esta função membro para modificar o estilo estendido de uma janela.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parâmetros

dwRemove
Especifica estilos estendidos a serem removidos durante a modificação de estilo.

dwAdd
Especifica estilos estendidos a serem adicionados durante a modificação de estilo.

nFlags
As bandeiras devem ser passadas para SetWindowPos, ou zero se SetWindowPos não devem ser chamadas. O padrão é zero. Consulte a secção de Observações para uma lista de bandeiras pré-definidas.

Valor de retorno

Não nulo se o estilo foi modificado com sucesso; caso contrário, 0.

Observações

Estilos a adicionar ou remover podem ser combinados usando o operador bit a bit OR (|). Consulte os tópicos Estilos de Janelas Estendidas neste livro e CreateWindowEx no SDK do Windows para informações sobre os estilos estendidos disponíveis

Se nFlags for diferente de zero, ModifyStyleEx chama a função SetWindowPos da API do Windows e redesenha a janela combinando nFlags com as seguintes quatro bandeiras predefinidas:

  • SWP_NOSIZE Mantém o tamanho atual.

  • SWP_NOMOVE Mantém a posição atual.

  • SWP_NOZORDER Mantém a ordem Z atual.

  • SWP_NOACTIVATE Não ativa a janela.

Para modificar janelas usando estilos de janelas normais, veja ModifyStyle.

Example

// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CDialog::OnCreate(lpCreateStruct) == -1)
      return -1;

   ModifyStyleEx(0, WS_EX_TRANSPARENT);   
   
   return 0;
}

CWnd::MoveWindow

Muda a posição e as dimensões.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

Parâmetros

x
Especifica a nova posição do lado esquerdo do CWnd.

y
Especifica a nova posição do topo do CWnd.

nWidth
Especifica a nova largura do CWnd.

nHeight
Especifica a nova altura do CWnd.

bRepaint
Especifica se CWnd deve ser repintado. Se TRUE, CWnd recebe uma WM_PAINT mensagem no seu OnPaint manipulador de mensagens como de costume. Se este parâmetro for FALSE, não ocorre qualquer tipo de repintura. Isto aplica-se à área do cliente, à área não-cliente (incluindo o título e as barras de scroll), e a qualquer parte da janela principal descoberta como resultado do CWnd's move. Quando este parâmetro é FALSE, a aplicação deve invalidar ou redesenhar explicitamente quaisquer partes de CWnd uma janela pai que devam ser redesenhadas.

lpRect
O CRect objeto ou RECT estrutura que especifica o novo tamanho e posição.

Observações

Para um objeto de nível CWnd superior, os x parâmetros e y são relativos ao canto superior esquerdo do ecrã. Para um objeto filho CWnd , são relativos ao canto superior esquerdo da área cliente da janela principal.

A MoveWindow função envia a WM_GETMINMAXINFO mensagem. Lidar com esta mensagem dá CWnd a oportunidade de modificar os valores predefinidos para as janelas maiores e menores possíveis. Se os parâmetros da MoveWindow função membro excederem estes valores, os valores podem ser substituídos pelos valores mínimos ou máximos no WM_GETMINMAXINFO handler.

Example

Veja o exemplo para CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Sinaliza ao sistema que ocorreu um evento pré-definido. Se alguma aplicação cliente tiver registado uma função hook para o evento, o sistema chama a função hook do cliente.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Parâmetros

event
Especifica o evento que ocorreu. Este valor deve ser uma das constantes do evento.

idObjectType
Identifica o tipo de objeto que gerou o evento. Este valor é um dos identificadores de objeto pré-definidos ou um valor personalizado de ID de objeto.

idObject
Identifica se o evento foi gerado por um objeto ou por um elemento filho do objeto. Se este valor for CHILDID_SELF, o evento foi gerado pelo próprio objeto. Se não, este valor é o ID filho do elemento que gerou o evento.

Observações

Esta função de membro emula a funcionalidade da função NotifyWinEvent, conforme descrito no SDK do Windows.

CWnd::OnActivate

A estrutura chama a este elemento função quando um CWnd objeto está a ser ativado ou desativado.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Parâmetros

nState
Especifica se o CWnd está sendo ativado ou desativado. Pode ser um dos seguintes valores:

  • WA_INACTIVE A janela está a ser desativada.

  • WA_ACTIVE A janela é ativada por algum método que não seja um clique do rato (por exemplo, usando a interface do teclado para selecionar a janela).

  • WA_CLICKACTIVE A janela é ativada por um clique do rato.

pWndOther
Ponteiro para o CWnd que está sendo ativado ou desativado. O ponteiro pode ser NULL, e pode ser temporário.

bMinimized
Especifica o estado minimizado do CWnd que está sendo ativado ou desativado. Um valor de TRUE indica que a janela é minimizada.

Se TRUE, o CWnd estiver a ser ativado; caso contrário, desativado.

Observações

Se o CWnd objeto for ativado com um clique do rato, também receberá uma OnMouseActivate chamada de função membro.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnActivateApp

A estrutura chama esta função membro a todas as janelas de topo da tarefa a ativar e a todas as janelas de topo da tarefa a ser desativadas.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Parâmetros

bActive
Especifica se o CWnd está sendo ativado ou desativado. TRUE significa que está CWnd a ser ativado. FALSE significa que está CWnd a ser desativado.

dwThreadID
Especifica o valor do ID da thread. Se bActive for TRUE, dwThreadID identifica a thread que detém o CWnd ser desativado. Se bActive for FALSE, dwThreadID identifica o thread que detém o CWnd ser ativado.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnAmbientProperty

O framework chama esta função membro para obter valores de propriedades ambientais a partir de uma janela que contém controlos OLE.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Parâmetros

pSite
Aponta para o local do controlo que solicitou a propriedade ambiente.

dispid
O ID de despacho da propriedade ambiente solicitada.

pvar
Apontar para uma estrutura atribuída VARIANT pelo chamador, através da qual o valor da propriedade ambiente será devolvido.

Valor de retorno

TRUE se a propriedade ambiente for suportada; FALSE se não.

Observações

Substitua esta função para alterar os valores de propriedades ambientais predefinidos devolvidos por um contentor de controlo OLE para os seus controlos. Quaisquer pedidos de propriedade ambiente que não sejam tratados por uma função sobreposta devem ser encaminhados para a implementação da classe base.

CWnd::OnAppCommand

O framework chama esta função membro quando o utilizador gera um evento de comando de aplicação. Tal evento ocorre quando o utilizador clica num botão de comando de aplicação ou digita uma tecla de comando de aplicação.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Parâmetros

pWnd
[dentro] Apontador para um CWnd objeto que representa a janela onde o utilizador clicou no botão de comando ou pressionou a tecla de comando. Esta janela pode ser uma janela filha da janela que recebe a mensagem.

nCmd
[dentro] Indica o comando de aplicação. Para uma lista de valores possíveis, veja os comandos sob a cmd secção do lParam parâmetro de WM_APPCOMMAND.

nDevice
[dentro] O dispositivo de entrada que gerou o evento de entrada. Para uma lista de valores possíveis, veja os dispositivos sob a uDevice secção do lParam parâmetro de WM_APPCOMMAND.

nKey
[dentro] Indica quaisquer teclas virtuais que estejam para baixo, como a tecla CTRL ou o botão esquerdo do rato. Para uma lista de valores possíveis, veja as chaves sob a dwKeys secção do lParam parâmetro de WM_APPCOMMAND. Para mais informações, consulte o subtítulo "Parâmetros da Mensagem" em Sobre a Entrada do Rato.

Observações

Este método recebe a WM_APPCOMMAND notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnAskCbFormatName

A estrutura chama esta função membro quando a Área de Transferência contém um handler de dados para o CF_OWNERDISPLAY formato (ou seja, quando o proprietário da Área de Transferência irá mostrar o conteúdo da Área de Transferências).

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Parâmetros

nMaxCount
Especifica o número máximo de bytes a copiar.

lpszString
Aponta para o buffer onde a cópia do nome do formato deve ser armazenada.

Observações

O proprietário da Clipboard deve fornecer um nome para o seu formato.

Sobrescrita esta função membro e copia o nome do CF_OWNERDISPLAY formato para o buffer especificado, sem exceder o número máximo de bytes especificado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCancelMode

A estrutura chama esta função membro para informar CWnd para cancelar qualquer modo interno.

afx_msg void OnCancelMode();

Observações

Se o CWnd objeto tiver o foco, a sua OnCancelMode função membro é chamada quando uma caixa de diálogo ou caixa de mensagem é exibida. Isto dá a CWnd oportunidade de cancelar modos como a captura do rato.

A implementação padrão responde chamando a ReleaseCapture função Windows. Substitui esta função membro na tua classe derivada para lidar com outros modos.

CWnd::OnCaptureChanged

O framework chama esta função membro para notificar a janela que está a perder a captura do rato.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Parâmetros

pWnd
Um apontador para a janela para capturar com o rato

Observações

Uma janela recebe esta mensagem mesmo que se chame ReleaseCapture a si própria. Uma aplicação não deve tentar definir a captura do rato em resposta a esta mensagem. Quando recebe esta mensagem, uma janela deve redesenhar-se, se necessário, para refletir o novo estado de captura do rato.

Consulte o SDK do Windows para informações sobre a ReleaseCapture função do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnChangeCbChain

A estrutura chama esta função membro para cada janela na cadeia Clipboard-viewer para a notificar de que uma janela está a ser removida da cadeia.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Parâmetros

hWndRemove
Especifica a manivela da janela que está a ser removida da cadeia Clipboard-viewer.

hWndAfter
Especifica o handler da janela que segue a janela ser removido da cadeia Clipboard-viewer.

Observações

Cada CWnd objeto que recebe uma OnChangeCbChain chamada deve usar a SendMessage função Windows para enviar a WM_CHANGECBCHAIN mensagem para a próxima janela na cadeia Clipboard-viewer (o handle devolvido por SetClipboardViewer). Se hWndRemove for a próxima janela na cadeia, a janela especificada por hWndAfter torna-se a janela seguinte, e as mensagens da Área de Transferência são passadas para ela.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnChangeUIState

É chamado quando o estado da interface de utilizador (UI) deve ser alterado.

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

Parâmetros

nAction
Especifica a ação a tomar. Pode ser um dos seguintes valores:

  • UIS_CLEAR O elemento de estado da interface (especificado por nUIElement) deve estar oculto.

  • UIS_INITIALIZE O elemento de estado da interface (especificado por nUIElement) deve ser alterado com base no último evento de entrada. Para mais informações, consulte a secção de Observações de WM_CHANGEUISTATE.

  • UIS_SET O elemento de estado da interface (especificado por nUIElement) deve ser visível.

nUIElement
Especifica quais os elementos do estado da interface que são afetados ou o estilo do controlo. Pode ser um dos seguintes valores:

  • UISF_HIDEACCEL Aceleradores de teclado.

  • UISF_HIDEFOCUS Indicadores de foco.

  • UISF_ACTIVE Windows XP: Um controlo deve ser desenhado no estilo usado para controlos ativos.

Observações

Esta função membro emula a funcionalidade da WM_CHANGEUISTATE mensagem, conforme descrito no SDK do Windows.

CWnd::OnChar

O framework chama a este elemento função quando uma tecla se traduz para um carácter não de sistema.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Contém o valor do código do carácter da chave.

nRepCnt
Contém a contagem de repetições, o número de vezes que a tecla é repetida quando o utilizador mantém a tecla pressionada.

nFlags
Contém o código de varrimento, código de transição de chave, estado anterior da chave e código de contexto, conforme mostrado na lista seguinte:

Valor Meaning
0-15 Especifica a contagem de repetições. O valor é o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada.
16-23 Especifica o código de varrimento. O valor depende do fabricante original do equipamento (OEM)
24 Especifica se a tecla é uma tecla estendida, como as teclas ALT e CTRL da mão direita que aparecem num teclado melhorado de 101 ou 102 teclas. O valor é 1 se for uma chave estendida; caso contrário, é 0.
25-28 Usado internamente pelo Windows.
29 Especifica o código de contexto. O valor é 1 se a tecla ALT for mantida pressionada enquanto a tecla é pressionada; caso contrário, o valor é 0.
30 Especifica o estado da chave anterior. O valor é 1 se a chave estiver desativada antes da mensagem ser enviada, ou é 0 se a chave estiver ativa.
31 Especifica o estado de transição. O valor é 1 se a tecla estiver a ser libertada, ou 0 se a tecla estiver a ser pressionada.

Observações

Esta função é chamada antes da OnKeyUp função membro e depois de a OnKeyDown função membro ser chamada. OnChar contém o valor da tecla do teclado pressionada ou libertada.

Como não existe necessariamente uma correspondência um-para-um entre as teclas pressionadas e OnChar as chamadas geradas, a informação presente nFlags geralmente não é útil para as aplicações. A informação em nFlags aplica-se apenas à chamada mais recente para a OnKeyUp função membro ou à OnKeyDown função membro que precede a chamada para OnChar.

Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCharToItem

Chamada quando uma caixa de lista com o LBS_WANTKEYBOARDINPUT estilo envia uma WM_CHARTOITEM mensagem ao seu proprietário em resposta a uma WM_CHAR mensagem.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

Parâmetros

nChar
Especifica o valor da tecla pressionada pelo utilizador.

pListBox
Especifica um ponteiro para a caixa da lista. Pode ser temporário.

nIndex
Especifica a posição atual do caret.

Valor de retorno

O framework chama esta função membro para especificar a ação que a aplicação realizou em resposta à chamada. Um valor de retorno de -2 indica que a aplicação tratou de todos os aspetos da seleção do item e não quer que a caixa da lista faça mais ação. Um valor de retorno de -1 indica que a caixa de lista deve executar a ação padrão em resposta ao pressionamento da tecla. Um valor de retorno de 0 ou superior especifica o índice em base zero de um item na caixa de lista e indica que a caixa de lista deve executar a ação padrão para a tecla pressionada no item dado.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnChildActivate

Se o CWnd objeto for uma janela filha de múltiplos documentos (MDI), OnChildActivate é chamada pelo framework quando o utilizador clica na barra de título da janela ou quando a janela é ativada, movida ou dimensionada.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Esta função membro é chamada pela janela principal desta janela quando recebe uma mensagem de notificação que se aplica a essa janela.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parâmetros

message
Um número de mensagem do Windows enviado para uma janela principal.

wParam
O wparam associado à mensagem.

lParam
O lparam associado à mensagem.

pLResult
Um apontador para um valor a ser devolvido do procedimento da janela do pai. Este apontador será NULL se não for esperado valor de retorno.

Valor de retorno

Não nula se esta janela for responsável por tratar a mensagem enviada ao seu pai; caso contrário, 0.

Observações

Nunca chame esta função de membro diretamente.

A implementação padrão desta função membro devolve 0, o que significa que o pai deve tratar da mensagem.

Substitua esta função membro para prolongar a forma como um controlo responde a mensagens de notificação.

CWnd::OnClipboardUpdate

A estrutura chama a este elemento função quando o conteúdo da prancheta mudou.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

O framework chama a esta função membro um sinal de que a CWnd ou uma aplicação deve terminar.

afx_msg void OnClose();

Observações

A implementação padrão chama DestroyWindow.

CWnd::OnColorizationColorChanged

A estrutura chama este membro quando a política de renderização para a área não cliente mudou.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Parâmetros

dwColorizationColor
[dentro] Especifica a nova cor de colorização. O formato de cor é um número hexadecimal da forma 0xAARRGGBB, onde cada um dos quatro componentes varia de 0x00 a 0xFF. O componente AA é o valor alfa, RR é a cor vermelha, GG é verde e BB é azul.

bOpacity
[dentro] TRUE se a nova cor for misturada com opacidade; FALSE Se não for.

Observações

Este método recebe a WM_DWMNCRENDERINGCHANGED mensagem de notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCommand

O framework chama esta função membro quando o utilizador seleciona um item de um menu, quando um controlo filho envia uma mensagem de notificação, ou quando uma tecla aceleradora é traduzida.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

wParam
A palavra de ordem baixa identifica wParam o ID do comando do item do menu, controlo ou acelerador. A palavra de ordem superior de wParam especifica a mensagem de notificação se a mensagem for de um controlo. Se a mensagem for de um acelerador, a palavra de ordem superior é 1. Se a mensagem for de um menu, a palavra de ordem superior é 0.

lParam
Identifica o controlo que envia a mensagem se a mensagem for de um controlo. Caso contrário, lParam é 0.

Valor de retorno

Uma aplicação devolve uma resposta diferente de zero se processar esta mensagem; caso contrário, 0.

Observações

OnCommand processa o mapa de mensagens para notificações de controlo e ON_COMMAND entradas, e chama a função membro apropriada.

Substitua esta função membro na sua classe derivada para tratar da WM_COMMAND mensagem. Um override não processará o mapa da mensagem a menos que a classe OnCommand base seja chamada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCompacting

A estrutura chama a esta função membro para todas as janelas de topo quando o Windows deteta que mais de 12,5 por cento do tempo do sistema, num intervalo de 30 a 60 segundos, está a ser gasto a compactar a memória.

afx_msg void OnCompacting(UINT nCpuTime);

Parâmetros

nCpuTime
Especifica a razão entre o tempo de CPU atualmente gasto pelo Windows a compactar memória e o tempo de CPU gasto a realizar outras operações. Por exemplo, 8000h representa 50 por cento do tempo de CPU gasto a compactar memória.

Observações

Isto indica que a memória do sistema é baixa.

Quando um CWnd objeto recebe esta chamada, deve libertar o máximo de memória possível, tendo em conta o nível atual de atividade da aplicação e o número total de aplicações a correr no Windows. A aplicação pode chamar a função Windows para determinar quantas aplicações estão a correr.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCompareItem

O framework chama esta função membro para especificar a posição relativa de um novo item numa combinação de sorteio proprietário ordenada ou numa caixa de lista.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Parâmetros

nIDCtl
O identificador do controlo que enviou a WM_COMPAREITEM mensagem.

lpCompareItemStruct
Contém um ponteiro longo para uma COMPAREITEMSTRUCT estrutura de dados que contém os identificadores e dados fornecidos pela aplicação para dois itens na caixa combinada ou lista.

Valor de retorno

Indica a posição relativa dos dois itens. Pode ser qualquer um dos seguintes valores:

Valor Meaning
-1 O item 1 classifica-se antes do item 2.
0 O item 1 e o item 2 ordenam-se da mesma forma.
1 O item 1 classifica-se depois do item 2.

Observações

Se for criado um combo ou caixa de lista com o CBS_SORT estilo ou, LBS_SORT o Windows envia uma WM_COMPAREITEM mensagem ao proprietário da caixa de combo ou da caixa de lista sempre que a aplicação adiciona um novo item.

Dois itens na caixa de combo ou lista são reformados numa COMPAREITEMSTRUCT estrutura apontada por lpCompareItemStruct. OnCompareItem deve devolver um valor que indique quais dos itens devem aparecer antes do outro. Normalmente, o Windows faz esta chamada várias vezes até determinar a posição exata do novo item.

Se o hwndItem elemento da COMPAREITEMSTRUCT estrutura pertencer a um CListBox objeto ou CComboBox , então a CompareItem função virtual da classe apropriada é chamada. Substitui CComboBox::CompareItem ou CListBox::CompareItem entra no teu derivado CListBox ou CComboBox classe para fazer a comparação de itens.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCompositionChanged

O framework chama esta função membro para todas as janelas de topo quando a composição do Gestor de Janelas do Ambiente de Trabalho (DWM) está ativada ou desativada.

afx_msg void OnCompositionChanged();

Observações

Este método recebe a WM_DWMCOMPOSITIONCHANGED notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnContextMenu

É chamada pela framework quando o utilizador clicou no botão direito do rato (clicou com o botão direito) na janela.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Parâmetros

pWnd
Handle para a janela onde o utilizador clicou com o botão direito do rato. Esta pode ser uma janela filha da janela que recebe a mensagem. Para mais informações sobre o processamento desta mensagem, consulte a secção Observações.

pos
Posição do cursor, em coordenadas do ecrã, no momento do clique do rato.

Observações

Pode processar esta mensagem exibindo um menu de contexto usando o TrackPopupMenuarquivo .

Se não mostrar um menu contextual, deve passar esta mensagem para a DefWindowProc função. Se a sua janela for uma janela filha, DefWindowProc envia a mensagem para o pai. Caso contrário, DefWindowProc apresenta um menu contextual predefinido se a posição especificada estiver na legenda da janela.

CWnd::OnCopyData

Esta função membro é chamada pelo framework para copiar dados de uma aplicação para outra.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Parâmetros

pWnd
Um apontador para um CWnd objeto que está a enviar os dados.

pCopyDataStruct
Um apontador para uma COPYDATASTRUCT estrutura que contém os dados enviados.

Valor de retorno

Retorna TRUE se a aplicação recetora aceitar com sucesso os dados. Caso contrário, retorna FALSE.

Observações

Os dados passados não devem conter ponteiros ou outras referências a objetos não acessíveis à aplicação que recebe os dados.

Enquanto os dados estão a ser copiados, não podem ser alterados por outro fio do processo de envio.

A aplicação recetora deve considerar os dados apenas de leitura. A estrutura apontada pelo parâmetro pCopyDataStruct é válida apenas durante a transferência de dados; no entanto, a aplicação recetora não deve libertar a memória associada à estrutura.

Se a aplicação recetora precisar de acesso aos dados após o retorno desta função, deve copiar os dados recebidos para um buffer local.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCreate

O framework chama esta função membro quando uma aplicação solicita que a janela do Windows seja criada chamando a Create função ou CreateEx membro.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Parâmetros

lpCreateStruct
Aponta para uma CREATESTRUCT estrutura que contém informação sobre o CWnd objeto a ser criado.

Valor de retorno

OnCreate deve devolver 0 para continuar a criação do CWnd objeto. Se a candidatura devolver -1, a janela será destruída.

Observações

O CWnd objeto recebe esta chamada depois de a janela ser criada, mas antes de se tornar visível. OnCreate é chamada antes do retorno da Create função membro ou CreateEx .

Sobrescrita esta função membro para realizar qualquer inicialização necessária de uma classe derivada.

A CREATESTRUCT estrutura contém cópias dos parâmetros usados para criar a janela.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnCtlColor

A estrutura chama a este elemento função quando um controlo filho está prestes a ser desenhado.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

Parâmetros

pDC
Contém um ponteiro para o contexto de exibição da janela filho. Pode ser temporário.

pWnd
Contém um ponteiro para o controlo a pedir a cor. Pode ser temporário.

nCtlColor
Contém um dos seguintes valores, especificando o tipo de controlo:

  • CTLCOLOR_BTN Controlo por botões

  • CTLCOLOR_DLG Caixa de diálogo

  • CTLCOLOR_EDIT Controlo de edição

  • CTLCOLOR_LISTBOX Controlo por caixa de lista

  • CTLCOLOR_MSGBOX Caixa de mensagem

  • CTLCOLOR_SCROLLBAR Controlo por barra de deslocamento

  • CTLCOLOR_STATIC Controlo estático

Valor de retorno

OnCtlColor deve devolver um cabo ao pincel que será usado para pintar o fundo de controlo.

Observações

A maioria dos controlos envia esta mensagem para o seu pai (normalmente uma caixa de diálogo) para os pDC preparar para desenhar o controlo usando as cores corretas.

Para alterar a cor do texto, chame a SetTextColor função membro com os valores desejados de vermelho, verde e azul (RGB).

Para alterar a cor de fundo de um controlo de edição de linha única, defina o cabo do pincel tanto nos CTLCOLOR_EDIT códigos da mensagem and CTLCOLOR_MSGBOX e chame a CDC::SetBkColor função em resposta ao CTLCOLOR_EDIT código.

OnCtlColor não será chamada para a caixa de lista de uma caixa de combo suspensa porque a caixa de lista suspensa é na verdade um filho da caixa de combo e não um filho da janela. Para mudar a cor da caixa da lista suspensa, crie um CComboBox com uma sobreposição de OnCtlColor que verifica CTLCOLOR_LISTBOX no nCtlColor parâmetro. Neste handler, a SetBkColor função membro deve ser usada para definir a cor de fundo do texto.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função. Para adicionar o seguinte método à sua classe de diálogo, use o painel de propriedades do Visual Studio para adicionar um manipulador de mensagens para WM_CTLCOLOR. Em alternativa, pode adicionar manualmente uma ON_WM_CTLCOLOR() entrada ao mapa da mensagem.

Example

// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
   // Call the base class implementation first! Otherwise, it may
   // undo what we're trying to accomplish here.
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   // Are we painting the IDC_MYSTATIC control? We can use
   // CWnd::GetDlgCtrlID() to perform the most efficient test.
   if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
   {
      // Set the text color to red
      pDC->SetTextColor(RGB(255, 0, 0));

      // Set the background mode for text to transparent 
      // so background will show thru.
      pDC->SetBkMode(TRANSPARENT);

      // Return handle to our CBrush object
      hbr = m_brush;
   }

   return hbr;
}

CWnd::OnDeadChar

O framework chama esta função membro quando a OnKeyUp função membro e as OnKeyDown funções membros são chamadas.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o valor do carácter dead-key.

nRepCnt
Especifica a contagem de repetições.

nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:

Valor Description
0-7 Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta.
8 Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0).
9-10 Não utilizado.
11-12 Usado internamente pelo Windows.
13 Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0).
14 Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa).
15 Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada).

Observações

Esta função membro pode ser usada para especificar o valor de carácter de uma chave morta. Uma chave morta é uma chave, como o carácter umlaut (ponto duplo), que é combinada com outros caracteres para formar um carácter composto. Por exemplo, o carácter umlaut-O consiste na tecla morta, umlaut e tecla O.

Uma aplicação normalmente serve OnDeadChar para dar feedback ao utilizador sobre cada tecla pressionada. Por exemplo, uma aplicação pode mostrar o destaque na posição atual do carácter sem mover a caridade.

Como não existe necessariamente uma correspondência um-para-um entre as teclas pressionadas e OnDeadChar as chamadas, a informação em nFlags geral não é útil para as aplicações. A informação aplica-se nFlags apenas à chamada mais recente à OnKeyUp função membro ou à OnKeyDown função membro que precede a chamada OnDeadChar .

Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnDeleteItem

A estrutura chama esta função membro para informar o proprietário de uma caixa de lista de sorteio proprietário ou caixa de combo que a caixa de lista ou caixa de combo foi destruída ou que os itens foram removidos por CComboBox::DeleteString, CListBox::DeleteString, CComboBox::ResetContent, ou CListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Parâmetros

nIDCtl
O identificador do controlo que enviou a WM_DELETEITEM mensagem.

lpDeleteItemStruct
Especifica um ponteiro longo para uma DELETEITEMSTRUCT estrutura de dados que contém informação sobre o item da caixa da lista eliminada.

Observações

Se o hwndItem membro da DELETEITEMSTRUCT estrutura pertencer a uma caixa combo ou caixa de lista, então a DeleteItem função virtual da classe apropriada é chamada. Sobrescreva a DeleteItem função membro da classe do controlo apropriado para eliminar dados específicos do item.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnDestroy

A estrutura chama esta função membro para informar o CWnd objeto de que está a ser destruído.

afx_msg void OnDestroy();

Observações

OnDestroy é chamado depois de o CWnd objeto ser removido do ecrã.

OnDestroy chama-se primeiro pelo CWnd ser destruído, depois pelas janelas crianças de CWnd à medida que são destruídas. Pode assumir-se que todas as janelas filhas ainda existem durante OnDestroy a execução.

Se o CWnd objeto a ser destruído fizer parte da cadeia Clipboard-viewer (definida ao chamar a SetClipboardViewer função membro), o CWnd Clipboard-viewer deve retirar-se da cadeia Clipboard-viewer chamando a ChangeClipboardChain função membro antes de regressar da OnDestroy função.

CWnd::OnDestroyClipboard

A estrutura chama esta função membro para o proprietário da Área de Transferência quando esta é esvaziada através de uma chamada à EmptyClipboard função Windows.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

A estrutura chama esta função membro para notificar uma aplicação ou controlador de dispositivo sobre uma alteração na configuração de hardware de um dispositivo ou do computador.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

Parâmetros

nEventType
Um tipo de evento. Consulte a secção de Observações para uma descrição dos valores disponíveis

dwData
O endereço de uma estrutura que contém dados específicos de um evento. O seu significado depende do evento em questão.

Observações

Para dispositivos que oferecem funcionalidades controláveis por software, como ejeção e bloqueio, o sistema operativo normalmente envia uma DBT_DEVICEREMOVEPENDING mensagem para permitir que aplicações e drivers de dispositivos terminem a utilização do dispositivo de forma gradual.

Se o sistema operativo remover à força um dispositivo, pode não enviar uma DBT_DEVICEQUERYREMOVE mensagem antes de o fazer.

O nEvent parâmetro pode ser um destes valores:

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnDevModeChange

O framework chama esta função membro para todos os objetos de topo CWnd quando o utilizador altera as definições do modo do dispositivo.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Parâmetros

lpDeviceName
Aponta para o nome do dispositivo especificado no ficheiro de inicialização do Windows, WIN.INI.

Observações

As aplicações que tratam da WM_DEVMODECHANGE mensagem podem reinicializar as suas definições de modo de dispositivo. As aplicações que utilizam a função Windows ExtDeviceMode para guardar e restaurar definições do dispositivo normalmente não processam esta função.

Esta função não é chamada quando o utilizador altera a impressora por defeito a partir do Painel de Controlo. Neste caso, a OnWinIniChange função é chamada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnDrawClipboard

A estrutura chama esta função membro para cada janela na cadeia Clipboard-viewer quando o conteúdo da Clipboard muda.

afx_msg void OnDrawClipboard();

Observações

Apenas as aplicações que se juntaram à cadeia Clipboard-viewer ao chamar a SetClipboardViewer função membro precisam de responder a esta chamada.

Cada janela que recebe uma OnDrawClipboard chamada deve chamar a SendMessage função Windows para passar uma WM_DRAWCLIPBOARD mensagem para a próxima janela na cadeia Clipboard-viewer. O handle da janela seguinte é devolvido pela SetClipboardViewer função membro; pode ser modificado em resposta a uma OnChangeCbChain chamada de função membro.

CWnd::OnDrawIconicThumbnailOrLivePreview

É chamado pelo framework quando este precisa de obter um bitmap para ser exibido na miniatura do separador do Windows 7, ou no cliente para o peek da aplicação.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

Parâmetros

dc
Especifica o contexto do dispositivo.

rect
Especifica o retângulo delimitador da área a renderizar.

szRequiredThumbnailSize
Especifica o tamanho da miniatura alvo. Deve ser ignorado se bIsThumbnail for FALSE.

bIsThumbnail
Especifica se este método é chamado para miniatura icónica ou pré-visualização ao vivo (espreitação).

bAlphaChannelSet
[fora] Defina para TRUE se a sua implementação inicializar o canal alfa de um bitmap selecionado em dc.

Observações

Sobrepor este método numa classe derivada e recorrer ao contexto especificado do dispositivo para personalizar miniatura e peek. Se bThumbnail for TRUE, szRequiredThumbnailSize pode ser ignorado. Neste caso, deve estar ciente de que desenha um bitmap em tamanho real (ou seja, um bitmap que cobre toda a área do cliente). O contexto do dispositivo (dc) vem com um bitmap selecionado de 32 bits. A implementação padrão envia WM_PRINT para esta janela com PRF_CLIENT, PRF_CHILDREN, e PRF_NONCLIENT flags.

CWnd::OnDrawItem

A estrutura chama esta função membro para o proprietário de um controlo de botão de desenho do proprietário, controlo de caixa combo, controlo de caixa de lista ou menu quando um aspeto visual do controlo ou menu mudou.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Parâmetros

nIDCtl
Contém o identificador do controlo que enviou a WM_DRAWITEM mensagem. Se um menu enviou a mensagem, nIDCtl contém 0.

lpDrawItemStruct
Especifica um ponteiro longo para uma DRAWITEMSTRUCT estrutura de dados que contém informação sobre o item a desenhar e o tipo de desenho necessário.

Observações

O itemAction elemento da DRAWITEMSTRUCT estrutura define a operação de desenho que deve ser realizada. Os dados neste elemento permitem ao proprietário do controlo determinar qual a ação de desenho necessária.

Antes de regressar do processamento desta mensagem, uma aplicação deve garantir que o contexto do dispositivo identificado pelo hDC membro da DRAWITEMSTRUCT estrutura é restaurado para o estado predefinido.

Se o hwndItem membro pertencer a um CButtonobjeto , CMenu, CListBox, ou CComboBox , então a DrawItem função virtual da classe apropriada é chamada. Sobrescreva a DrawItem função membro da classe do controlo apropriado para desenhar o item.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnDropFiles

A estrutura chama esta função membro quando o utilizador solta o botão esquerdo do rato sobre uma janela que se registou como destinatária dos ficheiros descartados.

afx_msg void OnDropFiles(HDROP hDropInfo);

Parâmetros

hDropInfo
Um apontador para uma estrutura de dados interna que descreve os ficheiros caídos. Este handle é usado pelas DragFinishfunções , DragQueryFile, e DragQueryPoint Windows para recuperar informação sobre os ficheiros perdidos.

Observações

Normalmente, uma classe derivada é desenhada para suportar ficheiros descartados e regista-se durante a construção da janela.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnEnable

O framework chama esta função membro quando uma aplicação altera o estado habilitado do CWnd objeto.

afx_msg void OnEnable(BOOL bEnable);

Parâmetros

bEnable
Especifica se o CWnd objeto foi ativado ou desativado. Este parâmetro é TRUE se o CWnd tiver sido ativado; é FALSE se o CWnd tiver sido desativado.

Observações

OnEnable é chamada antes do retorno da EnableWindow função membro, mas depois de o estado de janela ativado (WS_DISABLED bit de estilo) ter mudado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnEndSession

O framework chama esta função membro depois de o CWnd objeto ter retornado um valor diferente de zero a partir de uma OnQueryEndSession chamada de função membro.

afx_msg void OnEndSession(BOOL bEnding);

Parâmetros

bEnding
Especifica se a sessão está a ser terminada ou não. É TRUE se a sessão estiver a terminar; caso contrário FALSE.

Observações

A OnEndSession chamada informa o CWnd objeto se a sessão está realmente a terminar.

Se bEnding for TRUE, o Windows pode terminar a qualquer momento depois de todas as aplicações terem regressado do processamento desta chamada. Consequentemente, fazer com que uma aplicação execute todas as tarefas necessárias para a terminação dentro OnEndSessionde .

Não precisa de chamar a DestroyWindow função membro ou PostQuitMessage a função Windows quando a sessão está a terminar.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnEnterIdle

A estrutura chama esta função membro para informar o procedimento da janela principal da aplicação de que uma caixa de diálogo modal ou um menu está a entrar num estado de inatividade.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Parâmetros

nWhy
Especifica se a mensagem é resultado de uma caixa de diálogo ou de um menu a ser exibido. Este parâmetro pode ser um dos seguintes valores:

  • MSGF_DIALOGBOX O sistema está inativo porque está a ser exibida uma caixa de diálogo.

  • MSGF_MENU O sistema está inativo porque está a ser exibido um menu.

pWho
Especifica um ponteiro para a caixa de diálogo (se nWhy for MSGF_DIALOGBOX), ou para a janela que contém o menu apresentado (se nWhy for MSGF_MENU). Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

Uma caixa de diálogo ou menu modal entra em estado de inatividade quando não há mensagens à espera na sua fila depois de ter processado uma ou mais mensagens anteriores.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnEnterMenuLoop

A estrutura chama a esta função membro quando um laço modal de menu é introduzido.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Parâmetros

bIsTrackPopupMenu
Especifica se o menu envolvido é um menu pop-up. Tem um valor não nulo se a função for bem-sucedida; caso contrário, 0.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnEnterSizeMove

A estrutura chama esta função membro uma vez depois de a janela afetada entrar num ciclo modal em movimento ou dimensionamento.

afx_msg void OnEnterSizeMove();

Observações

Este método recebe a WM_ENTERSIZEMOVE notificação, que é descrita no SDK do Windows.

Uma janela entra num ciclo modal em movimento ou dimensionamento quando o utilizador clica na barra de título ou na borda de dimensionamento da janela, ou quando a janela passa a WM_SYSCOMMAND mensagem para a CWnd::DefWindowProc função e o parâmetro wParam dessa mensagem especifica SC_MOVE ou SC_SIZE.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnEraseBkgnd

A estrutura chama esta função membro quando o CWnd fundo do objeto precisa de ser apagado (por exemplo, quando redimensionado).

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

Parâmetros

pDC
Especifica o objeto de contexto do dispositivo.

Valor de retorno

Diferente de zero se apagar o fundo; caso contrário, 0.

Observações

É chamado para preparar uma região invalidada para pintura.

A implementação padrão apaga o fundo usando o pincel de fundo da classe window especificado pelo hbrBackground membro da estrutura da classe window.

Se o hbrBackground membro for NULL, a sua versão OnEraseBkgnd sobreposta de deve apagar a cor de fundo. A sua versão também deve alinhar a origem do pincel pretendido com as CWnd coordenadas, chamando UnrealizeObject primeiro o pincel e depois selecionando o pincel.

Um overriden OnEraseBkgnd deve devolver um valor diferente de zero em resposta a WM_ERASEBKGND se processa a mensagem e apaga o fundo; isto indica que não é necessário apagar mais. Se devolver 0, a janela permanecerá marcada como necessitando de ser apagada. (Normalmente, isto significa que o fErase elemento da PAINTSTRUCT estrutura será TRUE.)

O Windows assume que o fundo é calculado com o MM_TEXT modo de mapeamento. Se o contexto do dispositivo estiver a usar qualquer outro modo de mapeamento, a área apagada pode não estar dentro da parte visível da área do cliente.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnExitMenuLoop

A estrutura chama esta função membro quando um ciclo modal de menu é encerrado.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Parâmetros

bIsTrackPopupMenu
Especifica se o menu envolvido é um menu pop-up. Tem um valor não nulo se a função for bem-sucedida; caso contrário, 0.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnExitSizeMove

A estrutura chama esta função membro uma vez após a janela afetada sair de um ciclo modal em movimento ou dimensionamento.

afx_msg void OnExitSizeMove();

Observações

Este método recebe a WM_EXITSIZEMOVE notificação, que é descrita no SDK do Windows.

Uma janela entra num ciclo modal em movimento ou dimensionamento quando o utilizador clica na barra de título ou na borda de dimensionamento da janela, ou quando a janela passa a WM_SYSCOMMAND mensagem para a CWnd::DefWindowProc função e o wParam parâmetro dessa mensagem especifica SC_MOVE ou SC_SIZE.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnFontChange

Todas as janelas de topo no sistema recebem uma OnFontChange chamada do framework após a aplicação alterar o conjunto de recursos de fontes.

afx_msg void OnFontChange();

Observações

Uma aplicação que adicione ou remova fontes do sistema (por exemplo, através da AddFontResource função ou RemoveFontResource Windows) deve enviar a WM_FONTCHANGE mensagem para todas as janelas de nível superior.

Para enviar esta mensagem, use a SendMessage função do Windows com o hWnd parâmetro definido como HWND_BROADCAST.

CWnd::OnGetDlgCode

É solicitado um controlo para que o controlo possa processar seta e teclas TAB por si próprio.

afx_msg UINT OnGetDlgCode();

Valor de retorno

Um ou mais dos seguintes valores, indicando que tipo de entrada a aplicação processa:

  • DLGC_BUTTON Botão (genérico).

  • DLGC_DEFPUSHBUTTON Botão padrão de pressão.

  • DLGC_HASSETSEL EM_SETSEL mensagens.

  • DLGC_UNDEFPUSHBUTTON Sem processamento padrão de botões. (Uma aplicação pode usar este flag com DLGC_BUTTON para indicar que processa a introdução de botões, mas depende do sistema para o processamento padrão de botões.)

  • DLGC_RADIOBUTTON Botão de rádio.

  • DLGC_STATIC Controlo estático.

  • DLGC_WANTALLKEYS Toda a entrada do teclado.

  • DLGC_WANTARROWS Teclas de seta.

  • DLGC_WANTCHARS WM_CHAR mensagens.

  • DLGC_WANTMESSAGE Toda a entrada do teclado. A aplicação transmite esta mensagem ao controlo.

  • DLGC_WANTTAB Tecla TAB.

Observações

Normalmente, o Windows trata de toda a entrada por setas e teclas TAB para um CWnd controlo. Ao sobrepor OnGetDlgCode, um CWnd controlo pode escolher um tipo particular de entrada para processar a si próprio.

As funções padrão OnGetDlgCode para as classes de controlo predefinidas retornam um código apropriado para cada classe.

CWnd::OnGetMinMaxInfo

O framework chama esta função membro sempre que o Windows precisa de saber a posição ou dimensões maximizadas, ou o tamanho mínimo ou máximo de rastreamento.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Parâmetros

lpMMI
Aponta para uma MINMAXINFO estrutura que contém informação sobre o tamanho e posição maximizados de uma janela e o seu tamanho mínimo e máximo de rastreamento. Para mais informações sobre esta estrutura, consulte a MINMAXINFO estrutura.

Observações

O tamanho máximo é o tamanho da janela quando as suas bordas estão totalmente estendidas. O tamanho máximo de rastreamento da janela é o maior tamanho de janela que pode ser alcançado usando as bordas para dimensionar a janela. O tamanho mínimo de tracking da janela é o menor tamanho de janela que pode ser alcançado usando as bordas para dimensionar a janela.

O Windows preenche um array de pontos especificando valores padrão para as várias posições e dimensões. A aplicação pode alterar estes valores em OnGetMinMaxInfo.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnHelp

Trata da Ajuda F1 dentro da aplicação (usando o contexto atual).

afx_msg void OnHelp();

Observações

Consulte CWinApp::OnHelp para obter mais informações.

CWnd::OnHelpFinder

Trata dos ID_HELP_FINDER comandos e ID_DEFAULT_HELP .

afx_msg void OnHelpFinder();

Observações

Consulte CWinApp::OnHelpFinder para obter mais informações.

CWnd::OnHelpIndex

Trata do ID_HELP_INDEX comando e fornece um tópico de Ajuda por defeito.

afx_msg void OnHelpIndex();

Observações

Consulte CWinApp::OnHelpIndex para obter mais informações.

CWnd::OnHelpInfo

Chamada pelo framework quando o utilizador pressiona a tecla F1.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Parâmetros

lpHelpInfo
Apontador para uma HELPINFO estrutura que contenha informação sobre o item do menu, controlo, caixa de diálogo ou janela para a qual se solicita ajuda.

Valor de retorno

Retorna TRUE se uma janela tiver o foco do teclado ou se um menu estiver ativo dentro de uma janela. Se nenhuma janela tiver o foco do teclado, devolve FALSE.

Observações

Se um menu estiver ativo quando F1 é pressionado, WM_HELP é enviado para a janela associada ao menu; caso contrário, WM_HELP é enviado para a janela onde o teclado está focado. Se nenhuma janela tiver o foco do teclado, WM_HELP é enviado para a janela atualmente ativa.

CWnd::OnHelpUsing

Trata da ID_HELP_USING ordem.

afx_msg void OnHelpUsing();

Observações

Consulte CWinApp::OnHelpUsing para obter mais informações.

CWnd::OnHotKey

O framework chama esta função membro quando o utilizador pressiona uma tecla de atalho a nível do sistema.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Parâmetros

nHotKeyId
[dentro] Identificador para a tecla de atalho que gerou a mensagem. Se a mensagem foi gerada por uma tecla de atalho definida pelo sistema, este parâmetro será um dos seguintes valores:

  • IDHOT_SNAPDESKTOP - A tecla de atalho do snap desktop era pressionada.
  • IDHOT_SNAPWINDOW - A tecla de atalho da janela de encaixe foi pressionada.

nKey1
[dentro] Uma combinação bit a bit (OR) de flags que indicam as teclas pressionadas em combinação com a tecla especificada pelo nKey2 parâmetro. Os valores possíveis são:

  • MOD_ALT - Qualquer tecla ALT estava pressionada.
  • MOD_CONTROL - Qualquer tecla CTRL estava pressionada.
  • MOD_SHIFT - Qualquer tecla SHIFT era mantida pressionada.
  • MOD_WIN - Qualquer tecla WINDOWS estava pressionada. Estas teclas estão identificadas com o logótipo do Microsoft Windows.

nKey2
[dentro] O código da tecla virtual da tecla de atalho.

Observações

Este método recebe a WM_HOTKEY notificação, que é descrita no SDK do Windows. Esta mensagem é colocada no topo da fila de mensagens associada ao thread que registou a tecla de atalho. Use a RegisterHotKey função para registar uma tecla de atalho em todo o sistema.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnHScroll

A estrutura chama a este elemento função quando o utilizador clica na barra de scroll horizontal de uma janela.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parâmetros

nSBCode
Especifica um código de barras de scroll que indica o pedido de scroll do utilizador. Este parâmetro pode ser um dos seguintes:

  • SB_LEFT Desloce-se para a esquerda.

  • SB_ENDSCROLL Fim do scroll.

  • SB_LINELEFT Desloca para a esquerda.

  • SB_LINERIGHT Desloca-te para a direita.

  • SB_PAGELEFT Desloca uma página para a esquerda.

  • SB_PAGERIGHT Role uma página para a direita.

  • SB_RIGHT Desloca-te para a direita.

  • SB_THUMBPOSITION Desça até à posição absoluta. A posição atual é especificada pelo nPos parâmetro.

  • SB_THUMBTRACK Arrasta a caixa de scroll para a posição especificada. A posição atual é especificada pelo nPos parâmetro.

nPos
Especifica a posição da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION ou SB_THUMBTRACK; caso contrário, não usado. Dependendo do alcance inicial do pergaminho, nPos pode ser negativo e deve ser lançado para um int se necessário.

pScrollBar
Se a mensagem de scroll veio de um controlo de barra de scroll, contém um ponteiro para o controlo. Se o utilizador clicou na barra de scroll de uma janela, este parâmetro é NULL. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

O SB_THUMBTRACK código de barras de deslocamento é normalmente usado por aplicações que fornecem algum feedback enquanto a caixa de deslocamento está a ser arrastada.

Se uma aplicação deslocar o conteúdo controlado pela barra de deslocamento, deve também redefinir a posição da caixa de deslocamento com a SetScrollPos função membro.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

Example

void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
   // Get the minimum and maximum scroll-bar positions.
   int minpos;
   int maxpos;
   GetScrollRange(SB_HORZ, &minpos, &maxpos);
   maxpos = GetScrollLimit(SB_HORZ);

   // Get the current position of scroll box.
   int curpos = GetScrollPos(SB_HORZ);

   // Determine the new position of scroll box.
   switch (nSBCode)
   {
   case SB_LEFT: // Scroll to far left.
      curpos = minpos;
      break;

   case SB_RIGHT: // Scroll to far right.
      curpos = maxpos;
      break;

   case SB_ENDSCROLL: // End scroll.
      break;

   case SB_LINELEFT: // Scroll left.
      if (curpos > minpos)
         curpos--;
      break;

   case SB_LINERIGHT: // Scroll right.
      if (curpos < maxpos)
         curpos++;
      break;

   case SB_PAGELEFT: // Scroll one page left.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos > minpos)
         curpos = max(minpos, curpos - (int)info.nPage);
   }
   break;

   case SB_PAGERIGHT: // Scroll one page right.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos < maxpos)
         curpos = min(maxpos, curpos + (int)info.nPage);
   }
   break;

   case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
      curpos = nPos;      // of the scroll box at the end of the drag operation.
      break;

   case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
      curpos = nPos;   // position that the scroll box has been dragged to.
      break;
   }

   // Set the new position of the thumb (scroll box).
   SetScrollPos(SB_HORZ, curpos);

   CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

CWnd::OnHScrollClipboard

A função de membro do OnHScrollClipboard proprietário da Área de Transferência é chamada pelo visualizador da Área de Transferência quando os dados da Área de Transferência têm o CF_OWNERDISPLAY formato e há um evento na barra de deslocação horizontal do visualizador da Área de Transferências.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parâmetros

pClipAppWnd
Especifica um ponteiro para uma janela de visualização de prancheta. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

nSBCode
Especifica um dos seguintes códigos de barras de deslocamento na palavra de ordem baixa:

  • SB_BOTTOM Desça para o canto inferior direito.

  • SB_ENDSCROLL Fim do scroll.

  • SB_LINEDOWN Desça uma linha para baixo.

  • SB_LINEUP Role uma linha para cima.

  • SB_PAGEDOWN Desça uma página para baixo.

  • SB_PAGEUP Desliza uma página para cima.

  • SB_THUMBPOSITION Desloca até à posição absoluta. A posição atual é fornecida em nPos.

  • SB_TOP Desloca até ao canto superior esquerdo.

nPos
Contém a posição da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION; caso contrário, não utilizado.

Observações

O proprietário deve deslocar a imagem do Clipboard, invalidar a secção apropriada e atualizar os valores da barra de deslocamento.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnIconEraseBkgnd

A estrutura chama esta função de elemento para um objeto minimizado (icónico) CWnd quando o fundo do ícone deve ser preenchido antes de o pintar.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

Parâmetros

pDC
Especifica o objeto de contexto do dispositivo do ícone. Pode ser temporário e não deve ser guardado para uso posterior.

Observações

CWnd recebe esta chamada apenas se um ícone de classe for definido para a implementação padrão da janela; caso contrário OnEraseBkgnd , é chamado.

A DefWindowProc função membro preenche o fundo do ícone com o pincel de fundo da janela principal.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnInitMenu

A estrutura chama esta função membro quando um menu está prestes a tornar-se ativo.

afx_msg void OnInitMenu(CMenu* pMenu);

Parâmetros

pMenu
Especifica o menu a inicializar. Pode ser temporário e não deve ser guardado para uso posterior.

Observações

OnInitMenu é chamada quando o utilizador clica num item na barra de menu ou pressiona uma tecla de menu. Substitua esta função membro para modificar o menu antes de ser exibido.

OnInitMenu é chamada apenas uma vez, quando um menu é acedido pela primeira vez (por exemplo, quando um utilizador clica num item na barra de menus). Este método não fornece informações sobre os itens do menu. À medida que o utilizador se move para itens dentro do menu (por exemplo, movendo o rato por vários itens do menu), a função não é chamada novamente. Quando o utilizador sai do menu (por exemplo, clicando na área do cliente da aplicação) e mais tarde clica num item na barra de menus, a função será chamada novamente.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnInitMenuPopup

O framework chama esta função membro quando um menu pop-up está prestes a ativar-se.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Parâmetros

pPopupMenu
Especifica o objeto do menu pop-up. Pode ser temporário e não deve ser guardado para uso posterior.

nIndex
Especifica o índice do menu pop-up no menu principal.

bSysMenu
TRUE se o menu pop-up for o menu Control; caso contrário FALSE.

Observações

Isto permite que uma aplicação modifique o menu pop-up antes de este ser exibido sem alterar todo o menu.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnInputDeviceChange

A estrutura chama esta função membro quando um dispositivo de E/S é adicionado ou removido do sistema.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Parâmetros

uFlag
[dentro] Esta bandeira pode conter os seguintes valores:

  • GIDC_ARRIVAL - Foi adicionado um novo dispositivo ao sistema.
  • GIDC_REMOVAL - Um dispositivo foi removido do sistema.

Observações

Este método recebe a WM_INPUT_DEVICE_CHANGE notificação, que é descrita no SDK do Windows. É uma mensagem genérica de dispositivo de entrada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnInputLangChange

O framework chama este membro para a janela mais afetada depois de a linguagem de entrada da aplicação ter sido alterada.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Parâmetros

nCharSet
[dentro] O conjunto de personagens do novo local. Para mais informações, consulte o lfCharSet parâmetro da LOGFONT estrutura.

nLocaleId
[dentro] O identificador local de entrada. Para mais informações, veja Constantes e Strings de Identificadores de Linguagem.

Observações

Este método recebe a WM_INPUTLANGCHANGE mensagem de notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnInputLangChangeRequest

A estrutura chama este elemento para janela com o foco quando o utilizador escolhe uma nova linguagem de entrada.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Parâmetros

nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indica que a nova localização foi selecionada a partir da localização anterior ou seguinte na lista instalada de locais, ou que o layout do teclado da nova localização de entrada pode ser usado com o conjunto de caracteres do sistema. Os valores possíveis são INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARDe INPUTLANGCHANGE_SYSCHARSET.

nLocaleId
[dentro] O identificador local de entrada. Para mais informações, veja Constantes e Strings de Identificadores de Linguagem.

Observações

Este método recebe a WM_INPUTLANGCHANGEREQUEST mensagem de notificação, que é descrita no SDK do Windows. Esta mensagem é publicada quando o utilizador escolhe uma nova linguagem de entrada com uma tecla de atalho especificada na aplicação do painel de controlo do teclado, ou a partir do indicador na barra de tarefas do sistema.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnKeyDown

A estrutura chama esta função membro quando uma tecla não do sistema é pressionada.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de chave virtual da chave dada. Para uma lista de códigos de chave virtuais padrão, veja Winuser.h

nRepCnt
Contagem de repetições (o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada).

nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:

Valor Description
0-7 Código de varrimento (valor dependente do OEM).
8 Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida).
9-10 Não utilizado.
11-12 Usado internamente pelo Windows.
13 Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0).
14 Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa).
15 Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada).

Para uma WM_KEYDOWN mensagem, o bit de transição de chave (bit 15) é 0 e o bit de código de contexto (bit 13) é 0.

Observações

Uma tecla não-sistema é uma tecla de teclado que é pressionada quando a tecla ALT não está pressionada ou uma tecla de teclado que é pressionada quando CWnd tem o foco de entrada.

Devido à repetição automática, pode ocorrer mais do que uma OnKeyDown chamada antes de ser feita uma OnKeyUp chamada de função membro. O bit que indica o estado anterior da chave pode ser usado para determinar se a OnKeyDown chamada é a transição de primeiro down ou uma transição repetida para baixo.

Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnKeyUp

O framework chama esta função membro quando uma chave não do sistema é libertada.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de chave virtual da chave dada. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

nRepCnt
Contagem de repetições (o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada).

nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:

Valor Description
0-7 Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta.
8 Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0).
9-10 Não utilizado.
11-12 Usado internamente pelo Windows.
13 Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0).
14 Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa).
15 Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada).

Para uma WM_KEYUP mensagem, o bit de transição de chave (bit 15) é 1 e o bit de código de contexto (bit 13) é 0.

Observações

Uma tecla não-sistema é uma tecla de teclado que é pressionada quando a tecla ALT não está pressionada ou uma tecla de teclado que é pressionada quando tem CWnd o foco de entrada.

Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnKillFocus

O framework chama esta função membro imediatamente antes de perder o foco de entrada.

afx_msg void OnKillFocus(CWnd* pNewWnd);

Parâmetros

pNewWnd
Especifica um ponteiro para a janela que recebe o foco de entrada (pode ser NULL ou pode ser temporário).

Observações

Se o CWnd objeto estiver a exibir um caret, o caret deve ser destruído neste ponto.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnLButtonDblClk

A estrutura chama esta função membro quando o utilizador faz duplo clique no botão esquerdo do rato.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_LBUTTON Define se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Só as janelas com este CS_DBLCLKSWNDCLASS estilo recebem OnLButtonDblClk chamadas. Este é o padrão para as janelas da Microsoft Foundation Class. O Windows chama OnLButtonDblClk quando o utilizador pressiona, larga e depois pressiona novamente o botão esquerdo do rato dentro do limite de tempo de duplo clique do sistema. Clicar duas vezes no botão esquerdo do rato gera, na verdade, quatro eventos: WM_LBUTTONDOWN, WM_LBUTTONUP mensagens, a WM_LBUTTONDBLCLK chamada e outra WM_LBUTTONUP mensagem quando o botão é libertado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnLButtonDown

A estrutura chama esta função membro quando o utilizador pressiona o botão esquerdo do rato.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_LBUTTON Define se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnLButtonUp

A estrutura chama esta função membro quando o utilizador solta o botão esquerdo do rato.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMButtonDblClk

A estrutura chama esta função membro quando o utilizador faz duplo clique no botão do meio do rato.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_LBUTTON Define se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Só as janelas com este CS_DBLCLKSWNDCLASS estilo recebem OnMButtonDblClk chamadas. Este é o padrão para todas as janelas da Microsoft Foundation Class. O Windows gera uma OnMButtonDblClk chamada quando o utilizador pressiona, larga e depois pressiona novamente o botão do meio do rato dentro do limite de tempo de duplo clique do sistema. Fazer duplo clique no botão do meio do rato gera, na verdade, quatro eventos: WM_MBUTTONDOWN e WM_MBUTTONUP mensagens, a WM_MBUTTONDBLCLK chamada e outra WM_MBUTTONUP mensagem.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMButtonDown

A estrutura chama esta função membro quando o utilizador pressiona o botão do meio do rato.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_LBUTTON Define se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMButtonUp

A estrutura chama esta função membro quando o utilizador solta o botão do meio do rato.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_LBUTTON Define se o botão esquerdo do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMDIActivate

A estrutura chama a esta função membro para a janela filho que está a ser desativada e a janela filha que está a ser ativada.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Parâmetros

bActivate
TRUE se a criança está a ser ativada e FALSE se está a ser desativada.

pActivateWnd
Contém um ponteiro para a janela filho MDI a ser ativada. Quando recebida por uma janela filho MDI, pActivateWnd contém um ponteiro para a janela filha que está a ser ativada. Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.

pDeactivateWnd
Contém um ponteiro para a janela filho do MDI a ser desativada. Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

Uma janela filho MDI é ativada independentemente da janela de quadro MDI. Quando o frame se torna ativo, a janela filho que foi ativada pela última vez com uma OnMDIActivate chamada recebe uma WM_NCACTIVATE mensagem para desenhar um frame de janela ativo e uma barra de legendas, mas não recebe outra OnMDIActivate chamada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMeasureItem

A estrutura chama esta função membro pela estrutura para o proprietário de um botão de desenho do proprietário, caixa de combo, caixa de lista ou item de menu quando o controlo é criado.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

Parâmetros

nIDCtl
A ID do controle.

lpMeasureItemStruct
Aponta para uma MEASUREITEMSTRUCT estrutura de dados que contém as dimensões do controlo proprietário-draw.

Observações

Sobrepor esta função membro e preencher a MEASUREITEMSTRUCT estrutura de dados apontada por lpMeasureItemStruct e retornar; isto informa o Windows das dimensões do controlo e permite que o Windows processe corretamente a interação do utilizador com o controlo.

Se for criada uma caixa de lista ou de combinação com o LBS_OWNERDRAWVARIABLE estilo ou CBS_OWNERDRAWVARIABLE , o framework chama esta função para o proprietário de cada item no controlo; caso contrário, esta função é chamada uma vez.

O Windows inicia a chamada para OnMeasureItem o proprietário das caixas combinadas e caixas de lista criadas com o OWNERDRAWFIXED estilo antes de enviar a WM_INITDIALOG mensagem. Como resultado, quando o proprietário recebe esta chamada, o Windows ainda não determinou a altura e largura da fonte usada no controlo; Chamadas de funções e cálculos que requerem estes valores devem ocorrer na função principal da aplicação ou biblioteca.

Se o item a ser medido for um CMenu, CListBox ou CComboBox objeto, então a MeasureItem função virtual da classe apropriada é chamada. Substitua a MeasureItem função membro da classe do controlo apropriada para calcular e definir o tamanho de cada item.

OnMeasureItemserá chamada apenas se a classe do controlo for criada em tempo de execução, ou se for criada com o LBS_OWNERDRAWVARIABLE estilo ou.CBS_OWNERDRAWVARIABLE Se o controlo for criado pelo editor de diálogo, OnMeasureItem não será chamado. Isto deve-se ao facto de a WM_MEASUREITEM mensagem ser enviada cedo no processo de criação do controlo. Se subclassificares usando DDX_Control, SubclassDlgItem, ou SubclassWindow, a subclasse geralmente ocorre após o processo de criação. Portanto, não há forma de gerir a WM_MEASUREITEM mensagem na função do OnChildNotify controlo, que é o mecanismo que a MFC utiliza para implementar ON_WM_MEASUREITEM_REFLECT.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMenuChar

O framework chama esta função membro quando o utilizador pressiona um carácter mnemónico do menu que não corresponde a nenhum dos mnemónicos predefinidos no menu atual.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

Parâmetros

nChar
Dependendo das definições de compilação, especifica o carácter ANSI ou Unicode que o utilizador pressionou.

nFlags
Contém a MF_POPUP flag se o menu for um menu pop-up. Contém a MF_SYSMENU bandeira se o menu for um menu Controlo.

pMenu
Contém um ponteiro para o .CMenu O ponteiro pode ser temporário e não deve ser guardado.

Valor de retorno

A palavra de ordem superior do valor de retorno deve conter um dos seguintes códigos de comando:

Valor Description
0 Diz ao Windows para descartar o carácter que o utilizador pressionou e cria um breve bip no altifalante do sistema.
1 Diz ao Windows para fechar o menu atual.
2 Informa o Windows que a palavra de ordem baixa do valor de retorno contém o número do item para um item específico. Este item é selecionado pelo Windows.

A palavra de ordem baixa é ignorada se a palavra de ordem alta contiver 0 ou 1. As aplicações devem processar esta mensagem quando são usadas teclas aceleradoras (atalhos) para selecionar bitmaps colocados num menu.

Observações

É enviado para o CWnd dono do menu. OnMenuChar também é chamada quando o utilizador pressiona ALT e qualquer outra tecla, mesmo que a tecla não corresponda a um carácter mnemónico. Neste caso, pMenu aponta para o menu pertencente ao CWnd, e nFlags é 0.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMenuDrag

A estrutura chama esta função membro do menu atual de arrastar e largar quando o utilizador começa a arrastar um item do menu.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Parâmetros

nPos
[dentro] A posição do índice do item do menu quando a operação de arrastar começa.

pMenu
[dentro] Aponta para o CMenu objeto que contém o item do menu.

Valor de retorno

Valor de retorno Meaning
MND_CONTINUE O menu deve permanecer ativo. Se o rato for libertado, deve ser ignorado.
MND_ENDMENU O menu devia estar terminado.

Observações

Este método recebe a WM_MENUDRAG notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMenuGetObject

A estrutura chama esta função membro do menu atual de arrastar e largar quando o cursor do rato entra num item do menu ou se move do centro do item para o topo ou base do item.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Parâmetros

pMenu
[dentro] Apontador para uma MENUGETOBJECTINFO estrutura que contém informação sobre o menu de arrastar e largar onde está o cursor do rato.

Valor de retorno

Valor de retorno Meaning
MNGO_NOERROR Um ponteiro de interface que suporta operações de drop-and-drag é devolvido no pvObj membro da MENUGETOBJECTINFO estrutura. Atualmente, apenas a IDropTarget interface é suportada.
MNGO_NOINTERFACE Não é suportada qualquer interface de largar e arrastar.

Observações

Este método recebe a WM_MENUGETOBJECT notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMenuRButtonUp

A estrutura chama esta função membro quando o utilizador solta o botão direito do rato enquanto o cursor está num item do menu.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Parâmetros

nPos
[dentro] A posição do índice do item do menu quando o botão direito do rato era libertado.

pMenu
[dentro] Aponta para o CMenu objeto que contém o item do menu.

Observações

Este método recebe a WM_MENURBUTTONUP notificação, que é descrita no SDK do Windows. A WM_MENURBUTTONUP mensagem permite que uma aplicação forneça um menu sensível ao contexto para o item do menu especificado na mensagem.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMenuSelect

Se o CWnd objeto estiver associado a um menu, OnMenuSelect é chamado pela framework quando o utilizador seleciona um item do menu.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

Parâmetros

nItemID
Identifica o item selecionado. Se o item selecionado for um item do menu, nItemID contém o ID do item do menu. Se o item selecionado contém um menu pop-up, nItemID contém o índice do menu pop-up e hSysMenu contém o handle do menu principal (clicado).

nFlags
Contém uma combinação das seguintes flags do menu:

  • MF_BITMAP Item é um bitmap.

  • MF_CHECKED O item está verificado.

  • MF_DISABLED Item desativado.

  • MF_GRAYED O item está escurecido.

  • MF_MOUSESELECT O item foi selecionado com um rato.

  • MF_OWNERDRAW O item é um item que o proprietário saca.

  • MF_POPUP O item contém um menu pop-up.

  • MF_SEPARATOR Item é um separador menu-item.

  • MF_SYSMENU O item está contido no menu Controlo.

hSysMenu
Se nFlags contém MF_SYSMENU, identifica o menu associado à mensagem. Se nFlags contém MF_POPUP, identifica a alavanca do menu principal. Se nFlags não contém nem MF_SYSMENU , MF_POPUPnão é utilizada.

Observações

Se nFlags contém 0xFFFF e hSysMenu contém 0, o Windows fechou o menu porque o utilizador pressionou a tecla ESC ou clicou fora do menu.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMouseActivate

A estrutura chama esta função membro quando o cursor está numa janela inativa e o utilizador pressiona um botão do rato.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

Parâmetros

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 guardado.

nHitTest
Especifica o indicativo do teste de acesso . Um teste de acerto é um teste que determina a localização do cursor.

message
Especifica o número da mensagem do mouse.

Valor de retorno

Especifica se deve ativar e CWnd descartar o evento do rato. Deve ser um dos seguintes valores:

  • MA_ACTIVATE Ativar CWnd o objeto.

  • MA_NOACTIVATE Não ative CWnd o objeto.

  • MA_ACTIVATEANDEAT Ativa CWnd o objeto e descarta o evento do rato.

  • MA_NOACTIVATEANDEAT Não ative CWnd o objeto e descarte o evento do rato.

Observações

A implementação por defeito passa esta mensagem para a janela principal antes de qualquer processamento ocorrer. Se a janela pai devolver TRUE, o processamento é interrompido.

Para uma descrição dos indicativos individuais dos testes de ataque, veja a OnNcHitTest função membro

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

Example

// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
   OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
   return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}

CWnd::OnMouseHover

O framework chama esta função membro quando o cursor paira sobre a área cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.

point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.

Observações

Este método recebe a WM_MOUSEHOVER notificação, que é descrita no SDK do Windows.

O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.

Tecla Modificadora Description
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do rato é pressionado.
MK_MBUTTON O botão do meio do rato é pressionado.
MK_RBUTTON O botão direito do rato é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMouseHWheel

A estrutura chama este elemento quando a roda horizontal do rato está inclinada ou rodada.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parâmetros

nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada. Para uma lista de flags, consulte o subtítulo "Parâmetros da Mensagem" em Sobre a Entrada do Rato.

zDelta
[dentro] Indica a distância que a roda é rodada, expressa em múltiplos ou divisões de WHEEL_DELTA, que é 120. Um valor positivo indica que a roda foi rodada para a direita; um valor negativo indica que a roda foi rodada para a esquerda.

pt
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.

Observações

Este método recebe a WM_MOUSEHWHEEL mensagem de notificação, que é descrita no SDK do Windows. Esta mensagem é enviada para a janela que tem o foco quando a roda horizontal do rato é inclinada ou rodada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMouseLeave

A estrutura chama esta função membro quando o cursor sai da área cliente da janela especificada numa chamada anterior para TrackMouseEvent.

afx_msg void OnMouseLeave();

Observações

Este método recebe a WM_MOUSELEAVE notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMouseMove

A estrutura chama esta função membro quando o cursor do rato se move.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_LBUTTON Define se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Se o rato não for capturado, a WM_MOUSEMOVE mensagem é recebida pelo CWnd objeto por baixo do cursor do rato; caso contrário, a mensagem vai para a janela que capturou o rato.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMouseWheel

A estrutura chama a este elemento função à medida que o utilizador roda a roda do rato e encontra o próximo entalhe da roda.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Define se a tecla CTRL estiver desativada.

  • MK_LBUTTON Define se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver baixa.

zDelta
Indica distância rodada. O zDelta valor é expresso em múltiplos ou divisões de WHEEL_DELTA, que é 120. Um valor inferior a zero indica a rotação para trás (em direção ao utilizador), enquanto um valor superior a zero indica a rotação para a frente (afastando-se do utilizador). O utilizador pode reverter esta resposta alterando a definição do volante no software do rato. Consulte as Observações para mais informações sobre este parâmetro.

pt
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Valor de retorno

Diferente de zero se a rolagem da roda do rato estiver ativada; caso contrário, 0.

Observações

A menos que seja sobreposto, OnMouseWheel chama o padrão de WM_MOUSEWHEEL. O Windows encaminha automaticamente a mensagem para a janela de controlo ou filha que tem o foco. A função DefWindowProc Win32 propaga a mensagem pela cadeia de pais até à janela que a processa.

O zDelta parâmetro é um múltiplo de WHEEL_DELTA, que está definido em 120. Este valor é o limiar para uma ação ser realizada, e uma dessas ações (por exemplo, avançar um ental) deve ocorrer para cada delta.

WHEEL_DELTA foi definido para 120 para permitir rodas de resolução mais fina, como uma roda de rotação livre sem entalhes. Uma roda de resolução mais fina envia mais mensagens por rotação, mas cada mensagem tem um valor delta menor. Para usar tal roda, deve adicionar os valores de zDelta entrada até WHEEL_DELTA ser atingido (para obter a mesma resposta para uma dada rotação delta), ou deslocar linhas parciais em resposta às mensagens mais frequentes. Também podes escolher a granularidade do pergaminho e acumular deltas até WHEEL_DELTA atingir.

Substitua esta função de membro para fornecer o seu próprio comportamento de scroll na roda do rato.

Observação

OnMouseWheel gere mensagens para Windows NT 4.0 e versões posteriores. Para o tratamento de mensagens do Windows 95/98 ou Windows NT 3.51, use OnRegisteredMouseWheel.

CWnd::OnMove

O framework chama esta função membro depois de o CWnd objeto ter sido movido.

afx_msg void OnMove(
    int x,
    int y);

Parâmetros

x
Especifica a nova localização das coordenadas x no canto superior esquerdo da área do cliente. Esta nova localização é dada em coordenadas de ecrã para janelas sobrepostas e pop-up, e coordenadas pai-cliente para janelas filhas.

y
Especifica a nova localização da coordenada y no canto superior esquerdo da área do cliente. Esta nova localização é dada em coordenadas de ecrã para janelas sobrepostas e pop-up, e coordenadas pai-cliente para janelas filhas.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnMoving

O framework chama esta função membro enquanto o utilizador está a mover um CWnd objeto.

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

Parâmetros

nSide
A borda da janela a ser movida.

lpRect
Endereço da CRectouRECT estrutura que conterá as coordenadas do item.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcActivate

O framework chama a esta função membro quando a área não-cliente precisa de ser alterada para indicar um estado ativo ou inativo.

afx_msg BOOL OnNcActivate(BOOL bActive);

Parâmetros

bActive
Especifica quando uma barra de legenda ou ícone precisa de ser alterado para indicar um estado ativo ou inativo. O bActive parâmetro é TRUE se se pretende desenhar uma legenda ativa ou um ícone. É FALSE para uma legenda ou ícone inativo.

Valor de retorno

Diferente de zero se o Windows deve avançar com o processamento por defeito; 0 para evitar que a barra de legendas ou o ícone sejam desativados.

Observações

A implementação padrão desenha a barra de título e o texto da barra de título nas suas cores ativas se bActive for TRUE e nas suas cores inativas se bActive for FALSE.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcCalcSize

A estrutura chama esta função membro quando é necessário calcular o tamanho e a posição da área do cliente.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Parâmetros

bCalcValidRects
Especifica se a aplicação deve especificar qual a parte da área do cliente que contém informação válida. O Windows irá copiar a informação válida para a área especificada dentro da nova área do cliente. Se este parâmetro for VERDADEIRO, a aplicação deve especificar qual a parte da área do cliente válida.

lpncsp
Aponta para uma NCCALCSIZE_PARAMS estrutura de dados que contém informação que uma aplicação pode usar para calcular o novo tamanho e posição do CWnd retângulo (incluindo área do cliente, bordas, legendas, barras de deslocamento, e assim por diante).

Observações

Ao processar esta mensagem, uma aplicação pode controlar o conteúdo da área cliente da janela quando o tamanho ou a posição da janela muda.

Independentemente do valor de bCalcValidRects, o primeiro retângulo no array especificado pelo rgrc membro estrutural da NCCALCSIZE_PARAMS estrutura contém as coordenadas da janela. Para uma janela filha, as coordenadas são relativas à área cliente da janela principal. Para janelas de nível superior, as coordenadas são coordenadas de ecrã. Uma aplicação deve modificar o rgrc[0] retângulo para refletir o tamanho e a posição da área do cliente.

Os rgrc[1] retângulos e rgrc[2] são válidos apenas se bCalcValidRects for TRUE. Neste caso, o rgrc[1] retângulo contém as coordenadas da janela antes de esta ser movida ou redimensionada. O rgrc[2] retângulo contém as coordenadas da área cliente da janela antes de esta ser movida. Todas as coordenadas são relativas à janela ou ecrã principal.

A implementação padrão calcula o tamanho da área do cliente com base nas características da janela (presença de barras de deslocamento, menu, etc.) e coloca o resultado em lpncsp.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcCreate

O framework chama esta função membro antes da WM_CREATE mensagem quando o CWnd objeto é criado pela primeira vez.

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

Parâmetros

lpCreateStruct
Aponta para a CREATESTRUCT estrutura de dados para CWnd.

Valor de retorno

Diferente de zero se a área não-cliente for criada. É 0 se ocorrer um erro; A Create função irá regressar failure neste caso.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcDestroy

Chamada pelo framework quando a área não-cliente está a ser destruída, e é a última função membro chamada quando a janela do Windows é destruída.

afx_msg void OnNcDestroy();

Observações

A implementação padrão realiza alguma limpeza e depois chama a função PostNcDestroyvirtual membro .

Override PostNcDestroy se quiseres fazer a tua própria limpeza, como uma delete this operação. Se sobrescreveres OnNcDestroy, tens de chamar OnNcDestroy a tua classe base para garantir que qualquer memória internamente alocada para a janela é libertada.

CWnd::OnNcHitTest

O framework chama esta função membro para o CWnd objeto que contém o cursor (ou o CWnd objeto que usou a SetCapture função membro para captar a entrada do rato) sempre que o rato é movido.

afx_msg LRESULT OnNcHitTest(CPoint point);

Parâmetros

point
Contém as coordenadas x e y do cursor. Estas coordenadas são sempre coordenadas de ecrã.

Valor de retorno

Um dos valores enumerados do teste de acerto do rato. Veja WM_NCHITTEST a lista de valores.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcLButtonDblClk

A estrutura chama esta função membro quando o utilizador faz duplo clique no botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor. Veja WM_NCHITTEST a lista de valores.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Se for o caso, a WM_SYSCOMMAND mensagem é enviada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcLButtonDown

A estrutura chama esta função membro quando o utilizador pressiona o botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente do CWnd objeto.

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor. Veja WM_NCHITTEST a lista de valores.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Se apropriado, o WM_SYSCOMMAND é enviado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcLButtonUp

A estrutura chama esta função membro quando o utilizador solta o botão esquerdo do rato enquanto o cursor está numa área não cliente.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor. Veja WM_NCHITTEST a lista de valores.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Se for apropriado, WM_SYSCOMMAND é enviado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcMButtonDblClk

A estrutura chama esta função membro quando o utilizador faz duplo clique no botão do meio do rato enquanto o cursor está numa área não cliente.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcMButtonDown

O framework chama esta função membro quando o utilizador pressiona o botão do meio do rato enquanto o cursor está dentro de uma área não cliente.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcMButtonUp

O framework chama esta função membro quando o utilizador solta o botão do meio do rato enquanto o cursor está numa área não cliente.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcMouseHover

O framework chama esta função membro quando o cursor paira sobre a área não cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

point
[dentro] Um CPoint objeto que especifica as coordenadas x e y do cursor em relação ao canto superior esquerdo do ecrã.

Observações

Este método recebe a WM_NCMOUSEHOVER notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcMouseLeave

O framework chama esta função membro quando o cursor sai da área não cliente da janela especificada numa chamada anterior para TrackMouseEvent.

afx_msg void OnNcMouseLeave();

Observações

Este método recebe a WM_NCMOUSELEAVE notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcMouseMove

O framework chama esta função membro quando o cursor é movido dentro de uma área não cliente.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Se for o caso, a WM_SYSCOMMAND mensagem é enviada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcPaint

A estrutura chama a esta função membro quando a área não-cliente precisa de ser pintada.

afx_msg void OnNcPaint();

Observações

A implementação padrão pinta a moldura da janela.

Uma aplicação pode sobrescrever esta chamada e pintar a sua própria moldura personalizada da janela. A região de recorte é sempre retangular, mesmo que a forma do enquadramento seja alterada.

CWnd::OnNcRButtonDblClk

A estrutura chama esta função membro quando o utilizador faz duplo clique no botão direito do rato enquanto o cursor está dentro de uma área não cliente de CWnd.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcRButtonDown

A estrutura chama esta função membro quando o utilizador pressiona o botão direito do rato enquanto o cursor está dentro de uma área não cliente.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcRButtonUp

A estrutura chama esta função membro quando o utilizador solta o botão direito do rato enquanto o cursor está numa área não cliente.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.

point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcRenderingChanged

A estrutura chama este membro quando a política de renderização para a área não cliente mudou.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Parâmetros

bIsRendering
[dentro] TRUE se o Gestor de Janelas de Ambiente de Trabalho (DWM) estiver ativado para a área não cliente da janela; FALSE se a renderização estiver desativada.

Observações

Este método recebe a WM_DWMNCRENDERINGCHANGED notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcXButtonDblClk

A estrutura chama esta função membro quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parâmetros

nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse for duplamente clicado, ou XBUTTON2 se o segundo botão X estiver duplamente clicado.

point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.

Observações

Este método recebe a WM_XBUTTONDBLCLK notificação, que é descrita no SDK do Windows. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcXButtonDown

A estrutura chama esta função membro quando o utilizador pressiona XBUTTON1 o XBUTTON2 rato enquanto o cursor está na área não cliente de uma janela.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parâmetros

nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do rato é pressionado, ou XBUTTON2 se o segundo botão X é pressionado.

point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo do ecrã.

Observações

Este método recebe a WM_NCXBUTTONDOWN notificação, que é descrita no SDK do Windows. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNcXButtonUp

A estrutura chama esta função membro quando o utilizador solta XBUTTON1 o XBUTTON2 rato enquanto o cursor está na área não cliente de uma janela.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parâmetros

nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do rato é libertado, ou XBUTTON2 se o segundo botão X é libertado.

point
[dentro] Um CPoint objeto que especifica as coordenadas x e y do cursor em relação ao canto superior esquerdo do ecrã.

Observações

Este método recebe a WM_NCXBUTTONUP notificação, que é descrita no SDK do Windows. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNextMenu

A estrutura chama esta função membro quando a seta direita ou esquerda é usada para alternar entre a barra do menu e o menu do sistema.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Parâmetros

nKey
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada. Para uma lista de flags, consulte o subtítulo "Parâmetros da Mensagem" em Sobre a Entrada do Rato.

lpMdiNextMenu
[dentro] Apontar para uma MDINEXTMENU estrutura que contém informação sobre o menu a ativar.

Observações

Este método recebe a WM_UNINITMENUPOPUP notificação, que é descrita no SDK do Windows. Em resposta a esta mensagem, a sua aplicação pode definir o hmenuNext membro da MDINEXTMENU estrutura para especificar o menu para o qual mudar, e o hwndNext membro para especificar a janela para receber mensagens de notificação no menu.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnNotify

A estrutura chama a esta função membro para informar a janela pai de um controlo de que ocorreu um evento no controlo ou que este requer algum tipo de informação.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parâmetros

wParam
Identifica o controlo que envia a mensagem se a mensagem for de um controlo. Caso contrário, wParam é 0.

lParam
Apontador para uma estrutura de mensagem de notificação (NMHDR) que contém o código de notificação e informações adicionais. Para algumas mensagens de notificação, este parâmetro aponta para uma estrutura maior que tem a NMHDR estrutura como seu primeiro membro.

pResult
Apontador para uma LRESULT variável onde armazenar o código do resultado se a mensagem for tratada.

Valor de retorno

Uma aplicação devolve uma resposta diferente de zero se processar esta mensagem; caso contrário, 0.

Observações

OnNotify processa o mapa de mensagens para notificação de controlo.

Substitua esta função membro na sua classe derivada para tratar da WM_NOTIFY mensagem. Um override não processará o mapa da mensagem a menos que a classe OnNotify base seja chamada.

Para mais informações sobre a WM_NOTIFY mensagem, consulte a Nota Técnica 61 (TN061) ON_NOTIFY e WM_NOTIFY as mensagens. Também poderá interessar-se pelos tópicos relacionados descritos em Tópicos de Controlo e TN062, Reflexão de Mensagens para Controlos do Windows.

CWnd::OnNotifyFormat

A estrutura chama esta função membro para determinar se a janela atual aceita estruturas ANSI ou Unicode na WM_NOTIFY mensagem de notificação.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

Parâmetros

pWnd
[dentro] Um ponteiro para um CWnd objeto que representa a janela que envia a WM_NOTIFY mensagem. Este parâmetro é o ponteiro para um controlo se o nCommand parâmetro for NF_QUERY, ou o ponteiro para a janela pai de um controlo se nCommand for NF_REQUERY.

nCommand
[dentro] Um valor de comando que especializa a WM_NOTIFY mensagem. Os valores possíveis são:

  • NF_QUERY - A mensagem é uma consulta para determinar se estruturas ANSI ou Unicode devem ser usadas nas WM_NOTIFY mensagens. Esta mensagem é enviada de um controlo para a sua janela principal durante a criação de um controlo, e em resposta à NF_REQUERY forma dessa mensagem.
  • NF_REQUERY - A mensagem é um pedido para que um controlo envie a NF_QUERY forma desta mensagem para a sua janela principal. Este pedido é enviado a partir da janela pai e pede ao controlo que volte a interrogar o pai sobre o tipo de estrutura a usar nas WM_NOTIFY mensagens. Se o nCommand parâmetro for NF_REQUERY, o valor de retorno é o resultado da operação de reconsulta.

Valor de retorno

Valor de retorno Meaning
NFR_ANSI As estruturas ANSI devem ser usadas nas WM_NOTIFY mensagens enviadas pelo controlo.
NFR_UNICODE As estruturas Unicode devem ser usadas nas WM_NOTIFY mensagens enviadas pelo controlo.
0 Ocorreu um erro.

Observações

Este método recebe a WM_NOTIFYFORMAT notificação, que é descrita no SDK do Windows. WM_NOTIFY As mensagens são enviadas de um controlo comum para a sua janela pai, e da janela principal para o controlo comum.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnPaint

O framework chama esta função membro quando o Windows ou uma aplicação faz um pedido para repintar uma parte da janela de uma aplicação.

afx_msg void OnPaint();

Observações

A WM_PAINT mensagem é enviada quando a UpdateWindow função membro ou RedrawWindow é chamada.

Uma janela pode receber mensagens de pintura interna como resultado de chamar a RedrawWindow função membro com o RDW_INTERNALPAINT flag definido. Neste caso, a janela pode não ter uma região de atualização. Uma aplicação deve chamar a GetUpdateRect função membro para determinar se a janela tem uma região de atualização. Se GetUpdateRect devolver 0, a aplicação não deve chamar as BeginPaint funções membro and EndPaint .

É responsabilidade da aplicação verificar qualquer repintura ou atualização interna necessária, analisando as suas estruturas de dados internas para cada WM_PAINT mensagem, pois uma WM_PAINT mensagem pode ter sido causada tanto por uma área inválida como por uma chamada à RedrawWindow função membro com a RDW_INTERNALPAINT bandeira definida.

Uma mensagem interna WM_PAINT é enviada apenas uma vez pelo Windows. Depois de uma mensagem interna WM_PAINT ser enviada para uma janela pela UpdateWindow função membro, nenhuma outra WM_PAINT mensagem será enviada ou publicada até que a janela seja invalidada ou até que a RedrawWindow função membro seja chamada novamente com a RDW_INTERNALPAINT flag definida.

Para informações sobre como renderizar uma imagem em aplicações de documentos/visualizações, veja CView::OnDraw.

Para mais informações sobre a utilização WM_Paintde , veja os seguintes tópicos no SDK do Windows:

CWnd::OnPaintClipboard

A função de membro do OnPaintClipboard proprietário da Prancheta é chamada por um visualizador da Prancheta quando o proprietário da Prancheta colocou dados na Prancheta no CF_OWNERDISPLAY formato e a área de cliente do visualizador da Prancheta precisa de ser repintada.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Parâmetros

pClipAppWnd
Especifica um ponteiro para a janela de aplicação Clipboard. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

hPaintStruct
Identifica uma PAINTSTRUCT estrutura de dados que define que parte da área do cliente deve pintar.

Observações

Para determinar se toda a área do cliente ou apenas uma parte dela precisa de ser repintada, o proprietário da prancheta deve comparar as dimensões da área de desenho dada no rcpaint elemento da PAINTSTRUCT estrutura com as dimensões indicadas na OnSizeClipboard chamada mais recente da função do membro.

OnPaintClipboard deve usar a GlobalLock função Windows para bloquear a memória que contém a PAINTSTRUCT estrutura de dados e desbloquear essa memória com a GlobalUnlock função Windows antes de esta sair.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnPaletteChanged

A estrutura chama esta função membro para todas as janelas de topo depois de a janela com foco de entrada ter alcançado a sua paleta lógica, alterando assim a paleta do sistema.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

Parâmetros

pFocusWnd
Especifica um ponteiro para a janela que causou a alteração da paleta do sistema. O ponteiro pode ser temporário e não deve ser guardado.

Observações

Esta chamada permite que uma janela sem o foco de entrada, que utiliza uma paleta de cores, realize as suas paletas lógicas e atualize a sua área cliente.

A OnPaletteChanged função membro é chamada para todas as janelas de topo e sobrepostas, incluindo aquela que alterou a paleta do sistema e causou o envio da WM_PALETTECHANGED mensagem. Se qualquer janela filho usar uma paleta de cores, esta mensagem deve ser transmitida para ela.

Para evitar um loop infinito, a janela não deve realizar a sua paleta a menos que determine que pFocusWnd não contém um ponteiro para si própria.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnPaletteIsChanging

O framework chama esta função membro para informar as aplicações de que uma aplicação vai realizar a sua paleta lógica.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Parâmetros

pRealizeWnd
Especifica a janela que está prestes a concretizar a sua paleta lógica.

Observações

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnParentNotify

A função membro de OnParentNotify um pai é chamada pelo framework quando a sua janela filha é criada ou destruída, ou quando o utilizador clica num botão do rato enquanto o cursor está sobre a janela filha.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Parâmetros

message
Especifica o evento para o qual o pai está a ser notificado e o identificador da janela filha. O evento é a palavra de ordem baixa de message. Se o evento for WM_CREATE ou WM_DESTROY, a palavra de ordem superior de message é o identificador da janela filha; caso contrário, a palavra de ordem superior é indefinida. O evento (palavra de ordem baixa de message) pode ter qualquer um destes valores:

  • WM_CREATE A janela criança está a ser criada.

  • WM_DESTROY A janela da criança está a ser destruída.

  • WM_LBUTTONDOWN O utilizador colocou o cursor do rato sobre a janela filho e clicou no botão esquerdo do rato.

  • WM_MBUTTONDOWN O utilizador colocou o cursor do rato sobre a janela filho e clicou no botão do meio.

  • WM_RBUTTONDOWN O utilizador colocou o cursor do rato sobre a janela filho e clicou no botão direito do rato.

lParam
Se o evento (palavra de ordem baixa) de message for WM_CREATE ou WM_DESTROY, lParam especificar o handle da janela filha; caso contrário lParam contém as coordenadas x e y do cursor. A coordenada x está na palavra de ordem baixa e a coordenada y na palavra de ordem alta.

Observações

Quando a janela filha está a ser criada, o sistema chama OnParentNotify pouco antes de a Create função membro que cria a janela regressar. Quando a janela filha está a ser destruída, o sistema chama OnParentNotify antes de qualquer processamento para destruir a janela.

OnParentNotify é chamada para todas as janelas ancestrais da janela filha, incluindo a janela do nível superior.

Todas as janelas filhas, exceto aquelas que têm o WS_EX_NOPARENTNOTIFY estilo, enviam esta mensagem para as suas janelas mães. Por defeito, as janelas filhos numa caixa de diálogo têm o WS_EX_NOPARENTNOTIFY estilo, a menos que a janela filha tenha sido criada sem esse estilo ao chamar a CreateEx função membro.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnPowerBroadcast

A estrutura chama a este elemento função quando ocorre um evento de gestão de energia.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Parâmetros

nPowerEvent
[dentro] O evento de gestão de energia.

nEventData
[dentro] Dados específicos de eventos.

Valor de retorno

Se o evento for um pedido, volte TRUE para conceder o pedido ou BROADCAST_QUERY_DENY para negar o pedido.

Observações

Este método recebe a WM_POWERBROADCAST mensagem, que é descrita no SDK do Windows.

O nPowerEvent parâmetro especifica eventos como a bateria está baixa, o estado da energia mudou, a permissão para suspender a operação é solicitada ou negada, uma operação está a retomar automaticamente após um evento, o sistema está a suspender a operação ou uma operação está a retomar após a suspensão. O nEventData parâmetro normalmente não é utilizado. Para mais informações, consulte os wParam parâmetros e lParam da WM_POWERBROADCAST mensagem.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnQueryDragIcon

A estrutura chama esta função membro por uma janela minimizada (icónica) que não tem um ícone definido para a sua classe.

afx_msg HCURSOR OnQueryDragIcon();

Valor de retorno

Um valor de palavra dupla que contém um cursor ou alça de ícone na palavra de ordem baixa. O cursor ou ícone deve ser compatível com a resolução do driver do ecrã. Se a aplicação devolver NULL, o sistema mostra o cursor padrão. O valor padrão de retorno é NULL.

Observações

O sistema faz esta chamada para obter o cursor a ser exibido enquanto o utilizador arrasta a janela minimizada. Se uma aplicação devolver o nome de um ícone ou cursor, o sistema converte-o para preto e branco. Se uma aplicação devolver um handle, o handle deve identificar um cursor ou ícone monocromático compatível com a resolução do driver de visualização. A aplicação pode chamar as CWinApp::LoadCursor funções membros ou CWinApp::LoadIcon para carregar um cursor ou ícone a partir dos recursos no seu ficheiro executável e obter este handle.

CWnd::OnQueryEndSession

O framework chama esta função membro quando o utilizador escolhe terminar a sessão do Windows ou quando uma aplicação chama a ExitWindows função do Windows.

afx_msg BOOL OnQueryEndSession();

Valor de retorno

Diferente de zero se uma aplicação puder ser convenientemente desligada; caso contrário, 0.

Observações

Se alguma aplicação devolver 0, a sessão do Windows não termina. O Windows deixa de chamar OnQueryEndSession assim que uma aplicação devolve 0 e envia a WM_ENDSESSION mensagem com um valor de parâmetro de FALSE para qualquer aplicação que já tenha devolvedo não zero.

CWnd::OnQueryNewPalette

A estrutura chama a esta função membro quando o CWnd objeto está prestes a receber o foco de entrada, dando ao CWnd objeto a oportunidade de realizar a sua paleta lógica quando recebe o foco.

afx_msg BOOL OnQueryNewPalette();

Valor de retorno

Não nulo se o CWnd realizar a sua paleta lógica; caso contrário, 0.

CWnd::OnQueryOpen

A estrutura chama esta função membro quando o CWnd objeto é minimizado e o utilizador solicita que este CWnd seja restaurado ao seu tamanho e posição pré-minimizados.

afx_msg BOOL OnQueryOpen();

Valor de retorno

Não zero se o ícone puder ser aberto, ou 0 para impedir que o ícone seja aberto.

Observações

Enquanto estiver em OnQueryOpen, CWnd não deve realizar nenhuma ação que cause uma ativação ou mudança de foco (por exemplo, criar uma caixa de diálogo).

CWnd::OnQueryUIState

Chamado para recuperar o estado da interface de utilizador (UI) de uma janela.

afx_msg UINT OnQueryUIState();

Valor de retorno

O valor de retorno é NULL se os indicadores de foco e os aceleradores do teclado estiverem visíveis. Caso contrário, o valor de retorno pode ser um ou mais dos seguintes valores:

  • UISF_HIDEFOCUS Os indicadores de foco estão escondidos.

  • UISF_HIDEACCEL Aceleradores de teclado estão escondidos.

  • UISF_ACTIVE Windows XP: Um controlo deve ser desenhado no estilo usado para controlos ativos.

Observações

Esta função membro emula a funcionalidade da WM_QUERYUISTATE mensagem, conforme descrito no SDK do Windows.

CWnd::OnRawInput

A estrutura chama esta função membro quando a janela atual recebe entrada bruta.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Parâmetros

nInputCode
[dentro] Código de entrada que indica se a entrada ocorreu enquanto a aplicação estava em primeiro plano ou não. Em qualquer dos casos, a aplicação deve chamar CWnd::DefWindowProc para que o sistema possa realizar a limpeza. Este parâmetro pode ser um dos seguintes valores:

  • RIM_INPUT - A entrada ocorreu enquanto a aplicação estava em primeiro plano.
  • RIM_INPUTSINK - A entrada ocorreu enquanto a aplicação não estava em primeiro plano.

hRawInput
[dentro] Handle para uma RAWINPUT estrutura que contenha a entrada bruta do dispositivo.

Observações

Este método recebe a WM_INPUT notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnRButtonDblClk

A estrutura chama esta função membro quando o utilizador faz duplo clique no botão direito do rato.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Definir se a tecla CTRL estiver desativada.

  • MK_LBUTTON Definir se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver pressionada.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Só janelas com o estilo CS_DBLCLKS WNDCLASS podem receber OnRButtonDblClk chamadas. Este é o padrão para janelas dentro da Microsoft Foundation Class Library. O Windows chama OnRButtonDblClk quando o utilizador pressiona, larga e depois volta a pressionar o botão direito do rato dentro do limite de tempo de duplo clique do sistema. Fazer duplo clique no botão direito do rato gera, na verdade, quatro eventos: WM_RBUTTONDOWN e WM_RBUTTONUP mensagens, a OnRButtonDblClk chamada e outra mensagem WM_RBUTTONUP quando o botão é libertado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnRButtonDown

O framework chama esta função membro quando o utilizador pressiona o botão direito do rato.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Definir se a tecla CTRL estiver desativada.

  • MK_LBUTTON Definir se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_RBUTTON Define se o botão direito do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver pressionada.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnRButtonUp

A estrutura chama esta função membro quando o utilizador solta o botão direito do rato.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Definir se a tecla CTRL estiver desativada.

  • MK_LBUTTON Definir se o botão esquerdo do rato estiver pressionado.

  • MK_MBUTTON Define se o botão do meio do rato estiver pressionado.

  • MK_SHIFT Definir se a tecla SHIFT estiver pressionada.

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Observações

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnRegisteredMouseWheel

A estrutura chama a este elemento função à medida que o utilizador roda a roda do rato e encontra o próximo entalhe da roda.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

wParam
Posição horizontal do apontador.

lParam
Posição vertical do apontador.

Valor de retorno

Insignificante neste momento. Sempre zero.

Observações

A menos que seja sobreposto, OnRegisteredMouseWheel encaminha a mensagem para a janela apropriada (a janela pai com foco) e chama o WM_MOUSEWHEEL handler dessa janela.

Substitua esta função membro para fornecer o seu próprio encaminhamento de mensagens ou para alterar o comportamento de scroll da roda do rato.

Observação

OnRegisteredMouseWheel gere mensagens para Windows 95/98 e Windows NT 3.51. Para o tratamento de mensagens do Windows NT 4.0, use OnMouseWheel.

CWnd::OnRenderAllFormats

A função membro do OnRenderAllFormats proprietário do Clipboard é chamada pelo framework quando a aplicação proprietária está a ser destruída.

afx_msg void OnRenderAllFormats();

Observações

O proprietário da Área de Transferência deve renderizar os dados em todos os formatos que é capaz de gerar e passar um handle de dados para cada formato para a Área de Transferência chamando a SetClipboardData função Windows. Isto garante que a Área de Transferência contém dados válidos, mesmo que a aplicação que os renderizou tenha sido destruída. A aplicação deve chamar a OpenClipboard função membro antes de chamar a SetClipboardData função Windows e chamar a CloseClipboard função Windows depois.

CWnd::OnRenderFormat

A função membro do OnRenderFormat proprietário do Clipboard é chamada pelo framework quando um determinado formato com renderização retardada precisa de ser renderizado.

afx_msg void OnRenderFormat(UINT nFormat);

Parâmetros

nFormat
Especifica o formato da Área de Transferências.

Observações

O recetor deve renderizar os dados nesse formato e passá-los para a Área de Transferência chamando a SetClipboardData função Windows.

Não chame a OpenClipboard função membro nem a CloseClipboard função Windows a partir de dentro OnRenderFormatde .

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSessionChange

O framework chama esta função membro para notificar uma aplicação de uma alteração no estado da sessão.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Parâmetros

nSessionState
[dentro] Um código de estado descreve a alteração do estado da sessão.

nId
[dentro] Um identificador de sessão.

Observações

Este método recebe a WM_WTSSESSION_CHANGE notificação, que é descrita no SDK do Windows.

O nSessionState parâmetro especifica que uma sessão está ligada ou desligada da consola ou de um terminal remoto, que um utilizador está ligado ou desligado, que uma sessão está bloqueada ou desbloqueada, ou que uma sessão mudou para estado controlado remotamente. Para mais informações, consulte o wParam parâmetro da WM_WTSSESSION_CHANGE mensagem.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSetCursor

O framework chama esta função membro se a entrada do rato não for capturada e o rato causar movimento do cursor dentro do CWnd objeto.

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

Parâmetros

pWnd
Especifica um ponteiro para a janela que contém o cursor. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

nHitTest
Especifica o indicativo do teste de acesso . O teste de acerto determina a localização do cursor.

message
Especifica o número da mensagem do mouse.

Valor de retorno

Não zero para parar o processamento, ou 0 para continuar.

Observações

A implementação padrão chama as janelas OnSetCursor pais antes do processamento. Se a janela pai devolver TRUE, o processamento adicional é interrompido. Chamar a janela pai dá-lhe controlo sobre a definição do cursor numa janela filha.

A implementação padrão define o cursor para uma seta se não estiver na área do cliente ou para o cursor de classe registada se estiver.

Se nHitTest for HTERROR e message for uma mensagem de botão para baixo do rato, a MessageBeep função membro é chamada.

O parâmetro da mensagem é 0 ao CWnd entrar no modo menu.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSetFocus

A estrutura chama esta função membro após obter o foco de entrada.

afx_msg void OnSetFocus(CWnd* pOldWnd);

Parâmetros

pOldWnd
Contém o CWnd objeto que perde o foco de entrada (pode ser NULL). O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

Para mostrar um caret, CWnd deve chamar as funções caret apropriadas neste ponto.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSettingChange

O framework exige OnSettingChange todas as janelas de topo quando a função SystemParametersInfo do Win32 altera uma configuração a nível do sistema.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Parâmetros

uFlags
Quando o sistema envia a mensagem como resultado de uma SystemParametersInfo chamada, este parâmetro é uma bandeira que indica o parâmetro do sistema que foi alterado. Para uma lista de valores, veja SystemParametersInfo no SDK do Windows. Quando uma aplicação envia a mensagem, este parâmetro deve ser 0.

lpszSection
Aponta para uma cadeia que especifica o nome da secção que mudou. (A corda não inclui os colchetes quadrados que envolvem o nome da secção.)

Observações

Uma aplicação deve enviar a mensagem para todas as janelas de topo quando fizer alterações nos parâmetros do sistema, e o Windows enviará a mensagem se o utilizador alterar as definições através do Painel de Controlo.

A ON_WM_SETTINGCHANGE mensagem é semelhante à ON_WM_WININICHANGE mensagem, com a seguinte diferença:

  • Use ON_WM_SETTINGCHANGE quando estiver a correr Windows NT 4.0 ou mais recente, ou sob Windows 95/98.

  • Usar ON_WININICHANGE ao correr Windows NT 3.51 ou mais antigo. Esta mensagem está agora obsoleta.

Deves ter apenas uma destas macros no teu mapa de mensagens. Para escrever um programa que funcione tanto para Windows 95/98 como para Windows NT 4.0, escreva um handler para ON_WM_SETTINGCHANGE. No Windows NT 3.51, o teu handler será chamado por OnSettingChange e uFlags e será sempre zero.

CWnd::OnShowWindow

O framework chama a este elemento função quando o CWnd objeto está prestes a ser ocultado ou mostrado.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Parâmetros

bShow
Especifica se uma janela está a ser mostrada. É TRUE se a janela estiver a ser mostrada; é FALSE se a janela estiver a ser escondida.

nStatus
Especifica o estado da janela que está a ser mostrada. É 0 se a mensagem for enviada devido a uma ShowWindow chamada de função membro; caso contrário nStatus , é um dos seguintes:

  • SW_PARENTCLOSING A janela principal está a fechar (tornando-se icónica) ou uma janela pop-up está a ser ocultada.

  • SW_PARENTOPENING A janela principal está a abrir (a ser exibida) ou uma janela pop-up está a ser mostrada.

Observações

Uma janela é oculta ou mostrada quando a ShowWindow função membro é chamada, quando uma janela sobreposta é maximizada ou restaurada, ou quando uma janela sobreposta ou pop-up é fechada (tornada icónica) ou aberta (exibida no ecrã). Quando uma janela sobreposta está fechada, todas as janelas pop-up associadas a essa janela ficam ocultas.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSize

A estrutura chama esta função membro depois de o tamanho da janela ter mudado.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Parâmetros

nType
Especifica o tipo de redimensionamento solicitado. Este parâmetro pode ser um dos seguintes valores:

  • SIZE_MAXIMIZED A janela foi maximizada.

  • SIZE_MINIMIZED A janela foi minimizada.

  • SIZE_RESTORED A janela foi redimensionada, mas nada SIZE_MINIMIZED nem SIZE_MAXIMIZED se aplica.

  • SIZE_MAXHIDE A mensagem é enviada para todas as janelas pop-up quando outra janela é maximizada.

  • SIZE_MAXSHOW A mensagem é enviada para todas as janelas pop-up quando outra janela foi restaurada ao seu tamanho anterior.

cx
Especifica a nova largura da área do cliente.

cy
Especifica a nova altura da área do cliente.

Observações

Se a SetScrollPos função membro ou MoveWindow for chamada para uma janela filha de OnSize, o bRedraw parâmetro de SetScrollPos ou MoveWindow deve ser diferente de zero para causar que a CWnd repintura seja repintada.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

Example

// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
   CView::OnSize(nType, cx, cy);
   // Resize edit to fill the whole view.
   // OnSize can be called before OnInitialUpdate
   // so make sure the edit control has been created.
   if (::IsWindow(m_Edit.GetSafeHwnd()))
   {
      m_Edit.MoveWindow(0, 0, cx, cy);
   }
}

CWnd::OnSizeClipboard

A função membro do OnSizeClipboard proprietário da Prancheta é chamada pelo visualizador da Prancheta quando esta contém dados com o CF_OWNERDISPLAY atributo e o tamanho da área do cliente da janela do visualizador da Prancheta alterou.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Parâmetros

pClipAppWnd
Identifica a janela da aplicação da Área de Transferências. O ponteiro pode ser temporário e não deve ser guardado.

hRect
Identifica um objeto de memória global. O objeto de memória contém uma RECT estrutura de dados que especifica a área para o proprietário da Prancheta pintar.

Observações

A OnSizeClipboard função membro é chamada com um retângulo nulo (0,0,0,0) como novo tamanho quando a aplicação Clipboard está prestes a ser destruída ou minimizada. Isto permite ao proprietário da prancheta libertar os seus recursos de visualização.

Dentro de OnSizeClipboard, uma aplicação deve usar a GlobalLock função Windows para bloquear a memória que contém a RECT estrutura de dados. Peça à aplicação desbloquear essa memória com a GlobalUnlock função do Windows antes de ceder ou devolver o controlo.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSizing

A estrutura chama esta função membro para indicar que o utilizador está a redimensionar o retângulo.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

Parâmetros

nSide
A borda da janela a ser movida.

lpRect
Endereço da CRectouRECT estrutura que conterá as coordenadas do item.

Observações

Ao processar esta mensagem, uma aplicação pode monitorizar o tamanho e a posição do retângulo de arrasto e, se necessário, alterar o seu tamanho ou posição.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

Example

void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
   CMDIChildWnd::OnSizing(fwSide, pRect);

   // Resize the splitter window in the frame. m_wndSplitter is of 
   // type CSplitterWnd
   int nWidth = (pRect->right) - (pRect->left);
   m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
   m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
   m_wndSplitter.RecalcLayout();
}

CWnd::OnSpoolerStatus

O framework chama esta função membro do Print Manager sempre que um trabalho é adicionado ou removido da fila do Print Manager.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Parâmetros

nStatus
Especifica a SP_JOBSTATUS bandeira.

nJobs
Especifica o número de trabalhos restantes na fila do Gestor de Impressão.

Observações

Este apelo destina-se apenas a fins informativos.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnStyleChanged

O framework chama a este elemento função depois de a SetWindowLong função ter alterado um ou mais estilos da janela.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parâmetros

nStyleType
Especifica se os estilos estendidos ou não estendidos da janela mudaram. Este parâmetro pode ser uma combinação dos seguintes valores:

  • GWL_EXSTYLE Os estilos estendidos da janela mudaram.

  • GWL_STYLE Os estilos não estendidos da janela mudaram.

lpStyleStruct
Aponta para uma STYLESTRUCT estrutura que contém os novos estilos para a janela. Uma aplicação pode analisar os estilos, mas não os pode alterar.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnStyleChanging

A estrutura chama a este elemento função quando a SetWindowLong função está prestes a mudar um ou mais estilos da janela.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parâmetros

nStyleType
Especifica se os estilos estendidos ou não estendidos da janela mudaram. Este parâmetro pode ser uma combinação dos seguintes valores:

  • GWL_EXSTYLE Os estilos estendidos da janela mudaram.

  • GWL_STYLE Os estilos não estendidos da janela mudaram.

lpStyleStruct
Aponta para uma STYLESTRUCT estrutura que contém os novos estilos para a janela. Uma aplicação pode analisar os estilos e alterá-los.

Observações

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSysChar

A estrutura chama esta função membro se CWnd tiver o foco de entrada e as WM_SYSKEYUP mensagens e WM_SYSKEYDOWN forem traduzidas.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de tecla ASCII de uma tecla do menu Control.

nRepCnt
Especifica a contagem de repetições, ou seja, o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada.

nFlags
O nFlags parâmetro pode ter estes valores:

Valor Meaning
0-15 Especifica a contagem de repetições. O valor é o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada.
16-23 Especifica o código de varrimento. O valor depende do fabricante original do equipamento (OEM)
24 Especifica se a tecla é uma tecla estendida, como as teclas ALT e CTRL da mão direita que aparecem num teclado melhorado de 101 ou 102 teclas. O valor é 1 se for uma chave estendida; caso contrário, é 0.
25-28 Usado internamente pelo Windows.
29 Especifica o código de contexto. O valor é 1 se a tecla ALT for mantida pressionada enquanto a tecla é pressionada; caso contrário, o valor é 0.
30 Especifica o estado da chave anterior. O valor é 1 se a chave estiver desativada antes da mensagem ser enviada, ou é 0 se a chave estiver ativa.
31 Especifica o estado de transição. O valor é 1 se a tecla estiver a ser libertada, ou 0 se a tecla estiver a ser pressionada.

Observações

Especifica o código de tecla virtual da tecla do menu Control. (Para uma lista de códigos de chave virtuais padrão, veja Winuser.h)

Quando o código de contexto é 0, WM_SYSCHAR pode passar a WM_SYSCHAR mensagem para a TranslateAccelerator função Windows, que a tratará como se fosse uma mensagem de chave normal em vez de uma chave de carácter do sistema. Isto permite que as teclas aceleradoras sejam usadas com a janela ativa mesmo que a janela ativa não tenha o foco de entrada.

Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSysColorChange

A estrutura chama a esta função membro para todas as janelas de topo quando é feita uma alteração na definição de cor do sistema.

afx_msg void OnSysColorChange();

Observações

O Windows exige OnSysColorChange qualquer janela que seja afetada por uma alteração de cor do sistema.

Aplicações que tenham pincéis que usem as cores existentes do sistema devem eliminar esses pincéis e recriá-los com as novas cores do sistema.

CWnd::OnSysCommand

A estrutura chama esta função membro quando o utilizador seleciona um comando no menu Control, ou quando seleciona o botão Maximizar ou Minimizar.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

Parâmetros

nID
Especifica o tipo de comando do sistema solicitado. Este parâmetro pode ser qualquer um dos seguintes valores:

  • SC_CLOSE Fecha o CWnd objeto.

  • SC_HOTKEY Ative o CWnd objeto associado à tecla de atalho especificada pela aplicação. A palavra de ordem baixa de lParam identifica o HWND da janela a ativar.

  • SC_HSCROLL Desloca horizontalmente.

  • SC_KEYMENU Recupera um menu com uma tecla.

  • SC_MAXIMIZE (ou SC_ZOOM) Maximiza o CWnd objeto.

  • SC_MINIMIZE (ou SC_ICON) Minimiza o CWnd objeto.

  • SC_MOUSEMENU Recupera um menu com um clique do rato.

  • SC_MOVE Move o CWnd objeto.

  • SC_NEXTWINDOW Avança para a próxima janela.

  • SC_PREVWINDOW Muda para a janela anterior.

  • SC_RESTORE Restaure a janela à posição e tamanho normais.

  • SC_SCREENSAVE Executa a aplicação de protetor de ecrã especificada na secção [boot] do SYSTEM.INI ficheiro.

  • SC_SIZE Dimensiona o CWnd objeto.

  • SC_TASKLIST Executar ou ativar a aplicação Gestor de Tarefas do Windows.

  • SC_VSCROLL Desliza verticalmente.

lParam
Se um comando no menu de Controlo for escolhido com o rato, lParam contém as coordenadas do cursor. A palavra de ordem baixa contém a coordenada x, e a palavra de ordem superior contém a coordenada y. Caso contrário, este parâmetro não é utilizado.

  • SC_HOTKEY Ative a janela associada à tecla de atalho especificada pela aplicação. A palavra de ordem baixa identifica lParam a janela a ativar.

  • SC_SCREENSAVE Execute a aplicação de gravação de ecrã especificada na secção Desktop do Painel de Controlo.

Observações

Por defeito, OnSysCommand executa o pedido do menu de Controlo para as ações pré-definidas especificadas na tabela anterior.

Nas WM_SYSCOMMAND mensagens, os quatro bits de ordem baixa do nID parâmetro são usados internamente pelo Windows. Quando uma aplicação testa o valor de nID, deve combinar o valor 0xFFF0 com o nID valor usando o operador bit a bit AND para obter o resultado correto.

Os itens do menu num menu de Controlo podem ser modificados com as GetSystemMenufunções , AppendMenu, InsertMenu, e ModifyMenu membros. As aplicações que modificam o menu de Controlo devem processar WM_SYSCOMMAND mensagens, e quaisquer WM_SYSCOMMAND mensagens não tratadas pela aplicação devem ser encaminhadas para OnSysCommand. Quaisquer valores de comando adicionados por uma aplicação devem ser processados pela aplicação e não podem ser passados para OnSysCommand.

Uma aplicação pode executar qualquer comando do sistema a qualquer momento, passando uma WM_SYSCOMMAND mensagem para OnSysCommand.

As teclas aceleradoras (atalhos) definidas para selecionar itens no menu Control são traduzidas em OnSysCommand chamadas; todas as outras teclas do acelerador são traduzidas em WM_COMMAND mensagens.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSysDeadChar

O framework chama esta função membro se o CWnd objeto tiver o foco de entrada quando a OnSysKeyUp função ou OnSysKeyDown membro é chamada.

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o valor do carácter dead-key.

nRepCnt
Especifica a contagem de repetições.

nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:

Valor Meaning
0-7 Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta.
8 Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0).
9-10 Não utilizado.
11-12 Usado internamente pelo Windows.
13 Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0).
14 Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa).
15 Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada).

Observações

Especifica o valor de carácter de uma chave morta.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSysKeyDown

Se o CWnd objeto tiver o foco de entrada, a OnSysKeyDown função membro é chamada pelo framework quando o utilizador mantém pressionada a tecla ALT e depois pressiona outra tecla.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de tecla virtual da tecla pressionada. Para uma lista de códigos de chave virtuais padrão, veja Winuser.h

nRepCnt
Especifica a contagem de repetições.

nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:

Valor Meaning
0-7 Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta.
8 Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0).
9-10 Não utilizado.
11-12 Usado internamente pelo Windows.
13 Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada, 0 caso contrário).
14 Estado da chave anterior (1 se a chave estiver desativada antes da mensagem ser enviada, 0 se a chave estiver ativa).
15 Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada).

Para OnSysKeyDown chamadas, o bit de transição de chave (bit 15) é 0. O bit de código de contexto (bit 13) é 1 se a tecla ALT estiver para baixo enquanto a tecla está pressionada; é 0 se a mensagem for enviada para a janela ativa porque nenhuma janela tem o foco de entrada.

Observações

Se nenhuma janela tiver atualmente o foco de entrada, a função membro da OnSysKeyDown janela ativa é chamada. O CWnd objeto que recebe a mensagem pode distinguir entre estes dois contextos verificando o código de contexto em nFlags.

Quando o código de contexto é 0, a WM_SYSKEYDOWN mensagem recebida por OnSysKeyDown pode ser passada para a TranslateAccelerator função Windows, que a tratará como se fosse uma mensagem de chave normal em vez de uma mensagem de chave de sistema. Isto permite que as teclas aceleradoras sejam usadas com a janela ativa mesmo que a janela ativa não tenha o foco de entrada.

Devido à repetição automática, podem ocorrer mais do que uma OnSysKeyDown chamada antes de a WM_SYSKEYUP mensagem ser recebida. O estado da chave anterior (bit 14) pode ser usado para determinar se a OnSysKeyDown chamada indica a transição da primeira descida ou uma transição repetida para baixo.

Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnSysKeyUp

Se o CWnd objeto tiver o foco, a OnSysKeyUp função membro é chamada pelo framework quando o utilizador liberta uma tecla que foi pressionada enquanto a tecla ALT estava pressionada.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de tecla virtual da tecla pressionada. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

nRepCnt
Especifica a contagem de repetições.

nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:

Valor Meaning
0-7 Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta.
8 Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0).
9-10 Não utilizado.
11-12 Usado internamente pelo Windows.
13 Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada, 0 caso contrário).
14 Estado da chave anterior (1 se a chave estiver desativada antes da mensagem ser enviada, 0 se a chave estiver ativa).
15 Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada).

Para OnSysKeyUp chamadas, o bit de transição de chave (bit 15) é 1. O bit de código de contexto (bit 13) é 1 se a tecla ALT estiver para baixo enquanto a tecla está pressionada; é 0 se a mensagem for enviada para a janela ativa porque nenhuma janela tem o foco de entrada.

Observações

Se nenhuma janela tiver atualmente o foco de entrada, a função membro da OnSysKeyUp janela ativa é chamada. O CWnd objeto que recebe a chamada pode distinguir entre estes dois contextos verificando o código de contexto em nFlags.

Quando o código de contexto é 0, a WM_SYSKEYUP mensagem recebida por OnSysKeyUp pode ser passada para a TranslateAccelerator função Windows, que a tratará como se fosse uma mensagem de chave normal em vez de uma mensagem de chave de sistema. Isto permite que as teclas de acelerador (atalho) sejam usadas com a janela ativa mesmo que esta não tenha o foco de entrada.

Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.

Para pessoas fora dos EUA. Teclados aprimorados de 102 teclas, a tecla ALT direita é tratada como a combinação CTRL+ALT. O seguinte mostra a sequência de mensagens e chamadas que resultam quando o utilizador pressiona e solta esta tecla:

Sequence Função Acedida Mensagem Passada
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnTCard

O framework chama esta função membro quando o utilizador clica num botão autorável.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Parâmetros

idAction
Indica a ação que o utilizador tomou. Este parâmetro pode ser um destes valores:

  • IDABORT O utilizador clicava num botão de Abortar autorável.

  • IDCANCEL O utilizador clicava num botão Cancelar autorável.

  • IDCLOSE O utilizador fechou o cartão de treino.

  • IDHELP O utilizador clicava num botão de Ajuda do Windows com autoria.

  • IDIGNORE O utilizador clicava num botão Ignorar com autor.

  • IDOK O utilizador clicou num botão de OK autorável.

  • IDNO O utilizador clicou num botão Não autorável.

  • IDRETRY O utilizador clicava num botão Retry autorável.

  • HELP_TCARD_DATA O utilizador clicava num botão autorável. O dwActionData parâmetro contém um inteiro longo especificado pelo autor da ajuda.

  • HELP_TCARD_NEXT O utilizador clicava num botão Seguir autorável.

  • HELP_TCARD_OTHER_CALLER Outra candidatura pediu cartões de formação.

  • IDYES O utilizador clicava num botão Sim autorável.

dwActionData
Se idAction especificar HELP_TCARD_DATA, este parâmetro é um inteiro longo especificado pelo autor da ajuda. Caso contrário, este parâmetro é zero.

Observações

Esta função é chamada apenas quando uma aplicação iniciou um cartão de treino com o Windows Help. Uma aplicação inicia um cartão de treino especificando o HELP_TCARD comando numa chamada à WinHelp função.

CWnd::OnTimeChange

O framework chama esta função membro depois de o tempo do sistema ser alterado.

afx_msg void OnTimeChange();

Observações

Qualquer aplicação que altere a hora do sistema envie esta mensagem para todas as janelas de topo de nível. Para enviar a WM_TIMECHANGE mensagem a todas as janelas de topo, uma aplicação pode usar a SendMessage função Windows com o seu hwnd parâmetro definido para HWND_BROADCAST.

CWnd::OnTimer

A estrutura chama esta função membro após cada intervalo especificado na SetTimer função membro usada para instalar um temporizador.

afx_msg void OnTimer(UINT_PTR nIDEvent);

Parâmetros

nIDEvent
Especifica o identificador do temporizador.

Observações

A DispatchMessage função Windows envia uma WM_TIMER mensagem quando não há outras mensagens na fila de mensagens da aplicação.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

Example

Veja o exemplo em CWnd::SetTimer.

CWnd::OnToolHitTest

A estrutura chama esta função membro para determinar se um ponto está no retângulo delimitador da ferramenta especificada.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Parâmetros

point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela

pTI
Um ponteiro para uma TOOLINFO estrutura. Os seguintes valores estruturais são definidos por defeito:

  • hwnd = m_hWnd Maçaneta a uma janela

  • uId = (UINT)hWndChild Pega numa janela de criança

  • uFlags |= TTF_IDISHWND Pega da ferramenta

  • lpszText = LPSTR_TEXTCALLBACK Apontador para a cadeia que deve ser exibida na janela especificada

Valor de retorno

Se o controlo tooltip fosse encontrado, o ID do controlo da janela. Se o controlo da tooltip não fosse encontrado, -1.

Observações

Se o ponto estiver no retângulo, recupera informação sobre a ferramenta.

Se a área com que a tooltip está associada não for um botão, OnToolHitTest define os flags da estrutura para TTF_NOTBUTTON e TTF_CENTERTIP.

Override OnToolHitTest para fornecer informação diferente da que o padrão fornece.

Consulte TOOLINFO, no SDK do Windows, para mais informações sobre a estrutura.

CWnd::OnTouchInput

Processar uma única entrada do Windows Touch.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Parâmetros

pt
Ponto onde o ecrã foi tocado (nas coordenadas do cliente).

nInputNumber
Número de entradas por toque.

nInputsCount
Número total de entradas táteis.

pInput
Apontar para TOUCHINPUT a estrutura.

Valor de retorno

TRUE se a aplicação processar a entrada por toque do Windows; caso contrário FALSE.

Observações

CWnd::OnTouchInputs

Processa entradas do Windows Touch.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Parâmetros

nInputsCount
Número total de entradas táteis do Windows.

pInputs
Array de TOUCHINPUT.

Valor de retorno

TRUE se a aplicação processar entradas táteis do Windows; caso contrário FALSE.

Observações

CWnd::OnUniChar

A estrutura chama esta função membro quando uma tecla é pressionada. Ou seja, a janela atual tem o foco do teclado e uma WM_KEYDOWN mensagem é traduzida pela TranslateMessage função.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
[dentro] Especifica o código do carácter da tecla pressionada.

nRepCnt
[dentro] Especifica a contagem de repetições para a mensagem atual. O valor é o número de vezes que a tecla é repetida automaticamente como resultado do utilizador manter a tecla pressionada. Se a tecla for mantida pressionada tempo suficiente, são enviadas várias mensagens. No entanto, o número de repetições não é cumulativo.

nFlags
[dentro] Flags que especificam o código de varrimento, chave estendida, código de contexto, estado da chave anterior e estado de transição, conforme mostrado na tabela seguinte:

Bits de flag Description
0-7 Especifica o código de varrimento. O valor depende do fabricante original do equipamento (OEM).
8 Especifica uma tecla estendida, como as teclas ALT e CTRL da mão direita que aparecem num teclado melhorado de 101 ou 102 teclas. A bandeira é 1 se a chave for uma chave estendida; caso contrário, é 0.
9-12 Usado internamente pelo Windows.
13 Especifica o código de contexto. A bandeira é 1 se a tecla ALT for mantida pressionada enquanto a tecla é pressionada; caso contrário, o valor é 0.
14 Especifica o estado da chave anterior. A bandeira é 1 se a chave estiver desligada antes da mensagem ser enviada, ou 0 se a chave estiver ativa.
15 Especifica o estado de transição. A bandeira é 1 se a tecla estiver a ser libertada, ou 0 se a tecla estiver a ser pressionada.

Observações

Este método recebe a WM_UNICHAR notificação, que é descrita no SDK do Windows. A WM_UNICHAR mensagem foi concebida para enviar ou publicar caracteres Unicode para janelas ANSI. É equivalente à WM_CHAR mensagem, mas utiliza a codificação Unicode Transformation Format-32 (UTF-32), enquanto a WM_CHAR mensagem usa UTF-16.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnUnInitMenuPopup

A estrutura chama esta função membro quando um menu suspenso ou submenu foi destruído.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Parâmetros

pMenu
[dentro] Apontar para o CMenu objeto que representa o menu ou submenu.

nFlags
[dentro] O menu que foi destruído. Atualmente, só pode ser o menu da janela, MF_SYSMENU.

Observações

Este método recebe a WM_UNINITMENUPOPUP notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnUpdateUIState

Chamado para alterar o estado da interface do utilizador (UI) da janela especificada e de todas as suas janelas filhas.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

Parâmetros

nAction
Especifica a ação a ser executada. Pode ser um dos seguintes valores:

  • UIS_CLEAR O elemento de estado da interface (especificado por nUIElement) deve estar oculto.

  • UIS_INITIALIZE O elemento de estado da interface (especificado por nUIElement) deve ser alterado com base no último evento de entrada. Para mais informações, consulte a secção de Observações de WM_UPDATEISTATE.

  • UIS_SET O elemento de estado da interface (especificado por nUIElement) deve ser visível.

nUIElement
Especifica quais os elementos do estado da interface que são afetados ou o estilo do controlo. Pode ser um dos seguintes valores:

  • UISF_HIDEACCEL Aceleradores de teclado.

  • UISF_HIDEFOCUS Indicadores de foco.

  • UISF_ACTIVE Windows XP: Um controlo deve ser desenhado no estilo usado para controlos ativos.

Observações

Esta função membro emula a funcionalidade da WM_UPDATEUISTATE mensagem, conforme descrito no SDK do Windows.

CWnd::OnUserChanged

O framework chama este membro para todas as janelas depois de o utilizador ter iniciado sessão.

afx_msg void OnUserChanged();

Observações

Este método recebe a WM_USERCHANGED mensagem de notificação, que é descrita no SDK do Windows. Quando o utilizador inicia sessão, o sistema operativo atualiza as definições específicas do utilizador. O sistema envia esta mensagem imediatamente após atualizar as definições.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnVKeyToItem

Se o CWnd objeto possuir uma caixa de lista com o LBS_WANTKEYBOARDINPUT estilo, a caixa de lista enviará a WM_VKEYTOITEM mensagem em resposta a uma WM_KEYDOWN mensagem.

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

Parâmetros

nKey
Especifica o código de tecla virtual da tecla que o utilizador pressionou. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

pListBox
Especifica um ponteiro para a caixa da lista. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

nIndex
Especifica a posição atual do caret.

Valor de retorno

Especifica a ação que a aplicação realizou em resposta à mensagem. Um valor de retorno de -2 indica que a aplicação tratou de todos os aspetos da seleção do item e não requer qualquer ação adicional da caixa da lista. Um valor de retorno de -1 indica que a caixa de lista deve executar a ação padrão em resposta ao pressionamento da tecla. Um valor de retorno de 0 ou superior especifica o índice em base zero de um item na caixa de lista e indica que a caixa de lista deve executar a ação padrão para a tecla pressionada no item dado.

Observações

Esta função membro é chamada pela framework apenas para caixas de lista que tenham o estilo LBS_HASSTRINGS .

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnVScroll

A estrutura chama a este elemento função quando o utilizador clica na barra de scroll vertical da janela.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parâmetros

nSBCode
Especifica um código de barras de scroll que indica o pedido de scroll do utilizador. Este parâmetro pode ser um dos seguintes:

  • SB_BOTTOM Desce até ao fim.

  • SB_ENDSCROLL Fim do scroll.

  • SB_LINEDOWN Desça uma linha para baixo.

  • SB_LINEUP Role uma linha para cima.

  • SB_PAGEDOWN Desça uma página para baixo.

  • SB_PAGEUP Desliza uma página para cima.

  • SB_THUMBPOSITION Desloca até à posição absoluta. A posição atual é fornecida em nPos.

  • SB_THUMBTRACK Arrasta a caixa de scroll para a posição especificada. A posição atual é fornecida em nPos.

  • SB_TOP Desça até ao topo.

nPos
Contém a posição atual da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION ou SB_THUMBTRACK; de outra forma não for utilizado. Dependendo do alcance inicial do pergaminho, nPos pode ser negativo e deve ser lançado para um int se necessário.

pScrollBar
Se a mensagem de scroll veio de um controlo de barra de scroll, contém um ponteiro para o controlo. Se o utilizador clicou na barra de scroll de uma janela, este parâmetro é NULL. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

Observações

OnVScroll Normalmente é usado por aplicações que dão algum feedback enquanto a caixa de deslocamento está a ser arrastada.

Se OnVScroll deslocar o conteúdo do CWnd objeto, deve também redefinir a posição da caixa de rolagem com a SetScrollPos função membro.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnVScrollClipboard

A função membro do OnVScrollClipboard proprietário da Área de Transferência é chamada pelo visualizador da Área de Transferência quando os dados da Área de Transferência têm o CF_OWNERDISPLAY formato e há um evento na barra de deslocação vertical do visualizador da Área de Transferências.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parâmetros

pClipAppWnd
Especifica um ponteiro para uma janela de visualização de prancheta. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.

nSBCode
Especifica um dos seguintes valores na barra de deslocamento:

  • SB_BOTTOM Desce até ao fim.

  • SB_ENDSCROLL Fim do scroll.

  • SB_LINEDOWN Desça uma linha para baixo.

  • SB_LINEUP Role uma linha para cima.

  • SB_PAGEDOWN Desça uma página para baixo.

  • SB_PAGEUP Desliza uma página para cima.

  • SB_THUMBPOSITION Desloca até à posição absoluta. A posição atual é fornecida em nPos.

  • SB_TOP Desça até ao topo.

nPos
Contém a posição da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION; caso contrário nPos , não é usado.

Observações

O proprietário deve deslocar a imagem do Clipboard, invalidar a secção apropriada e atualizar os valores da barra de deslocamento.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnWindowMaximizedChanged

O framework chama este membro quando a janela atual é maximizada, e a janela é composta pelo Gestor de Janelas de Ambiente de Trabalho (DWM).

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Parâmetros

bIsMaximized
[dentro] TRUE se a janela atual estiver maximizada, e FALSE se não estiver.

Observações

Este método recebe a WM_DWMWINDOWMAXIMIZEDCHANGE mensagem de notificação, que é descrita no SDK do Windows.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnWindowPosChanged

A estrutura chama esta função membro quando o tamanho, posição ou ordem Z mudaram como resultado de uma chamada à SetWindowPos função membro ou a outra função de gestão de janelas.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

Parâmetros

lpwndpos
Aponta para uma WINDOWPOS estrutura de dados que contém informações sobre o novo tamanho e posição da janela.

Observações

A implementação por defeito envia as WM_SIZE mensagens e WM_MOVE para a janela. Estas mensagens não são enviadas se uma aplicação tratar da OnWindowPosChanged chamada sem chamar a sua classe base. É mais eficiente realizar qualquer processamento de mudança ou mudança de tamanho durante a chamada para OnWindowPosChanged sem chamar a sua classe base.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnWindowPosChanging

A estrutura chama esta função membro quando o tamanho, posição ou ordem Z está prestes a mudar como resultado de uma chamada para a SetWindowPos função membro ou outra função de gestão de janelas.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

Parâmetros

lpwndpos
Aponta para uma WINDOWPOS estrutura de dados que contém informações sobre o novo tamanho e posição da janela.

Observações

Uma aplicação pode evitar alterações na janela definindo ou eliminando os bits apropriados no flags elemento da WINDOWPOS estrutura.

Para uma janela com o WS_OVERLAPPED estilo ou WS_THICKFRAME , a implementação padrão envia uma WM_GETMINMAXINFO mensagem para a janela. Isto é feito para validar o novo tamanho e posição da janela e para impor os CS_BYTEALIGNCLIENT estilos do cliente CS_BYTEALIGN . Uma aplicação pode sobrepor esta funcionalidade não chamando a sua classe base.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnWinIniChange

O framework chama esta função membro após uma alteração no ficheiro de inicialização do Windows, WIN.INI.

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Parâmetros

lpszSection
Aponta para uma cadeia que especifica o nome da secção que mudou. (A corda não inclui os colchetes quadrados que envolvem o nome da secção.)

Observações

As SystemParametersInfo chamadas OnWinIniChange de função do Windows depois de uma aplicação usar a função para alterar uma definição no WIN.INI ficheiro.

Para enviar a WM_WININICHANGE mensagem a todas as janelas de topo, uma aplicação pode usar a SendMessage função Windows com o seu hwnd parâmetro definido para HWND_BROADCAST.

Se uma aplicação alterar várias secções diferentes ao WIN.INI mesmo tempo, a aplicação deve enviar uma WM_WININICHANGE mensagem com lpszSection definido como NULL. Caso contrário, uma aplicação deve enviar WM_WININICHANGE cada vez que fizer uma alteração para WIN.INI.

Se uma aplicação receber uma OnWinIniChange chamada com lpszSection definido como NULL, a aplicação deve verificar todas as secções em WIN. INI que afetam a aplicação.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnWndMsg

Esta função membro é chamada por WindowProc, ou é chamada durante a reflexão da mensagem.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parâmetros

message
Especifica a mensagem a enviar.

wParam
Especifica informação adicional dependente da mensagem.

lParam
Especifica informação adicional dependente da mensagem.

pResult
O valor de retorno de WindowProc. Depende da mensagem; pode ser NULL.

Valor de retorno

TRUE se a mensagem foi tratada; caso contrário, FALSO.

Observações

OnWndMsg determina o tipo de mensagem e ou chama a função framework apropriada (por exemplo, OnCommand para WM_COMMAND) ou encontra a mensagem apropriada no mapa da mensagem.

Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.

CWnd::OnXButtonDblClk

A estrutura chama esta função membro quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parâmetros

nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.

nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse for duplamente clicado, ou XBUTTON2 se o segundo botão X for duplamente clicado.

point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.

Observações

Este método recebe a WM_XBUTTONDBLCLK notificação, que é descrita no SDK do Windows. Se o rato não for capturado, a mensagem é publicada na janela por baixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse.

O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.

Tecla Modificadora Description
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do rato é pressionado.
MK_MBUTTON O botão do meio do rato é pressionado.
MK_RBUTTON O botão direito do rato é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnXButtonDown

A estrutura chama esta função membro quando o utilizador pressiona XBUTTON1 ou XBUTTON2 enquanto o cursor está na área cliente de uma janela.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parâmetros

nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.

nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse foi clicado, ou XBUTTON2 se o segundo botão X foi pressionado.

point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.

Observações

Este método recebe a WM_XBUTTONDOWN notificação, que é descrita no SDK do Windows. Se o rato não for capturado, a mensagem é publicada na janela por baixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse.

O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.

Tecla Modificadora Description
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do rato é pressionado.
MK_MBUTTON O botão do meio do rato é pressionado.
MK_RBUTTON O botão direito do rato é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OnXButtonUp

O framework chama esta função membro quando o utilizador solta XBUTTON1 ou XBUTTON2 enquanto o cursor está na área cliente de uma janela.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parâmetros

nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.

nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse foi duplamente clicado, ou XBUTTON2 se o segundo botão X foi duplo clicado.

point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.

Observações

Este método recebe a WM_XBUTTONUP notificação, que é descrita no SDK do Windows. Se o rato não for capturado, a mensagem é publicada na janela por baixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse.

O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.

Tecla Modificadora Description
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do rato é pressionado.
MK_MBUTTON O botão do meio do rato é pressionado.
MK_RBUTTON O botão direito do rato é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado.

Observação

Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.

CWnd::OpenClipboard

Abre a prancheta.

BOOL OpenClipboard();

Valor de retorno

Diferente de zero se a Área de Transferência for aberta via CWnd, ou 0 se outra aplicação ou janela tiver a Área de Transferência aberta.

Observações

Outras aplicações não poderão modificar a Prancheta até que a CloseClipboard função Windows seja chamada.

O objeto atual CWnd não se tornará o proprietário da Área de Transferência até que a EmptyClipboard função Windows seja chamada.

Example

//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
   if (!OpenClipboard())
   {
      AfxMessageBox(_T("Cannot open the Clipboard"));
      return;
   }
   // Remove the current Clipboard contents
   if (!EmptyClipboard())
   {
      AfxMessageBox(_T("Cannot empty the Clipboard"));
      return;
   }

   // Get the currently selected data, hData handle to
   // global memory of data
   CString str;
   m_Edit.GetWindowText(str);
   size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
   HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
   memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
   GlobalUnlock(hData);
   str.UnlockBuffer();

   // For the appropriate data formats...
   UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
   if (::SetClipboardData(uiFormat, hData) == NULL)
   {
      AfxMessageBox(_T("Unable to set Clipboard data"));
      CloseClipboard();
      return;
   }

   CloseClipboard();
}

CWnd::operator HWND

Use este operador para levar a pega ao CWnd objeto.

operator HWND() const;

CWnd::operator !=

Compara dois CWnd objetos para determinar se não têm o mesmo m_hWnd.

BOOL operator!=(const CWnd& wnd) const;

Parâmetros

wnd
Uma referência a um objeto CWnd.

Valor de retorno

Não nulo se for igual; caso contrário, 0.

CWnd::operator ==

Compara dois CWnd objetos para determinar se têm o mesmo m_hWnd.

BOOL operator==(const CWnd& wnd) const;

Parâmetros

wnd
Uma referência a um objeto CWnd.

Valor de retorno

Não nulo se for igual; caso contrário, 0.

CWnd::PaintWindowlessControls

Desenha controlos sem janelas no contentor de controlo.

BOOL PaintWindowlessControls(CDC* pDC);

Parâmetros

pDC
O contexto do dispositivo para desenhar os controlos sem janelas.

Valor de retorno

Retorna TRUE se houver um contentor de controlo e os controlos sem janelas forem desenhados com sucesso, caso contrário FALSE.

CWnd::PostMessage

Coloca uma mensagem na fila de mensagens da janela e depois retorna sem esperar que a janela correspondente processe a mensagem.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parâmetros

message
Especifica a mensagem a publicar.

wParam
Especifica informação adicional de mensagem. O conteúdo deste parâmetro depende da mensagem que está a ser publicada.

lParam
Especifica informação adicional de mensagem. O conteúdo deste parâmetro depende da mensagem que está a ser publicada.

Valor de retorno

Diferente de zero se a mensagem for publicada; caso contrário, 0.

Observações

As mensagens numa fila de mensagens são recuperadas através de chamadas para a GetMessage função ou PeekMessage Windows.

A função Windows PostMessage pode ser usada para aceder a outra aplicação.

Example

Veja o exemplo para AfxGetMainWnd.

CWnd::PostNcDestroy

Chamada pela função membro padrão OnNcDestroy depois de a janela ter sido destruída.

virtual void PostNcDestroy();

Observações

As classes derivadas podem usar esta função para limpeza personalizada, como a eliminação do this apontador.

CWnd::PreCreateWindow

Chamado pela estrutura antes da criação da janela do Windows associada a este CWnd objeto.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Parâmetros

cs
Uma CREATESTRUCT estrutura.

Valor de retorno

Diferente de zero se a criação da janela deve continuar; 0 para indicar falha na criação.

Observações

Advertência

CWnd::PreCreateWindow agora atribui o membro hMenu de cs ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para uma funcionalidade correta, certifique-se de que o controlo de diálogo tem um ID que não NULLseja .

Esta alteração corrige um crash em cenários de interoperabilidade geridos/nativos. Uma TRACE declaração alerta CWnd::Create o programador para o problema.

Nunca chames esta função diretamente.

A implementação padrão desta função verifica o nome de uma NULL classe janela e substitui por um padrão apropriado. Substitua esta função membro para modificar a CREATESTRUCT estrutura antes de a janela ser criada.

Cada classe derivada de CWnd acrescenta a sua própria funcionalidade ao seu sobreposição de PreCreateWindow. Por design, estas derivações de PreCreateWindow não estão documentadas. Para determinar os estilos apropriados a cada classe e as interdependências entre os estilos, pode examinar o código-fonte MFC da classe base da sua aplicação. Se optar por sobrescrever PreCreateWindow, , pode determinar se os estilos usados na classe base da sua aplicação fornecem a funcionalidade de que precisa, utilizando a informação recolhida do código-fonte MFC.

Para mais informações sobre a alteração de estilos de janelas, consulte Alterar os Estilos de uma Janela Criada pela MFC.

Example

// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
   // Create a window without min/max buttons or sizable border
   cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;

   // Size the window to 1/3 screen size and center it
   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
   cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
   cs.y = ((cs.cy * 3) - cs.cy) / 2;
   cs.x = ((cs.cx * 3) - cs.cx) / 2;

   return CMDIChildWnd::PreCreateWindow(cs);
}

CWnd::PreSubclassWindow

Esta função membro é chamada pelo framework para permitir que outras subclasses necessárias ocorram antes da janela ser subclassificada.

virtual void PreSubclassWindow();

Observações

Sobrepor esta função de membro permite a subclasse dinâmica dos controlos. É uma versão avançada que pode ser anulada.

CWnd::PreTranslateMessage

Usado por CWinApp de classe para traduzir mensagens de janela antes de serem enviadas para as funções TranslateMessage e DispatchMessage Windows.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parâmetros

pMsg
Aponta para uma MSG estrutura que contém a mensagem a processar.

Valor de retorno

Não nula se a mensagem foi traduzida e não deve ser enviada; 0 se a mensagem não for traduzida e deve ser enviada.

CWnd::Print

Chame esta função membro para desenhar a janela atual no contexto especificado do dispositivo, que é mais comum no contexto de um dispositivo de impressora.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

Parâmetros

pDC
Um ponteiro para um contexto de dispositivo.

dwFlags
Especifica as opções de desenho. Este parâmetro pode ser um ou mais destes flags:

  • PRF_CHECKVISIBLE Desenha a janela apenas se for visível.

  • PRF_CHILDREN Desenha todas as janelas visíveis das crianças.

  • PRF_CLIENT Desenha a área do cliente na janela.

  • PRF_ERASEBKGND Apaga o fundo antes de desenhar a janela.

  • PRF_NONCLIENT Desenha a área não cliente da janela.

  • PRF_OWNED Desenha todas as janelas que possui.

Observações

CWnd::DefWindowProc a função processa esta mensagem com base na opção de desenho especificada:

  • Se PRF_CHECKVISIBLE for especificado e a janela não for visível, não faça nada.

  • Se PRF_NONCLIENT for especificado, desenhe a área não-cliente no contexto dado do dispositivo.

  • Se PRF_ERASEBKGND for especificado, envie uma WM_ERASEBKGND mensagem à janela.

  • Se PRF_CLIENT for especificado, envie uma WM_PRINTCLIENT mensagem à janela.

  • Se PRF_CHILDREN estiver definido, envie uma WM_PRINT mensagem a cada janela filha visível.

  • Se PRF_OWNED estiver definido, envie uma WM_PRINT mensagem a cada janela visível de posse.

CWnd::PrintClient

Chame esta função membro para desenhar qualquer janela no contexto especificado do dispositivo (normalmente um contexto de dispositivo de impressora).

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

Parâmetros

pDC
Um ponteiro para um contexto de dispositivo.

dwFlags
Especifica opções de desenho. Este parâmetro pode ser um ou mais destes flags:

  • PRF_CHECKVISIBLE Desenha a janela apenas se for visível.

  • PRF_CHILDREN Desenha todas as janelas visíveis das crianças.

  • PRF_CLIENT Desenha a área do cliente na janela.

  • PRF_ERASEBKGND Apaga o fundo antes de desenhar a janela.

  • PRF_NONCLIENT Desenha a área não cliente da janela.

  • PRF_OWNED Desenha todas as janelas que possui.

CWnd::PrintWindow

Copia uma janela visual para o contexto especificado do dispositivo, tipicamente um DC de impressora.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Parâmetros

pDC
Um apontador para o contexto do dispositivo a ser impresso.

nFlags
Especifica as opções de desenho. Para uma lista de valores possíveis, veja PrintWindow.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função PrintWindow, conforme descrito no SDK do Windows.

CWnd::RedrawWindow

Atualiza o retângulo ou região especificado na área cliente da janela em questão.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Parâmetros

lpRectUpdate
Aponta para uma RECT estrutura contendo as coordenadas do retângulo de atualização. Este parâmetro é ignorado se prgnUpdate contiver um handle de região válido.

prgnUpdate
Identifica a região de atualização. Se ambos prgnUpdate e lpRectUpdate forem NULL, toda a área do cliente é adicionada à região de atualização.

flags
As seguintes bandeiras são usadas para invalidar a janela:

  • RDW_ERASE Faz com que a janela receba uma WM_ERASEBKGND mensagem quando a janela é repintada. A RDW_INVALIDATE bandeira também deve ser especificada; caso contrário, RDW_ERASE não tem efeito.

  • RDW_FRAME Faz com que qualquer parte da área não-cliente da janela que intersecte a região de atualização receba uma WM_NCPAINT mensagem. A RDW_INVALIDATE bandeira também deve ser especificada; caso contrário RDW_FRAME , não tem efeito.

  • RDW_INTERNALPAINT Faz com que uma WM_PAINT mensagem seja publicada na janela independentemente de esta conterem ou não uma região inválida.

  • RDW_INVALIDATE Invalidar lpRectUpdate ou prgnUpdate (apenas um pode não NULLser ). Se ambos forem NULL, toda a janela é invalidada.

As seguintes bandeiras são usadas para validar a janela:

  • RDW_NOERASE Suprime quaisquer mensagens pendentes WM_ERASEBKGND .

  • RDW_NOFRAME Suprime quaisquer mensagens pendentes WM_NCPAINT . Esta bandeira deve ser usada com RDW_VALIDATE e é tipicamente usada com RDW_NOCHILDREN. Esta opção deve ser usada com cuidado, pois pode impedir que partes de uma janela pintem corretamente.

  • RDW_NOINTERNALPAINT Suprime quaisquer mensagens internas WM_PAINT pendentes. Esta bandeira não afeta WM_PAINT mensagens resultantes de áreas inválidas.

  • RDW_VALIDATE Valida lpRectUpdate ou prgnUpdate (apenas um pode não NULLser ). Se ambos forem NULL, toda a janela é validada. Esta bandeira não afeta as mensagens internas WM_PAINT .

As seguintes bandeiras controlam quando ocorre a repintura. A pintura não é realizada pela RedrawWindow função a menos que uma destas partes seja especificada.

  • RDW_ERASENOW Faz com que as janelas afetadas (conforme especificado pelos RDW_ALLCHILDREN flags de and RDW_NOCHILDREN ) recebam WM_NCPAINT mensagens de and WM_ERASEBKGND , se necessário, antes de a função regressar. WM_PAINT As mensagens são adiadas.

  • RDW_UPDATENOW Faz com que as janelas afetadas (conforme especificado pelas RDW_ALLCHILDREN flags e) RDW_NOCHILDREN recebam WM_NCPAINT, WM_ERASEBKGND, e WM_PAINT mensagens, se necessário, antes de a função regressar.

Por defeito, as janelas afetadas pela RedrawWindow função dependem de a janela especificada ter ou não esse estilo WS_CLIPCHILDREN . As janelas crianças das WS_CLIPCHILDREN janelas não são afetadas. No entanto, as janelas que não WS_CLIPCHILDREN são janelas são recursivamente validadas ou invalidadas até que uma WS_CLIPCHILDREN janela seja encontrada. As seguintes bandeiras controlam que janelas são afetadas pela RedrawWindow função:

  • RDW_ALLCHILDREN Inclui janelas infantis, se houver, na operação de repintura.

  • RDW_NOCHILDREN Exclui as janelas crianças, se existirem, da operação de repintura.

Valor de retorno

Diferente de zero se a janela fosse redesenhada com sucesso; caso contrário, 0.

Observações

Quando a RedrawWindow função membro é usada para invalidar parte da janela do ambiente de trabalho, essa janela não recebe uma WM_PAINT mensagem. Para repintar o ambiente de trabalho, uma aplicação deve usar CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindow, ou RedrawWindow

CWnd::ReflectChildNotify

Esta função de mensagem é chamada pelo framework a partir de OnChildNotify.

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parâmetros

message
Especifica a mensagem a refletir.

wParam
Especifica informação adicional dependente da mensagem.

lParam
Especifica informação adicional dependente da mensagem.

pResult
O resultado gerado pela janela filho será devolvido pela janela pai. Pode ser NULL.

Valor de retorno

TRUE se a mensagem fosse refletida; caso contrário FALSE.

Observações

É uma função auxiliar que reflete message na sua origem.

As mensagens refletidas são enviadas diretamente para CWnd::OnWndMsg ou CCmdTarget::OnCmdMsg.

Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.

CWnd::ReflectLastMsg

Esta função membro é chamada pelo framework para refletir a última mensagem para a janela filha.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Parâmetros

hWndChild
Uma maçaneta para uma janela de criança.

pResult
O resultado gerado pela janela filho será devolvido pela janela pai. Pode ser NULL.

Valor de retorno

Não nula se a mensagem foi tratada; caso contrário, 0.

Observações

Esta função membro chama SendChildNotifyLastMsg se a janela identificada por hWndChild é um controlo OLE ou uma janela no mapa permanente.

Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.

CWnd::ReleaseDC

Liberta o contexto de um dispositivo, libertando-o para uso por outras aplicações.

int ReleaseDC(CDC* pDC);

Parâmetros

pDC
Identifica o contexto do dispositivo a ser libertado.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

O efeito da ReleaseDC função membro depende do tipo de contexto do dispositivo.

A aplicação deve chamar a ReleaseDC função membro para cada chamada à GetWindowDC função membro e para cada chamada à GetDC função membro.

CWnd::RepositionBars

Chamado para reposicionar e redimensionar barras de controlo na área do cliente de uma janela.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

Parâmetros

nIDFirst
O ID do primeiro numa série de barras de controlo para reposicionar e redimensionar.

nIDLast
O ID do último numa série de barras de controlo para reposicionar e redimensionar.

nIDLeftOver
Especifica o ID do painel que ocupa o resto da área do cliente.

nFlag
Pode ter um dos seguintes valores:

  • CWnd::reposDefault Executa a disposição das barras de controlo. lpRectParam não é usado e pode ser NULL.

  • CWnd::reposQuery A disposição das barras de controlo não está feita; em vez disso lpRectParam , é inicializado com o tamanho da área do cliente, como se o layout tivesse sido realmente feito.

  • CWnd::reposExtra Soma os valores de lpRectParam à área do cliente de nIDLast e também executa o layout.

lpRectParam
Aponta para uma RECT estrutura; cujo uso depende do valor de nFlag.

lpRectClient
Aponta para uma RECT estrutura que contém a área disponível do cliente. Se NULL, a área do cliente da janela será utilizada.

bStretch
Indica se a barra deve ser esticada ao tamanho da estrutura.

Observações

Os nIDFirst parâmetros e nIDLast definem um intervalo de IDs de barra de controlo a serem reposicionados na área do cliente. O nIDLeftOver parâmetro especifica o ID da janela filho (normalmente a vista), que é reposicionada e redimensionada para preencher o resto da área do cliente não preenchida por barras de controlo.

CWnd::RunModalLoop

Chame esta função membro para recuperar, traduzir ou despachar mensagens até ContinueModal que retorne FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Parâmetros

dwFlags
Especifica a mensagem do Windows a ser enviada. Pode ser um dos seguintes valores:

  • MLF_NOIDLEMSG Não envies WM_ENTERIDLE mensagens ao progenitor.

  • MLF_NOKICKIDLE Não envies WM_KICKIDLE mensagens para a janela.

  • MLF_SHOWONIDLE Mostra a janela quando a fila de mensagens ficar inativa.

Valor de retorno

Especifica o valor do nResult parâmetro passado para a EndModalLoop função membro, que é então usado para terminar o ciclo modal.

Observações

Por defeito, ContinueModal os retornos FALSE seguintes EndModalLoop são chamados. Devolve o valor fornecido para nResultEndModalLoop.

CWnd::ScreenToClient

Converte as coordenadas do ecrã de um dado ponto ou retângulo no ecrã para coordenadas do cliente.

void ScreenToClient(LPPOINT lpPoint) const;
void ScreenToClient(LPRECT lpRect) const;

Parâmetros

lpPoint
Aponta para um CPoint objeto ou POINT estrutura que contém as coordenadas do ecrã a converter.

lpRect
Aponta para um CRect objeto ou RECT estrutura que contém as coordenadas do ecrã a converter.

Observações

A ScreenToClient função membro substitui as coordenadas do ecrã indicadas em lpPoint ou lpRect pelas coordenadas do cliente. As novas coordenadas são relativas ao canto superior esquerdo da CWnd área do cliente.

Example

Veja o exemplo para CListCtrl::GetItemRect.

CWnd::ScrollWindow

Desloca o conteúdo da área cliente do objeto atual CWnd .

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

Parâmetros

xAmount
Especifica a quantidade, em unidades de dispositivo, de scrolling horizontal. Este parâmetro deve ser um valor negativo para deslocar-se para a esquerda.

yAmount
Especifica a quantidade, em unidades de dispositivo, de scrolling vertical. Este parâmetro deve ser um valor negativo para subir.

lpRect
Aponta para um CRect objeto ou RECT estrutura que especifica a porção da área do cliente a ser deslocada. Se lpRect for NULL, toda a área do cliente é deslocada. O caret é reposicionado se o retângulo do cursor intersectar o retângulo scroll.

lpClipRect
Aponta para um CRect objeto ou RECT estrutura que especifica o retângulo de recorte a rolar. Apenas as partes dentro deste retângulo são deslocadas. Os bits fora deste retângulo não são afetados, mesmo que estejam dentro do lpRect retângulo. Se lpClipRect for NULL, não é realizado nenhum recorte no retângulo de deslocamento.

Observações

Se o caret estiver no CWnd scroll, ScrollWindow esconde automaticamente o caret para evitar que seja apagado e depois restaura o caret quando o scroll termina. A posição do caret é ajustada em conformidade.

A área descoberta pela ScrollWindow função membro não é repintada, mas sim combinada na região de atualização do objeto atual CWnd . A aplicação irá eventualmente receber uma WM_PAINT mensagem a notificar que a região precisa de ser repintada. Para repintar a área descoberta ao mesmo tempo que o scroll é feito, chame a UpdateWindow função membro imediatamente após a chamada ScrollWindow.

Se lpRect for NULL, as posições de quaisquer janelas filhos na janela são deslocadas pela quantidade especificada por xAmount e yAmount, e quaisquer áreas inválidas (não pintadas) na CWnd também são deslocadas. ScrollWindow é mais rápido quando lpRect é NULL.

Se lpRect não NULLfor , as posições das janelas filhas não são alteradas, e as áreas inválidas em CWnd não são deslocadas. Para evitar problemas de atualização quando lpRect não está , chame a UpdateWindow função membro para repintar CWnd antes de chamar ScrollWindowNULL.

CWnd::ScrollWindowEx

Desloca o conteúdo da área cliente de uma janela.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

Parâmetros

dx
Especifica a quantidade, em unidades de dispositivo, de scrolling horizontal. Este parâmetro deve ter um valor negativo para se deslocar para a esquerda.

dy
Especifica a quantidade, em unidades de dispositivo, de scrolling vertical. Este parâmetro deve ter um valor negativo para subir.

lpRectScroll
Aponta para uma RECT estrutura que especifica a porção da área do cliente a ser deslocada. Se este parâmetro for NULL, toda a área do cliente é deslocada.

lpRectClip
Aponta para uma RECT estrutura que especifica o retângulo de recorte a rolar. Esta estrutura tem precedência sobre o retângulo apontado para por lpRectScroll. Apenas as partes dentro deste retângulo são deslocadas. Os bits fora deste retângulo não são afetados, mesmo que estejam dentro do lpRectScroll retângulo. Se este parâmetro for NULL, não é realizado clipping no retângulo de scroll.

prgnUpdate
Identifica a região que foi modificada para manter a região invalidada por scrolling. Este parâmetro pode ser NULL.

lpRectUpdate
Aponta para uma RECT estrutura que receberá os limites do retângulo invalidados por scrolling. Este parâmetro pode ser NULL.

flags
Pode ter um dos seguintes valores:

  • SW_ERASE Quando especificado com SW_INVALIDATE, apaga a região recém-invalidada enviando uma WM_ERASEBKGND mensagem para a janela.

  • SW_INVALIDATE Invalida a região identificada por prgnUpdate depois de deslocar.

  • SW_SCROLLCHILDREN Desloca todas as janelas filhas que intersectam o retângulo apontadas por lpRectScroll pelo número de pixels especificados em dx e dy. O Windows envia uma WM_MOVE mensagem a todas as janelas filhas que se cruzam lpRectScroll, mesmo que não se movem. O caret é reposicionado quando uma janela filha é deslocada e o retângulo do cursor intersecta o retângulo de scroll.

Valor de retorno

O valor de retorno é SIMPLEREGION (região invalidada retangular), COMPLEXREGION (região invalidada não retangular; retângulos sobrepostos), ou NULLREGION (nenhuma região invalidada), se a função for bem-sucedida; caso contrário, o valor de retorno é ERROR.

Observações

Esta função é semelhante à ScrollWindow função, com algumas funcionalidades adicionais.

Se SW_INVALIDATE e SW_ERASE não forem especificados, a ScrollWindowEx função membro não invalida a área de onde se está a deslocar. Se alguma destas bandeiras estiver definida, ScrollWindowEx invalida esta área. A área não é atualizada até que a aplicação chame a UpdateWindow função membro, chame a RedrawWindow função membro (especificando RDW_UPDATENOW ou RDW_ERASENOW), ou recupere a WM_PAINT mensagem da fila da aplicação.

Se a janela tiver o WS_CLIPCHILDREN estilo, as áreas devolvidas especificadas por prgnUpdate e lpRectUpdate representam a área total da janela deslocada que deve ser atualizada, incluindo quaisquer áreas nas janelas filhos que necessitem de atualização.

Se o SW_SCROLLCHILDREN flag for especificado, o Windows não atualizará corretamente o ecrã se parte de uma janela filha estiver deslocada. A parte da janela filha deslocada que está fora do retângulo de origem não será apagada e não será redesenhada corretamente no seu novo destino. Use a DeferWindowPos função Windows para mover janelas filhas que não fiquem completamente dentro do lpRectScroll retângulo. O cursor é reposicionado se a SW_SCROLLCHILDREN bandeira estiver definida e o retângulo de caret intersectar o retângulo de deslocamento.

Todas as coordenadas de entrada e saída (para , , , e prgnUpdate) são assumidas como estando em coordenadas do cliente, independentemente de a janela ter o CS_OWNDC estilo da classe ouCS_CLASSDC. lpRectUpdatelpRectCliplpRectScroll Use as LPtoDP funções e DPtoLP do Windows para converter para e a partir de coordenadas lógicas, se necessário.

CWnd::SendChildNotifyLastMsg

Esta função membro é chamada pelo framework para fornecer uma mensagem de notificação a uma janela filha, a partir da janela mãe, para que a janela filha possa tratar de uma tarefa.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Parâmetros

pResult
O resultado gerado pela janela filho será devolvido pela janela pai.

Valor de retorno

Diferente de zero se a janela filho tiver tratado a mensagem enviada ao seu pai; caso contrário, 0.

Observações

SendChildNotifyLastMsg Envie a mensagem atual para a fonte se for uma mensagem refletida.

Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.

CWnd::SendDlgItemMessage

Envia uma mensagem para um controlo.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parâmetros

nID
Especifica o identificador do controlo de diálogo que irá receber a mensagem.

message
Especifica a mensagem a enviar.

wParam
Especifica informação adicional dependente da mensagem.

lParam
Especifica informação adicional dependente da mensagem.

Valor de retorno

Especifica o valor devolvido pelo procedimento da janela do controlo, ou 0 se o controlo não for encontrado.

Observações

A SendDlgItemMessage função membro não retorna até que a mensagem tenha sido processada.

Usar SendDlgItemMessage é idêntico a obter um CWnd* para o controlo dado e chamar a SendMessage função membro.

Example

void CMyDlg::SetSpinRange()
{
   //set the min and max range of the up/down or spin control
   SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}

CWnd::SendMessage

Envia a mensagem especificada para esta janela.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parâmetros

message
Especifica a mensagem a enviar.

wParam
Especifica informação adicional dependente da mensagem.

lParam
Especifica informação adicional dependente da mensagem.

Valor de retorno

O resultado do processamento da mensagem; O seu valor depende da mensagem enviada.

Observações

A SendMessage função membro chama diretamente o procedimento janela e não retorna até que esse procedimento tenha processado a mensagem. Isto contrasta com a PostMessage função membro, que coloca a mensagem na fila de mensagens da janela e retorna imediatamente.

Example

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::SendMessageToDescendants

Chame esta função membro para enviar a mensagem Windows especificada para todas as janelas descendentes.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

Parâmetros

message
Especifica a mensagem a enviar.

wParam
Especifica informação adicional dependente da mensagem.

lParam
Especifica informação adicional dependente da mensagem.

bDeep
Especifica o nível de pesquisa. Se TRUE, pesquisa recursivamente todos os filhos; se FALSE, pesquisa apenas filhos imediatos.

bOnlyPerm
Especifica se a mensagem será recebida por janelas temporárias. Se TRUE, janelas temporárias podem receber a mensagem; se FALSE, apenas janelas permanentes recebem a mensagem. Para mais informações sobre janelas temporárias, consulte a Nota Técnica 3.

Observações

Se bDeep for FALSE, a mensagem é enviada apenas para os filhos imediatos da janela; caso contrário, a mensagem é enviada para todas as janelas descendentes.

Se bDeep e bOnlyPerm forem TRUE, a pesquisa continua abaixo das janelas temporárias. Neste caso, apenas as janelas permanentes encontradas durante a pesquisa recebem a mensagem. Se bDeep for FALSE, a mensagem é enviada apenas aos filhos imediatos da janela.

Example

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;

lf.lfHeight = 15; // Request a 15-pixel-high font

// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));

m_font.CreateFontIndirect(&lf); // Create the font.

SendMessageToDescendants(WM_SETFONT,
                         (WPARAM)m_font.m_hObject, //handle to font
                         MAKELONG((WORD)fRedraw, 0),
                         FALSE); // send to all descendants(TRUE) or
                                 // just children of *this (FALSE)

CWnd::SendNotifyMessage

Envia a mensagem especificada para a janela.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

message
Especifica a mensagem a enviar.

wParam
Especifica informação adicional dependente da mensagem.

lParam
Especifica informação adicional dependente da mensagem.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

Observações

Se a janela foi criada pelo thread que chama, SendNotifyMessage chama o procedimento da janela para a janela e não retorna até que o procedimento da janela tenha processado a mensagem. Se a janela foi criada por um thread diferente, SendNotifyMessage passa a mensagem para o procedimento da janela e retorna imediatamente; não espera que o procedimento da janela termine de processar a mensagem.

CWnd::SetActiveWindow

Faz CWnd a janela ativa.

CWnd* SetActiveWindow();

Valor de retorno

A janela que antes estava ativa.

O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

A SetActiveWindow função membro deve ser usada com cuidado, pois permite a uma aplicação assumir arbitrariamente a janela ativa e o foco de entrada. Normalmente, o Windows trata de toda a ativação.

CWnd::SetCapture

Faz com que toda a entrada subsequente do rato seja enviada para o objeto atual CWnd , independentemente da posição do cursor.

CWnd* SetCapture();

Valor de retorno

Um apontador para o objeto janela que anteriormente recebia toda a entrada do rato. É NULL , se não houver tal janela. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

Quando CWnd deixar de requerer toda a entrada do rato, a aplicação deve chamar a ReleaseCapture função para que outras janelas possam receber a entrada do rato.

Enquanto a entrada do rato é capturada, nenhuma WM_NCHITTESTWM_SETCURSOR mensagem de OR é enviada para a janela ativa.

CWnd::SetCaretPos

Define a posição do carinho.

static void PASCAL SetCaretPos(POINT point);

Parâmetros

point
Especifica as novas coordenadas x e y (nas coordenadas do cliente) do caret.

Observações

A SetCaretPos função membro move o caret apenas se este pertencer a uma janela na tarefa atual. SetCaretPos move o caret quer este esteja escondido ou não.

O caret é um recurso partilhado. Uma janela não deve mover o caret se não possuir o caret.

Example

// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
   //create a solid caret, the width is 2, the length is 20.
   CreateSolidCaret(2, 20);

   SetCaretPos(point);
   ShowCaret();

   CView::OnLButtonDown(nFlags, point);
}

CWnd::SetClipboardViewer

Adiciona esta janela à cadeia de janelas que são notificadas (através da WM_DRAWCLIPBOARD mensagem) sempre que o conteúdo da Área de Transferência é alterado.

HWND SetClipboardViewer();

Valor de retorno

Uma alavanca para a próxima janela na cadeia Clipboard-viewer se for bem-sucedida. As aplicações devem guardar este handle (pode ser armazenado como variável membro) e utilizá-lo ao responder a mensagens em cadeia do visualizador de Clipboard.

Observações

Uma janela que faz parte da cadeia Clipboard-viewer deve responder às WM_DRAWCLIPBOARDmensagens , WM_CHANGECBCHAIN, e WM_DESTROY passar a mensagem para a próxima janela da cadeia.

Esta função membro envia uma WM_DRAWCLIPBOARD mensagem para a janela. Como o handle para a próxima janela na cadeia Clipboard-viewer ainda não foi devolvido, a aplicação não deve transmitir a WM_DRAWCLIPBOARD mensagem que recebe durante a chamada para SetClipboardViewer.

Para se remover da cadeia Clipboard-viewer, uma aplicação deve chamar a ChangeClipboardChain função membro.

CWnd::SetDlgCtrlID

Define o ID da janela ou ID de controlo da janela para um novo valor.

int SetDlgCtrlID(int nID);

Parâmetros

nID
O novo valor a definir para o identificador do controlo.

Valor de retorno

O identificador anterior da janela, se for bem-sucedido; caso contrário, 0.

Observações

A janela pode ser qualquer janela filha, não apenas um controlo numa caixa de diálogo. A janela não pode ser uma janela de nível superior.

CWnd::SetDlgItemInt

Define o texto de um determinado controlo numa caixa de diálogo para a representação da cadeia de um valor inteiro especificado.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Parâmetros

nID
Especifica o ID inteiro do controlo a ser alterado.

nValue
Especifica o valor inteiro usado para gerar o texto do item.

bSigned
Especifica se o valor inteiro é assinado ou não. Se este parâmetro for TRUE, nValue está assinado. Se este parâmetro for TRUE e nValue for menor que 0, um sinal menos é colocado antes do primeiro dígito da cadeia. Se este parâmetro for FALSE, nValue é sem sinal.

Observações

SetDlgItemInt envia uma WM_SETTEXT mensagem para o controlo dado.

Example

Veja o exemplo para CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Define a legenda ou texto de um controlo pertencente a uma janela ou caixa de diálogo.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Parâmetros

nID
Identifica o controlo cujo texto deve ser definido.

lpszString
Aponta para um CString objeto ou cadeia terminada por null que contém o texto a ser copiado para o controlo.

Observações

SetDlgItemText envia uma WM_SETTEXT mensagem para o controlo dado.

Example

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);

CWnd::SetForegroundWindow

Coloca o fio que criou a janela em primeiro plano e ativa a janela.

BOOL SetForegroundWindow();

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

Observações

A entrada do teclado é direcionada para a janela, e vários sinais visuais são alterados para o utilizador. A janela em primeiro plano é a janela com a qual o utilizador está a trabalhar atualmente. A janela em primeiro plano aplica-se apenas às janelas de nível superior (janelas de moldura ou caixas de diálogo).

Example

Veja o exemplo para CWnd::FindWindow.

CWnd::SetFocus

Afirma o foco de entrada.

CWnd* SetFocus();

Valor de retorno

Um apontador para o objeto janela que anteriormente tinha o foco de entrada. É NULL , se não houver tal janela. O ponteiro devolvido pode ser temporário e não deve ser guardado.

Observações

O foco de entrada direciona todas as entradas subsequentes do teclado para esta janela. Qualquer janela que antes tivesse o foco de entrada perde-o.

A SetFocus função membro envia uma WM_KILLFOCUS mensagem para a janela que perde o foco de entrada e uma WM_SETFOCUS mensagem para a janela que recebe o foco de entrada. Também ativa a janela ou o seu pai.

Se a janela atual estiver ativa mas não tiver o foco (ou seja, nenhuma janela tiver o foco), qualquer tecla pressionada produzirá as mensagens WM_SYSCHAR, WM_SYSKEYDOWN, ou WM_SYSKEYUP.

CWnd::SetFont

Envia a WM_SETFONT mensagem para a janela para usar a fonte especificada.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

Parâmetros

pFont
Ponteiro para um objeto CFont.

bRedraw
TRUE para que a janela volte a desenhar imediatamente após processar a WM_SETFONT mensagem; caso contrário FALSE.

Observações

Este método não tem efeito a menos que a janela processe a WM_SETFONT mensagem. Muitas classes MFC que derivam de CWnd processam esta mensagem porque estão associadas a uma classe janela predefinida que inclui um manipulador de mensagens para a WM_SETFONT mensagem. Para usar este método, as classes de CWnd onde se deriva devem definir um handler de método para a WM_SETFONT mensagem.

CWnd::SetIcon

Chame esta função membro para definir o handle para um ícone específico, identificado por hIcon.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Parâmetros

hIcon
Uma alça de um ícone anterior.

bBigIcon
Especifica um ícone de 32 píxeis por 32 píxeis se TRUE; especifica um ícone de 16 píxeis por 16 píxeis se FALSE.

Valor de retorno

Um identificador para um ícone.

Observações

Quando a classe janela é registada, seleciona um ícone.

Example

Veja o exemplo para CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

Define a chave de cor opacidade e transparência de uma janela em camadas.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Parâmetros

crKey
Apontador para um COLORREF valor que especifica a chave de cor de transparência a ser usada ao compor a janela em camadas. Todos os píxeis pintados pela janela nesta cor serão transparentes. Para gerar um COLORREF, use a RGB macro.

bAlpha
Valor alfa usado para descrever a opacidade da janela em camadas. Para mais informações, consulte o SourceConstantAlpha elemento da BLENDFUNCTION estrutura. Quando bAlpha é 0, a janela é completamente transparente. Quando bAlpha é 255, a janela é opaca.

dwFlags
Especifica uma ação a tomar. Este parâmetro pode ser um ou mais dos seguintes valores. Para uma lista de valores possíveis, veja SetLayeredWindowAttributes.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função SetLayeredWindowAttributes, conforme descrito no SDK do Windows.

CWnd::SetMenu

Define o menu atual para o menu especificado.

BOOL SetMenu(CMenu* pMenu);

Parâmetros

pMenu
Identifica o novo menu. Se este parâmetro for NULL, o menu atual é removido.

Valor de retorno

Diferente de zero se o menu for alterado; caso contrário, 0.

Observações

Faz com que a janela seja redesenhada para refletir a alteração do menu.

SetMenu Não vai destruir um menu anterior. Uma aplicação deve chamar a CMenu::DestroyMenu função membro para realizar esta tarefa.

Example

Veja o exemplo para CMenu::LoadMenu.

CWnd::SetOwner

Define o proprietário da janela atual para o objeto janela especificado.

void SetOwner(CWnd* pOwnerWnd);

Parâmetros

pOwnerWnd
Identifica o novo proprietário do objeto janela. Se este parâmetro for NULL, o objeto janela não tem proprietário.

Observações

Este proprietário pode então receber mensagens de comando do objeto janela atual. Por defeito, o pai da janela atual é o seu proprietário.

É frequentemente útil estabelecer ligações entre objetos janela que não estão relacionadas com a hierarquia da janela. Por exemplo, CToolBar envia notificações ao seu proprietário em vez de ao pai. Isto permite que a barra de ferramentas se torne filha de uma janela (como uma janela de aplicação de contentor OLE) enquanto envia notificações para outra janela (como a janela de frames no local). Além disso, quando uma janela de servidor é desativada ou ativada durante a edição no local, qualquer janela pertencente à janela do frame fica oculta ou mostrada. Esta propriedade é explicitamente definida com uma chamada para SetOwner.

O conceito de propriedade desta função é diferente do conceito de propriedade de GetWindow.

CWnd::SetParent

Altera a janela de pai de uma janela filha.

CWnd* SetParent(CWnd* pWndNewParent);

Parâmetros

pWndNewParent
Identifica a nova janela principal.

Valor de retorno

Um apontador para o objeto da janela pai anterior, se for bem-sucedido. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

Se a janela filha estiver visível, o Windows realiza o redesenho e repintura apropriados.

CWnd::SetProperty

Chame esta função membro para definir a propriedade de controlo OLE especificada por dwDispID.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parâmetros

dwDispID
Identifica a propriedade a definir.

vtProp
Especifica o tipo de propriedade a definir. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.

...
Um único parâmetro do tipo especificado por vtProp.

Observações

Observação

Esta função deve ser chamada apenas num CWnd objeto que represente um controlo OLE.

Para mais informações sobre a utilização desta função membro com os Contentores de Controlo OLE, consulte o artigo Contentores de Controlo ActiveX: Programar Controlos ActiveX num Contentor de Controlo ActiveX.

CWnd::SetRedraw

Uma aplicação pede SetRedraw para permitir que alterações sejam redesenhadas ou para impedir que alterações sejam redesenhadas.

void SetRedraw(BOOL bRedraw = TRUE);

Parâmetros

bRedraw
Especifica o estado da bandeira de redesenho. Se este parâmetro for TRUE, a bandeira de redesenho é definida; se FALSE, a bandeira é limpa.

Observações

Esta função membro define ou limpa a bandeira de redesenho. Enquanto a bandeira de redesenho estiver limpa, o conteúdo não será atualizado após cada alteração e não será repintado até que a bandeira de redesenho esteja definida. Por exemplo, uma aplicação que precisa de adicionar vários itens a uma caixa de lista pode limpar o flag de redesenho, adicionar os itens e depois definir o flag de redesenho. Finalmente, a aplicação pode chamar a Invalidate função membro ou InvalidateRect para fazer com que a caixa de lista seja repintada.

Example

// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing

//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode

//
// Update control
//

m_List.SetRedraw(TRUE); // turn drawing back on and update the window

// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();

CWnd::SetScrollInfo

Chame esta função membro para definir a informação que a SCROLLINFO estrutura mantém sobre uma barra de deslocamento.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Parâmetros

nBar
Especifica se a barra de deslocamento é um controlo ou parte da área não cliente de uma janela. Se fizer parte da área não cliente, nBar indica também se a barra de scroll está posicionada horizontalmente, verticalmente, ou ambas. Deve ser um dos seguintes:

  • SB_CTL Contém os parâmetros para um controlo de barra de deslocamento. O m_hWnd elemento de dados deve ser o alavanca do controlo da barra de deslocamento.

  • SB_HORZ Especifica que a janela é uma barra de scroll horizontal.

  • SB_VERT Especifica que a janela é uma barra de scroll vertical.

lpScrollInfo
Um ponteiro para uma SCROLLINFO estrutura. Consulte o Windows SDK para mais informações sobre esta estrutura.

bRedraw
Especifica se a barra de deslocamento deve ser redesenhada para refletir a nova posição. Se bRedraw for TRUE, a barra de deslocamento é redesenhada. Se for, FALSEnão é redesenhado. A barra de scroll é redesenhada por defeito.

Valor de retorno

Se for bem-sucedido, o retorno é TRUE. Caso contrário, é FALSE.

Observações

A SCROLLINFO estrutura contém informações sobre uma barra de deslocamento, incluindo as posições mínima e máxima, o tamanho da página e a posição da caixa de deslocamento (o polegar). Consulte o SCROLLINFO tópico de estrutura no SDK do Windows para mais informações sobre como alterar os padrões de estrutura.

Os manipuladores de mensagens do Windows MFC que indicam a posição da barra de deslocamento, CWnd::OnHScroll e CWnd::OnVScroll, fornecem apenas 16 bits de dados de posição. GetScrollInfo e SetScrollInfo fornecem 32 bits de dados de posição da barra de deslocamento. Assim, uma aplicação pode chamar GetScrollInfo enquanto processa ou CWnd::OnVScrollCWnd::OnHScroll para obter dados de posição em barra de scroll de 32 bits.

Observação

CWnd::GetScrollInfo permite que as aplicações utilizem posições de barras de deslocamento de 32 bits.

CWnd::SetScrollPos

Define a posição atual de uma caixa de deslocamento e, se solicitado, volta a desenhar a barra de deslocamento para refletir a nova posição da caixa.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Parâmetros

nBar
Especifica a barra de scroll a definir. Este parâmetro pode ser um dos seguintes:

  • SB_HORZ Define a posição da caixa de deslocamento na barra horizontal da janela.

  • SB_VERT Define a posição da caixa de deslocamento na barra vertical da janela.

nPos
Especifica a nova posição da caixa de deslocamento. Tem de estar dentro do intervalo de scroll.

bRedraw
Especifica se a barra de deslocamento deve ser repintada para refletir a nova posição da caixa de deslocamento. Se este parâmetro for TRUE, a barra de scroll é repintada; se FALSE, a barra de scroll não é repintada.

Valor de retorno

A posição anterior da caixa de pergaminhos.

Observações

Definir bRedraw para FALSE é útil sempre que a barra de scroll for redesenhada por uma chamada subsequente a outra função.

CWnd::SetScrollRange

Define valores mínimos e máximos de posição para a barra de deslocação dada.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Parâmetros

nBar
Especifica a barra de scroll a definir. Este parâmetro pode ser um dos seguintes valores:

  • SB_HORZ Define o alcance da barra horizontal da janela.

  • SB_VERT Define o alcance da barra vertical da janela.

nMinPos
Especifica a posição mínima de scroll.

nMaxPos
Especifica a posição máxima de scroll.

bRedraw
Especifica se a barra de deslocamento deve ser redesenhada para refletir a alteração. Se bRedraw for TRUE, a barra de scroll é redesenhada; se FALSE, a barra de scroll não é redesenhada.

Observações

Também pode ser usado para ocultar ou mostrar barras de scroll padrão.

Uma aplicação não deve chamar esta função para esconder uma barra de deslocamento enquanto processa uma mensagem de notificação na barra de deslocamento.

Se a chamada para SetScrollRange seguir imediatamente a uma chamada para a SetScrollPos função membro, o bRedraw parâmetro na SetScrollPos função membro deve ser 0 para evitar que a barra de scroll seja desenhada duas vezes.

O intervalo padrão para uma barra de scroll padrão é de 0 a 100. O intervalo padrão para um controlo de barra de deslocamento está vazio (ambos os nMinPos valores de e nMaxPos são 0). A diferença entre os valores especificados por nMinPos e nMaxPos não pode ser maior que INT_MAX.

CWnd::SetTimer

Instala um temporizador do sistema.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

Parâmetros

nIDEvent
Especifica um identificador de temporizador diferente de zero. Se o identificador do temporizador for único, este mesmo valor é devolvido por SetTimer. Caso contrário, SetTimer determina um novo valor único e devolve-o. Para um temporizador de janela (que tem uma NULL função de callback), o valor deve ser único apenas para outros temporizadores de janelas associados à janela atual. Para um temporizador de callback, o valor deve ser único para todos os temporizadores em todos os processos. Por isso, ao criar um temporizador de callback, é mais provável que o valor devolvido seja diferente do valor que especifica.

nElapse
Especifica o valor de time-out, ou intervalo, em milissegundos.

lpfnTimer
Especifica o endereço da função de callback fornecida TimerProc pela aplicação que processa as WM_TIMER mensagens. Se este parâmetro for NULL, as WM_TIMER mensagens são colocadas na fila de mensagens da aplicação e tratadas pelo CWnd objeto.

Valor de retorno

O identificador do temporizador do novo temporizador se a função for bem-sucedida. Este valor pode ou não ser igual ao valor passado através do nIDEvent parâmetro. Uma aplicação deve sempre passar o valor de retorno para a KillTimer função membro para eliminar o temporizador. Não nulo se for bem-sucedido; caso contrário, 0.

Observações

É especificado um valor de intervalo e, sempre que o intervalo termina, o sistema envia uma WM_TIMER mensagem para a fila de mensagens de instalação da aplicação instaladora ou passa a mensagem para uma função de callback definida TimerProc pela aplicação.

A lpfnTimer função de callback não precisa de ser chamada TimerProc, mas deve ser declarada como estática e definida da seguinte forma.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Example

Este exemplo usa CWnd::SetTimer, CWnd::OnTimer, e CWnd::KillTimer para tratar WM_TIMER mensagens. O primeiro temporizador é configurado para enviar uma WM_TIMER mensagem para a janela principal do quadro a cada 2 segundos em OnStartTimer. O OnTimer gestor de eventos trata WM_TIMER das mensagens para a janela do quadro principal. Este método faz com que a coluna do PC emita um bip a cada 2 segundos. O segundo temporizador envia uma mensagem para a função de retorno de chamada a cada 3,75 segundos. OnStopTimer irá parar ambos os temporizadores ao pedir CWnd::KillTimer cada ID do temporizador.

void CMainFrame::OnStartTimer()
{
   // This timer uses a WM_TIMER message, not a callback.
   // Therefore, the timer is specific to this window.
   // m_nWindowTimer is a UINT_PTR field.
   m_nWindowTimer = SetTimer(1, 2000, NULL);

   // For this demo, we specify an interval that won't overlap
   // with the window timer.
   m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);

   // See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
   CString str;
   str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
   TRACE(str);
#endif
}

void CALLBACK CMainFrame::MyTimerProc(
    HWND hWnd,         // handle of CWnd that called SetTimer
    UINT nMsg,         // WM_TIMER
    UINT_PTR nIDEvent, // timer identification
    DWORD dwTime       // system time
)
{
   MessageBeep(0x00000030L); // Windows question sound.
}

void CMainFrame::OnStopTimer()
{
   KillTimer(m_nWindowTimer);
   KillTimer(m_nCallbackTimer);
}

void CMainFrame::OnTimer(UINT nIDEvent)
{
   MessageBeep(0xFFFFFFFF); // Beep

   // Call base class handler.
   CMDIFrameWnd::OnTimer(nIDEvent);
}

CWnd::SetWindowContextHelpId

Chame esta função membro para associar um identificador de contexto de ajuda à janela especificada.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Parâmetros

dwContextHelpId
O identificador de contexto da ajuda.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

Observações

Se uma janela filho não tiver um identificador de contexto de ajuda, herda o identificador da sua janela pai. Da mesma forma, se uma janela propriedade não tiver um identificador de contexto de ajuda, ela herda o identificador da sua janela proprietária. Esta herança dos identificadores de contexto de ajuda permite que uma aplicação defina apenas um identificador para uma caixa de diálogo e todos os seus controlos.

Example

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);

CWnd::SetWindowPlacement

Define o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas para uma janela.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

Parâmetros

lpwndpl
Aponta para uma WINDOWPLACEMENT estrutura que especifica o novo estado de exibição e as posições.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

CWnd::SetWindowPos

Altera o tamanho, a posição e a ordem Z das janelas filha, pop-up e do nível superior.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parâmetros

pWndInsertAfter
Identifica o CWnd objeto que irá preceder (ser superior a) este CWnd objeto na ordem Z. Este parâmetro pode ser um apontador para a CWnd ou um apontador para um dos seguintes valores:

  • wndBottom Coloca a janela na parte inferior da ordem Z. Se esta CWnd for uma janela superior, a janela perde o seu estatuto superior; o sistema coloca a janela na parte inferior de todas as outras janelas.

  • wndTop Coloca a janela no topo da ordem Z.

  • wndTopMost Coloca a janela acima de todas as janelas que não são superiores. A janela mantém a sua posição superior mesmo quando está desativada.

  • wndNoTopMost Reposiciona a janela no topo de todas as janelas que não são superiores (ou seja, atrás de todas as janelas superiores). Esta bandeira não tem efeito se a janela já for uma janela não superior.

Para regras sobre como usar este parâmetro, consulte a secção "Observações" deste tópico.

x
Especifica a nova posição do lado esquerdo da janela.

y
Especifica a nova posição do topo da janela.

cx
Especifica a nova largura da janela.

cy
Especifica a nova altura da janela.

nFlags
Especifica opções de tamanho e posicionamento. Este parâmetro pode ser uma combinação das seguintes bandeiras:

  • SWP_DRAWFRAME Desenha uma moldura (definida quando a janela foi criada) à volta da janela.

  • SWP_FRAMECHANGED Envia uma WM_NCCALCSIZE mensagem para a janela, mesmo que o tamanho da janela não esteja a ser alterado. Se esta bandeira não for especificada, WM_NCCALCSIZE só é enviada quando o tamanho da janela está a ser alterado.

  • SWP_HIDEWINDOW Esconde a janela.

  • SWP_NOACTIVATE Não ativa a janela. Se este flag não estiver definido, a janela é ativada e movida para o topo do grupo mais alto ou não superior (dependendo da definição do pWndInsertAfter parâmetro).

  • SWP_NOCOPYBITS Descarta todo o conteúdo da área do cliente. Se este flag não for especificado, o conteúdo válido da área do cliente é guardado e copiado de volta para a área do cliente depois de a janela ser dimensionada ou reposicionada.

  • SWP_NOMOVEMantém a posição atual (ignora os x parâmetros e).y

  • SWP_NOOWNERZORDER Não altera a posição da janela do proprietário na ordem Z.

  • SWP_NOREDRAW Não redesenha as alterações. Se esta bandeira for colocada, não ocorre qualquer tipo de repintura. Isto aplica-se à área do cliente, à área não-cliente (incluindo o título e as barras de scroll) e a qualquer parte da janela principal descoberta como resultado da janela movida. Quando este flag é definido, a aplicação deve invalidar ou redesenhar explicitamente quaisquer partes da janela e da janela pai que tenham de ser redesenhadas.

  • SWP_NOREPOSITION O mesmo que SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Impede que a janela receba a WM_WINDOWPOSCHANGING mensagem.

  • SWP_NOSIZEMantém o tamanho atual (ignora os cx parâmetros e).cy

  • SWP_NOZORDER Mantém a ordem atual (ignora pWndInsertAfter).

  • SWP_SHOWWINDOW Mostra a janela.

Valor de retorno

Não nula se a função for bem-sucedida; caso contrário, 0.

Observações

As janelas estão ordenadas no ecrã de acordo com a sua ordem Z; a janela no topo da ordem Z aparece em cima de todas as outras janelas da ordem.

Todas as coordenadas das janelas filhos são coordenadas do cliente (em relação ao canto superior esquerdo da área do cliente da janela principal).

Uma janela pode ser movida para o topo da ordem Z, quer definindo o pWndInsertAfter parâmetro para &wndTopMost e garantindo que a SWP_NOZORDER bandeira não está definida, quer definindo a ordem Z da janela para que fique acima de qualquer janela superior existente. Quando uma janela não superior é feita por cima, as janelas próprias também são feitas por cima. Os seus proprietários não mudaram.

Uma janela mais superior deixa de ser a mais alta se for reposicionada para a parte inferior (&wndBottom) da ordem Z ou após qualquer janela não superior. Quando uma janela superior é feita sem topo, todos os seus proprietários e as janelas próprias também são feitas não superiores.

Se nem SWP_NOACTIVATESWP_NOZORDER nem for especificado (isto é, quando a aplicação solicitar que uma janela seja ativada simultaneamente e colocada na ordem Z especificada), o valor especificado em pWndInsertAfter é usado apenas nas seguintes circunstâncias:

  • Nenhum &wndTopMost dos dois &wndNoTopMost é especificado no pWndInsertAfter parâmetro.

  • Esta janela não é a janela ativa.

Uma aplicação não pode ativar uma janela inativa sem também a trazer para o topo da ordem Z. As aplicações podem alterar a ordem Z de uma janela ativada sem restrições.

Uma janela não superior pode possuir uma janela superior, mas não o contrário. Qualquer janela (por exemplo, uma caixa de diálogo) pertencente a uma janela superior é ela própria transformada numa janela superior para garantir que todas as janelas pertencentes permaneçam acima do seu proprietário.

Com as versões 3.1 e posteriores do Windows, as janelas podem ser movidas para o topo da ordem Z e bloqueadas aí definindo os seus WS_EX_TOPMOST estilos. Uma janela superior assim mantém a sua posição superior mesmo quando desativada. Por exemplo, ao selecionar o comando WinHelp Always On Top, a janela de Ajuda fica no topo, e depois permanece visível quando regressa à sua aplicação.

Para criar uma janela superior, chame SetWindowPos com o pWndInsertAfter parâmetro igual a &wndTopMost, ou defina o WS_EX_TOPMOST estilo ao criar a janela.

Se a ordem Z contiver janelas com o WS_EX_TOPMOST estilo, uma janela movida com o &wndTopMost valor é colocada no topo de todas as janelas não superiores, mas abaixo das janelas superiores. Quando uma aplicação ativa uma janela inativa sem o WS_EX_TOPMOST bit, a janela é movida acima de todas as janelas não superiores, mas abaixo de qualquer janela superior.

Se SetWindowPos é chamado quando o pWndInsertAfter parâmetro é &wndBottom e CWnd é uma janela mais alta, a janela perde o seu estado superior (WS_EX_TOPMOST está limpa), e o sistema coloca a janela na parte inferior da ordem Z.

Example

void CMyApp::OnHideApplication()
{
   //m_pMainWnd is the main application window, a member of CMyApp
   ASSERT_VALID(m_pMainWnd);

   // hide the application's windows before closing all the documents
   m_pMainWnd->ShowWindow(SW_HIDE);
   m_pMainWnd->ShowOwnedPopups(FALSE);

   // put the window at the bottom of z-order, so it isn't activated
   m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
                            SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}

CWnd::SetWindowRgn

Chame esta função membro para definir a região de uma janela.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Parâmetros

hRgn
Uma pega para uma região.

bRedraw
Se TRUE, o sistema operativo redesenha a janela após definir a região; caso contrário, não o faz. Normalmente, define bRedraw para TRUE se a janela for visível. Se definido para TRUE, o sistema envia as WM_WINDOWPOSCHANGING mensagens e WM_WINDOWPOSCHANGED para a janela.

Valor de retorno

Se a função tiver sucesso, o valor de retorno é diferente de zero. Se a função falhar, o valor de retorno será zero.

Observações

As coordenadas da região da janela são relativas ao canto superior esquerdo da janela, não à área cliente da janela.

Após uma chamada bem-sucedida para SetWindowRgn, o sistema operativo é dono da região especificada pelo handle hRgnregional . O sistema operativo não faz uma cópia da região, por isso não faça mais chamadas de função com este handle de região e não feche este handle de região.

CWnd::SetWindowText

Define o título da janela para o texto especificado.

void SetWindowText(LPCTSTR lpszString);

Parâmetros

lpszString
Aponta para um CString objeto ou cadeia terminada por null a ser usada como novo título ou texto de controlo.

Observações

Se a janela for um controlo, o texto dentro do controlo é definido.

Esta função faz com que uma WM_SETTEXT mensagem seja enviada para esta janela.

Example

// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));

// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.

CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));

// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.

TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);

// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);

// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);

CWnd::ShowCaret

Mostra o caret no ecrã na posição atual do caret.

void ShowCaret();

Observações

Uma vez mostrado, o caret começa a piscar automaticamente.

A ShowCaret função membro mostra o caret apenas se este tiver uma forma atual e não tiver sido ocultado duas ou mais vezes consecutivas. Se o caret não pertence a esta janela, o caret não é mostrado.

Esconder o caret é cumulativo. Se a HideCaret função membro tiver sido chamada cinco vezes consecutivamente, ShowCaret deve ser chamada cinco vezes para mostrar o carente.

O caret é um recurso partilhado. A janela deve mostrar o caret apenas quando tem o foco de entrada ou está ativo.

Example

Veja o exemplo para CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Mostra ou esconde todas as janelas pop-up que pertencem a esta janela.

void ShowOwnedPopups(BOOL bShow = TRUE);

Parâmetros

bShow
Especifica se as janelas pop-up devem ser mostradas ou ocultas. Se este parâmetro for TRUE, todas as janelas pop-up ocultas são mostradas. Se este parâmetro for FALSE, todas as janelas pop-up visíveis ficam ocultas.

Example

Veja o exemplo para CWnd::SetWindowPos.

CWnd::ShowScrollBar

Mostra ou esconde uma barra de deslocamento.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Parâmetros

nBar
Especifica se a barra de deslocamento é um controlo ou parte da área não cliente de uma janela. Se fizer parte da área não cliente, nBar indica também se a barra de deslocamento está posicionada horizontalmente, verticalmente ou ambas. Deve ser um dos seguintes:

  • SB_BOTH Especifica as barras de scroll horizontais e verticais da janela.

  • SB_HORZ Especifica que a janela é uma barra de scroll horizontal.

  • SB_VERT Especifica que a janela é uma barra de scroll vertical.

bShow
Especifica se o Windows mostra ou esconde a barra de deslocamento. Se este parâmetro for TRUE, a barra de scroll é mostrada; caso contrário, a barra de scroll fica oculta.

Observações

Uma aplicação não deve ligar ShowScrollBar para ocultar uma barra de deslocamento enquanto processa uma mensagem de notificação na barra de deslocamento.

CWnd::ShowWindow

Define o estado de visibilidade da janela.

BOOL ShowWindow(int nCmdShow);

Parâmetros

nCmdShow
Especifica como deve ser mostrado CWnd . Deve ser um dos seguintes valores:

  • SW_HIDE Esconde esta janela e passa a ativação para outra janela.

  • SW_MINIMIZE Minimiza a janela e ativa a janela de nível superior na lista do sistema.

  • SW_RESTORE Ativa e mostra a janela. Se a janela for minimizada ou maximizada, o Windows restaura-a para o seu tamanho e posição originais.

  • SW_SHOW Ativa a janela e mostra-a no seu tamanho e posição atuais.

  • SW_SHOWMAXIMIZED Ativa a janela e mostra-a como uma janela maximizada.

  • SW_SHOWMINIMIZED Ativa a janela e mostra-a como um ícone.

  • SW_SHOWMINNOACTIVE Mostra a janela como um ícone. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNA Mostra a janela no seu estado atual. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNOACTIVATE Exibe a janela no seu tamanho e posição mais recentes. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNORMAL Ativa e mostra a janela. Se a janela for minimizada ou maximizada, o Windows restaura-a para o seu tamanho e posição originais.

Valor de retorno

Diferente de zero se a janela já era visível; 0 se já CWnd estivesse escondido.

Observações

ShowWindow deve ser chamado apenas uma vez por aplicação para a janela principal com CWinApp::m_nCmdShow. Chamadas subsequentes a ShowWindow devem usar um dos valores listados acima em vez do especificado por CWinApp::m_nCmdShow.

Example

Veja o exemplo para CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Chame esta função membro para "subclassar dinamicamente" um controlo criado a partir de um template de diálogo e anexá-lo a esse CWnd objeto.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Parâmetros

nID
O ID do controlo.

pParent
O pai do controlo (normalmente uma caixa de diálogo).

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

Observações

Quando um controlo é subclassificado dinamicamente, as mensagens do Windows passam primeiro pelo CWndmapa de mensagens de s e chamam os manipuladores de mensagens na CWndclasse . As mensagens que são passadas para a classe base serão passadas para o manipulador de mensagens padrão no controlo.

Esta função membro anexa o controlo Windows a um CWnd objeto e substitui os WndProc controlos e AfxWndProc funções. A função armazena o antigo WndProc no local devolvido pela GetSuperWndProcAddr função membro.

Example

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);

CWnd::SubclassWindow

Chame esta função membro para "subclassar dinamicamente" uma janela e anexá-la a esse CWnd objeto.

BOOL SubclassWindow(HWND hWnd);

Parâmetros

hWnd
Uma maçaneta para a janela.

Valor de retorno

Diferente de zero se a função for bem-sucedida; caso contrário, 0.

Observações

Quando uma janela é subclassificada dinamicamente, as mensagens do Windows passam primeiro pelo CWndmapa de mensagens de 's e chamam os manipuladores de mensagens na CWndclasse 's. As mensagens que são passadas para a classe base serão passadas para o manipulador de mensagens por defeito na janela.

Esta função membro associa o controlo do Windows a um CWnd objeto e substitui as funções da WndProcAfxWndProc janela. A função armazena um ponteiro para o antigo WndProc no CWnd objeto.

Observação

A janela não deve estar já anexada a um objeto MFC quando esta função é chamada.

Example

// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   if (nCtlColor == CTLCOLOR_EDIT)
   {
      //Edit control
      if (m_edit.GetSafeHwnd() == NULL)
         m_edit.SubclassWindow(pWnd->GetSafeHwnd());
   }
   else if (nCtlColor == CTLCOLOR_LISTBOX)
   {
      //ListBox control
      if (m_listbox.GetSafeHwnd() == NULL)
         m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
   }

   HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
   return hbr;
}

void CSuperComboBox::OnDestroy()
{
   //unsubclass edit and list box before destruction
   if (m_edit.GetSafeHwnd() != NULL)
      m_edit.UnsubclassWindow();
   if (m_listbox.GetSafeHwnd() != NULL)
      m_listbox.UnsubclassWindow();
   CComboBox::OnDestroy();
}

CWnd::UnlockWindowUpdate

Chame esta função membro para desbloquear uma janela que estava bloqueada com CWnd::LockWindowUpdate.

void UnlockWindowUpdate();

Observações

Apenas uma janela de cada vez pode ser trancada usando LockWindowUpdate. Consulte CWnd::LockWindowUpdate a função LockWindowUpdate Win32 para mais informações sobre bloqueio de janelas.

CWnd::UnsubclassWindow

Chame esta função membro para voltar WndProc ao seu valor original e separe a janela identificada por HWND do CWnd objeto.

HWND UnsubclassWindow();

Valor de retorno

Uma maçaneta para a janela sem subclasse.

Example

Veja o exemplo para CWnd::SubclassWindow.

CWnd::UpdateData

Chame esta função membro para inicializar dados numa caixa de diálogo, ou para recuperar e validar dados de diálogo.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Parâmetros

bSaveAndValidate
Flag que indica se a caixa de diálogo está a ser inicializada (FALSE) ou se os dados estão a ser recuperados (TRUE).

Valor de retorno

Diferente de zero se a operação for bem-sucedida; caso contrário, 0. Se bSaveAndValidate for TRUE, então um valor de retorno não nulo significa que os dados foram validados com sucesso.

Observações

O framework chama UpdateData automaticamente com bSaveAndValidate set para FALSE quando uma caixa de diálogo modal é criada na implementação padrão de CDialog::OnInitDialog. A chamada ocorre antes da caixa de diálogo ser visível. A implementação padrão de CDialog::OnOK chama esta função membro com bSaveAndValidate define para TRUE recuperar os dados e, se bem-sucedida, fecha a caixa de diálogo. (Se o botão Cancelar for clicado na caixa de diálogo, esta é fechada sem que os dados sejam recuperados.)

CWnd::UpdateDialogControls

Chame esta função membro para atualizar o estado dos botões de diálogo e outros controlos numa caixa de diálogo ou janela que utilize o mecanismo de ON_UPDATE_COMMAND_UI callback.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Parâmetros

pTarget
Aponta para a janela principal da aplicação e é usada para encaminhar mensagens de atualização.

bDisableIfNoHndler
Flag que indica se um controlo sem gestor de atualizações deve ser automaticamente exibido como desativado.

Observações

Se um controlo infantil não tiver um controlador e bDisableIfNoHndler for TRUE, então o controlo infantil será desativado.

A estrutura chama esta função membro para controlos em barras de diálogo ou barras de ferramentas como parte do processamento inativo da aplicação.

CWnd::UpdateLayeredWindow

Atualiza a posição, tamanho, forma, conteúdo e translucidez de uma janela em camadas.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

Parâmetros

pDCDst
Um apontador para o contexto de um dispositivo para o ecrã. É usado para corresponder as cores da paleta quando o conteúdo das janelas é atualizado. Se pDCDst for NULL, será usada a paleta padrão.

Se pDCSrc for NULL, pDCDst deve ser NULL.

pptDst
Um apontador para uma POINT estrutura que especifica a nova posição do ecrã da janela em camadas. Se a posição atual não estiver a mudar, pptDst pode ser NULL.

psize
Apontar para uma SIZE estrutura que especifica o novo tamanho da janela em camadas. Se o tamanho da janela não estiver a mudar, psize pode ser NULL.

Se pDCSrc for NULL, psize deve ser NULL.

pDCSrc
Um ponteiro para um DC para a superfície que define a janela em camadas. Se a forma e o contexto visual da janela não estiverem a mudar, pDCSrc pode ser NULL.

pptSrc
Apontador para uma POINT estrutura que especifica a localização da camada no contexto do dispositivo.

Se pDCSrc for NULL, pptSrc deveria ser NULL.

crKey
Apontador para um COLORREF valor que especifica a chave de cor de transparência a ser usada ao compor a janela em camadas. Todos os píxeis pintados pela janela nesta cor serão transparentes. Para gerar um COLORREF, use a macro RGB.

pblend
Apontador para uma BLENDFUNCTION estrutura que especifica o valor de transparência a usar ao compor a janela em camadas.

dwFlags
Especifica uma ação a tomar. Este parâmetro pode ser um ou mais dos seguintes valores. Para uma lista de valores possíveis, veja UpdateLayeredWindow.

Valor de retorno

Não nula se a função tiver sucesso; caso contrário, 0.

Observações

Esta função de membro emula a funcionalidade da função UpdateLayeredWindow, conforme descrito no SDK do Windows.

CWnd::UpdateWindow

Atualiza a área do cliente enviando uma WM_PAINT mensagem se a região de atualização não estiver vazia.

void UpdateWindow();

Observações

A UpdateWindow função membro envia uma WM_PAINT mensagem diretamente, contornando a fila da aplicação. Se a região de atualização estiver vazia, WM_PAINT não é enviada.

Example

// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated.  It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.

void CMdiView::OnChangeRect()
{
   // Change Rectangle size.
   m_rcBox = CRect(20, 20, 210, 210);

   // Invalidate window so entire client area
   // is redrawn when UpdateWindow is called.
   Invalidate();

   // Update Window to cause View to redraw.
   UpdateWindow();
}

// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
   // Other draw code here.

   pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}

CWnd::ValidateRect

Valida a área do cliente dentro do retângulo dado removendo o retângulo da região de atualização da janela.

void ValidateRect(LPCRECT lpRect);

Parâmetros

lpRect
Aponta para um CRect objeto ou RECT estrutura que contém coordenadas cliente do retângulo a remover da região de atualização. Se lpRect for NULL, toda a janela é validada.

Observações

A BeginPaint função membro valida automaticamente toda a área do cliente. Nem a ValidateRect função nem a ValidateRgn função membro devem ser chamadas se uma parte da região de atualização precisar de ser validada antes WM_PAINT de ser gerada novamente.

O Windows continua a gerar WM_PAINT mensagens até que a região atual da atualização seja validada.

CWnd::ValidateRgn

Valida a área do cliente dentro da região dada removendo a região da região de atualização atual da janela.

void ValidateRgn(CRgn* pRgn);

Parâmetros

pRgn
Um apontador para um CRgn objeto que identifica uma região que define a área a ser removida da região de atualização. Se este parâmetro for NULL, toda a área do cliente é removida.

Observações

A região dada deve ter sido criada anteriormente por uma função de região. As coordenadas da região são assumidas como coordenadas do cliente.

A BeginPaint função membro valida automaticamente toda a área do cliente. Nem a ValidateRect função nem a ValidateRgn função membro devem ser chamadas se uma parte da região de atualização tiver de ser validada antes de ser gerada a próxima WM_PAINT mensagem.

CWnd::WindowFromPoint

Recupera a janela que contém o ponto especificado; point deve especificar as coordenadas do ecrã de um ponto no ecrã.

static CWnd* PASCAL WindowFromPoint(POINT point);

Parâmetros

point
Especifica um CPoint objeto ou POINT estrutura de dados que define o ponto a verificar.

Valor de retorno

Um ponteiro para o objeto janela onde o ponto se encontra. É NULL assim se não existir janela no ponto dado. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.

Observações

WindowFromPoint não recupera uma janela oculta ou desativada, mesmo que o ponto esteja dentro da janela. Uma aplicação deve usar a ChildWindowFromPoint função membro para uma pesquisa não restritiva.

CWnd::WindowProc

Fornece um procedimento Windows (WindowProc) para um CWnd objeto.

virtual LRESULT WindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

message
Especifica a mensagem do Windows a ser processada.

wParam
Fornece informação adicional usada no processamento da mensagem. O valor do parâmetro depende da mensagem.

lParam
Fornece informação adicional usada no processamento da mensagem. O valor do parâmetro depende da mensagem.

Valor de retorno

O valor de retorno depende da mensagem.

Observações

Despacha mensagens através do mapa de mensagens da janela.

CWnd::WinHelp

Liguei para iniciar a aplicação WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parâmetros

dwData
Especifica dados adicionais. O valor utilizado depende do valor do nCmd parâmetro.

nCmd
Especifica o tipo de ajuda solicitada. Para uma lista de valores possíveis e como estes afetam o dwData parâmetro, consulte a WinHelp função Windows no SDK do Windows.

Observações

Consulte CWinApp::WinHelp para obter mais informações.

CWnd::RegisterTouchWindow

Regista ou desativa o suporte ao Windows Touch.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Parâmetros

bRegister
TRUE indica o registo de suporte ao Windows Touch; FALSE caso contrário.

ulFlags
Um conjunto de flags de bits que especificam modificações opcionais. Este corpo pode conter 0 ou um dos seguintes valores: TWF_FINETOUCH, TWF_WANTPALM.

Valor de retorno

TRUE se for bem-sucedida; caso contrário, FALSE.

Observações

CWnd::ResizeDynamicLayout

Chamado pela framework quando o tamanho da janela muda para ajustar o layout das janelas filhas, se o layout dinâmico estiver ativado para a janela.

virtual void ResizeDynamicLayout();

Observações

Consulte também

CCmdTarget Classe
Gráfico de Hierarquia
CFrameWnd Classe
CView Classe