Classe CWnd

Fornece a funcionalidade base de todas as classes de janela na Biblioteca de Classes do Microsoft Foundation.

Sintaxe

class CWnd : public CCmdTarget

Membros

Construtores públicos

Nome Descrição
CWnd::CWnd Constrói um objeto CWnd.

Métodos públicos

Nome Descrição
CWnd::accDoDefaultAction Chamado pela estrutura para executar a ação padrão do objeto.
CWnd::accHitTest Chamado pela estrutura para recuperar o elemento filho ou o objeto filho em um determinado ponto na tela.
CWnd::accLocation Chamado pela estrutura para recuperar o local de tela atual do objeto especificado.
CWnd::accNavigate Chamado pela estrutura para percorrer para outro elemento de interface do usuário dentro de um contêiner 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 de janela associado.
CWnd::ArrangeIconicWindows Organiza todas as janelas filho minimizadas (icônicas).
CWnd::Attach Anexa um identificador Windows a um CWnd objeto.
CWnd::BeginModalState Chame essa função de membro para tornar uma janela de quadro modal.
CWnd::BeginPaint CWnd Prepara-se para pintura.
CWnd::BindDefaultProperty Associa a propriedade de limite simples padrão do objeto de chamada, conforme marcado na biblioteca de tipos, a um cursor associado a um controle de fonte de dados.
CWnd::BindProperty Associa uma propriedade associada ao cursor em um controle associado a dados a um controle de fonte de dados e registra essa relação com o gerenciador de associação MFC.
CWnd::BringWindowToTop Coloca CWnd no topo de uma pilha de janelas sobrepostas.
CWnd::CalcWindowRect Chamado para calcular o retângulo da janela do retângulo do cliente.
CWnd::CancelToolTips Desabilita o controle de dica de ferramenta.
CWnd::CenterWindow Centraliza uma janela em relação ao pai.
CWnd::ChangeClipboardChain CWnd Remove da cadeia de visualizadores da Área de Transferência.
CWnd::CheckDlgButton Coloca uma marca de seleção ao lado ou remove uma marca de seleção de um controle de botão.
CWnd::CheckRadioButton Verifica o botão de opção especificado e remove a marca de seleção de todos os outros botões de opção no grupo de botões especificado.
CWnd::ChildWindowFromPoint Determina qual, se houver, das janelas filho contém o ponto especificado.
CWnd::ClientToScreen Converte as coordenadas do cliente de um determinado ponto ou retângulo na exibição em coordenadas de tela.
CWnd::CloseWindow Minimiza a janela.
CWnd::ContinueModal Continua o status modal de uma janela.
CWnd::Create Cria e inicializa a janela filho associada ao CWnd objeto.
CWnd::CreateAccessibleProxy Cria um proxy de Acessibilidade Ativa para o objeto especificado.
CWnd::CreateCaret Cria uma nova forma para o sistema caret e obtém a propriedade do caret.
CWnd::CreateControl Crie um controle ActiveX que será representado em um programa MFC por um CWnd objeto.
CWnd::CreateEx Cria uma janela Windows sobreposta, pop-up ou filho e a anexa a um CWnd objeto.
CWnd::CreateGrayCaret Cria um bloco cinza para o sistema caret e obtém a propriedade do caret.
CWnd::CreateSolidCaret Cria um bloco sólido para o sistema caret e obtém a propriedade do caret.
CWnd::DeleteTempMap Chamado automaticamente pelo CWinApp manipulador de tempo ocioso e exclui todos os objetos temporários CWnd criados por FromHandle.
CWnd::DestroyWindow Destrói a janela Windows anexada.
CWnd::Detach Desanexa um identificador Windows de um CWnd objeto e retorna o identificador.
CWnd::DlgDirList Preenche uma caixa de listagem com uma listagem de arquivo ou diretório.
CWnd::DlgDirListComboBox Preenche a caixa de listagem de uma caixa de combinação com uma listagem de arquivo ou diretório.
CWnd::DlgDirSelect Recupera a seleção atual de uma caixa de listagem.
CWnd::DlgDirSelectComboBox Recupera a seleção atual da caixa de listagem de uma caixa de combinação.
CWnd::DragAcceptFiles Indica que a janela aceitará arquivos arrastados.
CWnd::DragDetect Captura o mouse e rastreia seu movimento até que o usuário libere o botão esquerdo, pressione a tecla ESC ou mova o mouse para fora do retângulo de arrastar ao redor do ponto especificado.
CWnd::DrawAnimatedRects Desenha um retângulo de quadro de arame e o anima 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 Habilita funções definidas pelo Active Accessibility usuário.
CWnd::EnableDynamicLayout Permite que a posição e o tamanho das janelas filho se ajustem dinamicamente quando o usuário redimensiona a janela.
CWnd::EnableD2DSupport Habilita ou desabilita o suporte à janela D2D . Chame esse método antes que a janela principal seja inicializada.
CWnd::EnableScrollBar Habilita ou desabilita uma ou ambas as setas de uma barra de rolagem.
CWnd::EnableScrollBarCtrl Habilita ou desabilita um controle de barra de rolagem irmão.
CWnd::EnableToolTips Habilita o controle de dica de ferramenta.
CWnd::EnableTrackingToolTips Habilita o controle de dica de ferramenta no modo de acompanhamento.
CWnd::EnableWindow Habilita ou desabilita a entrada de mouse e teclado.
CWnd::EndModalLoop Encerra o status modal de uma janela.
CWnd::EndModalState Chame essa função de membro para alterar uma janela de quadro de modal para modelagem.
CWnd::EndPaint Marca o fim da pintura.
CWnd::ExecuteDlgInit Inicia um recurso de caixa de diálogo.
CWnd::FilterToolTipMessage Recupera o título ou texto associado a um controle em uma caixa de diálogo.
CWnd::FindWindow Retorna o identificador da janela, que é identificado pelo nome da janela e pela classe de janela.
CWnd::FindWindowEx Retorna o identificador da janela, que é identificado pelo nome da janela e pela classe de janela.
CWnd::FlashWindow Pisca a janela uma vez.
CWnd::FlashWindowEx Pisca a janela com funcionalidade adicional.
CWnd::FromHandle Retorna um ponteiro para um CWnd objeto quando dado um identificador para uma janela. Se um CWnd objeto não estiver anexado ao identificador, um objeto temporário CWnd será criado e anexado.
CWnd::FromHandlePermanent Retorna um ponteiro para um CWnd objeto quando dado um identificador para uma janela.
CWnd::get_accChild Chamado pela estrutura para recuperar o endereço de uma IDispatch interface para o filho especificado.
CWnd::get_accChildCount Chamado pela estrutura para recuperar o número de filhos pertencentes a esse 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 por 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 Chamado pela estrutura para recuperar a cadeia de caracteres da propriedade Help de um objeto.
CWnd::get_accHelpTopic Chamado pela estrutura para recuperar o caminho completo do WinHelp arquivo associado ao objeto especificado e ao identificador do tópico apropriado dentro desse arquivo.
CWnd::get_accKeyboardShortcut Chamado pela estrutura para recuperar a chave 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 pela estrutura 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 desse 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 de janela ancestral da janela especificada.
CWnd::GetCapture Recupera o CWnd que tem a captura do mouse.
CWnd::GetCaretPos Recupera as coordenadas do cliente da posição atual do cursor.
CWnd::GetCheckedRadioButton Retorna a ID do botão de opção verificado no momento em um grupo de botões.
CWnd::GetClientRect Obtém as dimensões da área do CWnd cliente.
CWnd::GetClipboardOwner Recupera um ponteiro para o proprietário atual da Área de Transferência.
CWnd::GetClipboardViewer Recupera um ponteiro para a primeira janela na cadeia de visualizadores da Área de Transferência.
CWnd::GetControlUnknown Recupera um ponteiro para um controle ActiveX desconhecido.
CWnd::GetDC Recupera um contexto de exibição para a área do cliente.
CWnd::GetDCEx Recupera um contexto de exibição para a área do cliente e habilita o recorte durante o desenho.
CWnd::GetDCRenderTarget Recupera o destino de renderização do dc (contexto do dispositivo) para a CWnd janela.
CWnd::GetDescendantWindow Pesquisa todas as janelas descendentes e retorna a janela com a ID especificada.
CWnd::GetDesktopWindow Recupera a janela da área de trabalho Windows.
CWnd::GetDlgCtrlID Se for CWnd uma janela filho, chamar essa função retornará seu valor de ID.
CWnd::GetDlgItem Recupera o controle com a ID especificada da caixa de diálogo especificada.
CWnd::GetDlgItemInt Converte o texto de um controle na caixa de diálogo fornecida para um valor inteiro.
CWnd::GetDlgItemText Recupera a legenda ou o texto associado a um controle.
CWnd::GetDSCCursor Recupera um ponteiro para o cursor subjacente definido pelas propriedades DataSource, UserName, Password e SQL de um controle de fonte de dados.
CWnd::GetDynamicLayout Recupera um ponteiro para o objeto gerenciador de layout dinâmico.
CWnd::GetExStyle Retorna 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 Retorna um ponteiro para a janela de primeiro plano (a janela de nível superior com a qual o usuário está trabalhando no momento).
CWnd::GetIcon Recupera o identificador para um ícone.
CWnd::GetLastActivePopup Determina por qual janela pop-up de CWnd propriedade estava mais recentemente ativa.
CWnd::GetLayeredWindowAttributes Recupera a tecla de cor de opacidade e transparência de uma janela em camadas.
CWnd::GetMenu Recupera um ponteiro para o menu especificado.
CWnd::GetNextDlgGroupItem Pesquisa o próximo controle (ou anterior) dentro de um grupo de controles.
CWnd::GetNextDlgTabItem Recupera o primeiro controle com o WS_TABSTOP estilo que segue (ou precede) o controle especificado.
CWnd::GetNextWindow Retorna a próxima janela (ou anterior) na lista do gerenciador de janelas.
CWnd::GetOleControlSite Recupera o site personalizado para o controle de ActiveX especificado.
CWnd::GetOpenClipboardWindow Recupera um ponteiro para a janela que atualmente tem a Área de Transferência aberta.
CWnd::GetOwner Recupera um ponteiro para o proprietário de um CWnd.
CWnd::GetParent Recupera a janela pai de CWnd (se houver).
CWnd::GetParentFrame Recupera a CWnd janela de quadro pai do objeto.
CWnd::GetParentOwner Retorna um ponteiro para a janela pai de uma janela filho.
CWnd::GetProperty Recupera uma propriedade de controle ActiveX.
CWnd::GetRenderTarget Obtém um destino de renderização associado a essa janela.
CWnd::GetSafeHwnd Retorna m_hWndou NULL se o this ponteiro for NULL.
CWnd::GetSafeOwner Recupera o proprietário seguro da janela fornecida.
CWnd::GetScrollBarCtrl Retorna um controle de barra de rolagem irmão.
CWnd::GetScrollBarInfo Recupera informações sobre a barra de rolagem especificada.
CWnd::GetScrollInfo Recupera as informações que a SCROLLINFO estrutura mantém sobre uma barra de rolagem.
CWnd::GetScrollLimit Recupera o limite da barra de rolagem.
CWnd::GetScrollPos Recupera a posição atual de uma caixa de rolagem.
CWnd::GetScrollRange Copia as posições de barra de rolagem mínima e máxima atuais para a barra de rolagem fornecida.
CWnd::GetStyle Retorna o estilo da janela atual.
CWnd::GetSystemMenu Permite que o aplicativo acesse o menu Controle para cópia e modificação.
CWnd::GetTitleBarInfo Recupera informações sobre a barra de título especificada.
CWnd::GetTopLevelFrame Recupera a janela de quadro de nível superior da janela.
CWnd::GetTopLevelOwner Recupera a janela de nível superior.
CWnd::GetTopLevelParent Recupera o pai de nível superior da janela.
CWnd::GetTopWindow Retorna a primeira janela filho que pertence ao CWnd.
CWnd::GetUpdateRect Recupera as coordenadas do menor retângulo que inclui completamente a região de CWnd atualização.
CWnd::GetUpdateRgn Recupera a região de CWnd atualização.
CWnd::GetWindow Retorna a janela com a relação especificada para esta janela.
CWnd::GetWindowContextHelpId Recupera o identificador de contexto de ajuda.
CWnd::GetWindowDC Recupera o contexto de exibição de toda a janela, incluindo a barra de legendas, menus e barras de rolagem.
CWnd::GetWindowedChildCount Retorna o número de janelas filho associadas.
CWnd::GetWindowInfo Retorna informações sobre a janela.
CWnd::GetWindowlessChildCount Retorna o número de janelas filho 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 de tela de CWnd.
CWnd::GetWindowRgn Recupera uma cópia da região da janela de uma janela.
CWnd::GetWindowText Retorna o texto da janela ou o título da legenda (se tiver um).
CWnd::GetWindowTextLength Retorna o comprimento do texto ou do título da legenda da janela.
CWnd::HideCaret Oculta o caret removendo-o da tela de exibição.
CWnd::HiliteMenuItem Realça ou remove o realce de um item de menu de nível superior (barra de menus).
CWnd::HtmlHelp Chamado para iniciar o aplicativo HTMLHelp.
CWnd::Invalidate Invalida toda a área do cliente.
CWnd::InvalidateRect Invalida a área do cliente dentro do retângulo especificado adicionando esse retângulo à região de atualização atual.
CWnd::InvalidateRgn Invalida a área do cliente dentro da região determinada adicionando essa região à região de atualização atual.
CWnd::InvokeHelper Invoca um método ou propriedade de controle de 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á habilitado.
CWnd::IsDialogMessage Determina se a mensagem determinada destina-se à caixa de diálogo modeless e, em caso afirmativo, processa-a.
CWnd::IsDlgButtonChecked Determina se um controle de botão está marcado.
CWnd::IsDynamicLayoutEnabled Determina se o layout dinâmico está habilitado nesta janela. Se o layout dinâmico estiver habilitado, a posição e o tamanho das janelas filho poderão ser alterados quando o usuário redimensionar a janela pai.
CWnd::IsIconic Determina se CWnd é minimizado (icônico).
CWnd::IsTouchWindow Especifica se CWnd há suporte a toque.
CWnd::IsWindowEnabled Determina se a janela está habilitada para entrada de mouse e teclado.
CWnd::IsWindowVisible Determina se a janela está visível.
CWnd::IsZoomed Determina se CWnd é maximizado.
CWnd::KillTimer Mata um temporizador do sistema.
CWnd::LockWindowUpdate Desabilita ou reabilita o desenho na janela fornecida.
CWnd::MapWindowPoints Converte (mapas) um conjunto de pontos do espaço de coordenadas CWnd para o espaço de coordenadas de outra janela.
CWnd::MessageBox Cria e exibe uma janela que contém uma mensagem e uma legenda fornecidas pelo aplicativo.
CWnd::ModifyStyle Modifica o estilo da janela atual.
CWnd::ModifyStyleEx Modifica o estilo estendido da janela.
CWnd::MoveWindow Altera a posição e as dimensões de CWnd.
CWnd::NotifyWinEvent Sinaliza o sistema de que ocorreu um evento predefinido.
CWnd::OnAmbientProperty Implementar valores de propriedade ambiente.
CWnd::OnDrawIconicThumbnailOrLivePreview Chamado pela estrutura quando ele precisa obter um bitmap a ser exibido na miniatura da guia Windows 7 ou no cliente para a espiada do aplicativo.
CWnd::OnHelp Manipula a Ajuda F1 dentro do aplicativo (usando o contexto atual).
CWnd::OnHelpFinder Manipula os comandos e ID_DEFAULT_HELP os ID_HELP_FINDER comandos.
CWnd::OnHelpIndex Manipula o ID_HELP_INDEX comando e fornece um tópico padrão da Ajuda.
CWnd::OnHelpUsing Manipula o comando ID_HELP_USING.
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 área de transferência. Outros aplicativos não poderão modificar a Área de Transferência até que a função Windows CloseClipboard seja chamada.
CWnd::PaintWindowlessControls Desenha controles sem janelas no contêiner de controle.
CWnd::PostMessage Coloca uma mensagem na fila do aplicativo e retorna sem aguardar a janela processar a mensagem.
CWnd::PreCreateWindow Chamado antes da criação da janela Windows anexada a esse CWnd objeto.
CWnd::PreSubclassWindow Permite que outras subclasses necessárias ocorram antes SubclassWindow de ser chamada.
CWnd::PreTranslateMessage Usado para CWinApp filtrar mensagens de janela antes de serem enviadas 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 (geralmente um contexto de dispositivo de impressora).
CWnd::PrintWindow Copia uma janela visual para o contexto do dispositivo especificado, normalmente um DC de impressora.
CWnd::RedrawWindow Atualiza o retângulo ou região especificado na área do cliente.
CWnd::RegisterTouchWindow Registrar/cancelar o registro da janela Windows suporte ao toque.
CWnd::ReleaseDC Libera contextos de cliente e dispositivo de janela, liberando-os para uso por outros aplicativos.
CWnd::RepositionBars Reposiciona as barras de controle na área do cliente.
CWnd::RunModalLoop Recupera, converte ou envia mensagens para uma janela que está no status modal.
CWnd::ScreenToClient Converte as coordenadas de tela de um determinado ponto ou retângulo na exibição em coordenadas do cliente.
CWnd::ScrollWindow Rola o conteúdo da área do cliente.
CWnd::ScrollWindowEx Rola o conteúdo da área do cliente. Semelhante a ScrollWindow, com recursos adicionais.
CWnd::SendChildNotifyLastMsg Fornece uma mensagem de notificação para uma janela filho, na janela pai, para que a janela filho possa lidar com uma tarefa.
CWnd::SendDlgItemMessage Envia uma mensagem para o controle especificado.
CWnd::SendMessage Envia uma mensagem para o CWnd objeto e não retorna até que ele tenha 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 rápido possível, dependendo se o thread de chamada criou a janela.
CWnd::SetActiveWindow Ativa a janela.
CWnd::SetCapture Faz com que todas as entradas subsequentes do mouse sejam enviadas para o CWnd.
CWnd::SetCaretPos Move o cursor 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 a ID de janela ou controle da janela (que pode ser qualquer janela filho, não apenas um controle em uma caixa de diálogo).
CWnd::SetDlgItemInt Define o texto de um controle para a cadeia de caracteres que representa um valor inteiro.
CWnd::SetDlgItemText Define a legenda ou o texto de um controle na caixa de diálogo especificada.
CWnd::SetFocus Declara o foco de entrada.
CWnd::SetFont Define a fonte atual.
CWnd::SetForegroundWindow Coloca o thread que criou a janela em primeiro plano e ativa a janela.
CWnd::SetIcon Define o identificador como um ícone específico.
CWnd::SetLayeredWindowAttributes Define a tecla de cor de opacidade e transparência de uma janela em camadas.
CWnd::SetMenu Define o menu para o menu especificado.
CWnd::SetOwner Altera o proprietário de um CWnd.
CWnd::SetParent Altera a janela pai.
CWnd::SetProperty Define uma propriedade de controle ActiveX.
CWnd::SetRedraw Permite que as alterações CWnd sejam redesenhadas ou impede que as alterações sejam redesenhadas.
CWnd::SetScrollInfo Define informações sobre a barra de rolagem.
CWnd::SetScrollPos Define a posição atual de uma caixa de rolagem e, se especificada, redesenha a barra de rolagem para refletir a nova posição.
CWnd::SetScrollRange Define valores mínimos e máximos de posição para a barra de rolagem determinada.
CWnd::SetTimer Instala um temporizador do sistema que envia uma WM_TIMER mensagem quando disparado.
CWnd::SetWindowContextHelpId Define o identificador de contexto de ajuda.
CWnd::SetWindowPlacement Define o estado do show e as posições normais (restauradas), minimizadas e maximizadas para uma janela.
CWnd::SetWindowPos Altera o tamanho, a posição e a ordenação de janelas filho, pop-up e de 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 tiver um) para o texto especificado.
CWnd::ShowCaret Mostra o cursor na exibição na posição atual do cursor. Uma vez mostrado, o cursor começa a piscar automaticamente.
CWnd::ShowOwnedPopups Mostra ou oculta todas as janelas pop-up pertencentes à janela.
CWnd::ShowScrollBar Exibe ou oculta uma barra de rolagem.
CWnd::ShowWindow Mostra ou oculta a janela.
CWnd::SubclassDlgItem Anexa um controle Windows a um CWnd objeto e o faz rotear mensagens por meio do CWndmapa de mensagens.
CWnd::SubclassWindow Anexa uma janela a um CWnd objeto e as faz rotear mensagens por meio do CWndmapa de mensagens.
CWnd::UnlockWindowUpdate Desbloqueia uma janela que estava bloqueada com CWnd::LockWindowUpdate.
CWnd::UnsubclassWindow Desanexa uma janela de um CWnd objeto
CWnd::UpdateData Inicializa ou recupera dados de uma caixa de diálogo.
CWnd::UpdateDialogControls Chame para atualizar o estado dos botões de diálogo e outros controles.
CWnd::UpdateLayeredWindow Atualiza a posição, o tamanho, a forma, o conteúdo e a translúcibilidade de uma janela em camadas.
CWnd::UpdateWindow Atualiza a área do cliente.
CWnd::ValidateRect Valida a área do cliente dentro do retângulo especificado removendo o retângulo da região de atualização atual.
CWnd::ValidateRgn Valida a área do cliente dentro da região fornecida removendo a região da região de atualização atual.
CWnd::WindowFromPoint Identifica a janela que contém o ponto determinado.
CWnd::WinHelp Chamado para iniciar o aplicativo WinHelp.

Métodos Protegidos

Nome Descrição
CWnd::Default Chama o procedimento de janela padrão, que fornece processamento padrão para quaisquer mensagens de janela que um aplicativo não processa.
CWnd::DefWindowProc Chama o procedimento de janela padrão, que fornece processamento padrão para quaisquer mensagens de janela que um aplicativo não processa.
CWnd::DoDataExchange Para troca e validação de dados de caixa de diálogo. Chamado por UpdateData.
CWnd::GetCurrentMessage Retorna um ponteiro para a mensagem que esta janela está processando no momento. Só deve ser chamado quando estiver em uma OnMessage função de membro do manipulador de mensagens.
CWnd::InitDynamicLayout Chamado pela estrutura para inicializar o layout dinâmico da janela.
CWnd::LoadDynamicLayoutResource Carrega informações de layout dinâmico do arquivo de recurso.
CWnd::OnActivate Chamado quando CWnd está sendo ativado ou desativado.
CWnd::OnActivateApp Chamado quando o aplicativo está prestes a ser ativado ou desativado.
CWnd::OnAppCommand Chamado quando o usuário gera um evento de comando do aplicativo.
CWnd::OnAskCbFormatName Chamado por um aplicativo visualizador de área de transferência quando um proprietário da Área de Transferência exibirá o conteúdo da Área de Transferência.
CWnd::OnCancelMode Chamado para permitir cancelar CWnd quaisquer modos internos, como captura de mouse.
CWnd::OnCaptureChanged Envia uma mensagem para a janela que está perdendo a captura do mouse.
CWnd::OnChangeCbChain Notifica que uma janela especificada está sendo removida da cadeia.
CWnd::OnChangeUIState Chamado quando o estado da interface do usuário (interface do usuário) deve ser alterado.
CWnd::OnChar Chamado quando um pressionamento de tecla é convertido em um caractere que não é do sistema.
CWnd::OnCharToItem Chamado por uma caixa de listagem filho com o LBS_WANTKEYBOARDINPUT estilo em resposta a uma WM_CHAR mensagem.
CWnd::OnChildActivate Chamado para várias janelas filho da interface do documento (MDI) sempre que o tamanho ou a posição das CWnd alterações ou CWnd for ativado.
CWnd::OnChildNotify Chamado por uma janela pai para dar a um controle de notificação a chance de responder a uma notificação de controle.
CWnd::OnClipboardUpdate Chamado quando o conteúdo da área de transferência foi alterado.
CWnd::OnClose Chamado como um sinal que CWnd deve ser fechado.
CWnd::OnColorizationColorChanged Chamado quando a política de renderização para a área não cliente foi alterada.
CWnd::OnCommand Chamado quando o usuário seleciona um comando.
CWnd::OnCompacting Chamado quando Windows detecta que a memória do sistema está baixa.
CWnd::OnCompareItem Chamado para determinar a posição relativa de um novo item em uma caixa de combinação ou caixa de listagem de desenho de proprietário classificado filho.
CWnd::OnCompositionChanged Chamado para todas as janelas de nível superior quando a composição do DWM (Gerenciador de Janelas da Área de Trabalho) estiver habilitada ou desabilitada.
CWnd::OnContextMenu Chamado quando o usuário clica no botão direito do mouse na janela.
CWnd::OnCopyData Copia dados de um aplicativo para outro.
CWnd::OnCreate Chamado como parte da criação da janela.
CWnd::OnCtlColor Chamado se CWnd for o pai de um controle quando o controle está prestes a ser desenhado.
CWnd::OnDeadChar Chamado quando um pressionamento de tecla é convertido em um caractere morto não sistema (como caracteres de ênfase).
CWnd::OnDeleteItem Chamado quando uma caixa de listagem filho ou caixa de combinação de desenho do proprietário é destruída ou quando os itens são removidos do controle.
CWnd::OnDestroy Chamado quando CWnd está sendo destruído.
CWnd::OnDestroyClipboard Chamado quando a Área de Transferência é esvaziada por meio de uma chamada para a função WindowsEmptyClipboard.
CWnd::OnDeviceChange Notifica um driver de aplicativo ou dispositivo de uma alteração na configuração de hardware de um dispositivo ou do computador.
CWnd::OnDevModeChange Chamado para todas as janelas de nível superior quando o usuário altera as configurações do modo de dispositivo.
CWnd::OnDrawClipboard Chamado quando o conteúdo da Área de Transferência é alterado.
CWnd::OnDrawItem Chamado quando um aspecto visual de um controle de botão filho de desenho do proprietário, controle de caixa de combinação, controle de caixa de listagem ou menu precisa ser desenhado.
CWnd::OnDropFiles Chamado quando o usuário libera o botão esquerdo do mouse em uma janela que se registrou como o destinatário de arquivos descartados.
CWnd::OnEnable Chamado quando CWnd está habilitado ou desabilitado.
CWnd::OnEndSession Chamado quando a sessão está terminando.
CWnd::OnEnterIdle Chamado para informar o procedimento de janela principal de um aplicativo de que uma caixa de diálogo modal ou um menu está inserindo um estado ocioso.
CWnd::OnEnterMenuLoop Chamado quando um loop modal de menu foi inserido.
CWnd::OnEnterSizeMove Chamado depois que a janela afetada entra em um loop modal de movimentação ou dimensionamento.
CWnd::OnEraseBkgnd Chamado quando o plano de fundo da janela precisa ser apagado.
CWnd::OnExitMenuLoop Chamado quando um loop modal de menu foi encerrado.
CWnd::OnExitSizeMove Chamado após a janela afetada sair de um loop modal móvel ou de dimensionamento.
CWnd::OnFontChange Chamado quando o pool de recursos de fonte é alterado.
CWnd::OnGetDlgCode Chamado para um controle para que o controle possa processar a tecla de direção e a própria entrada tab-key.
CWnd::OnGetMinMaxInfo Chamado sempre que Windows precisa saber a posição ou dimensões maximizadas, ou o tamanho mínimo ou máximo do acompanhamento.
CWnd::OnHelpInfo Chamado pela estrutura quando o usuário pressiona a tecla F1.
CWnd::OnHotKey Chamado quando o usuário pressiona uma tecla quente em todo o sistema.
CWnd::OnHScroll Chamado quando o usuário clica na barra de rolagem horizontal de CWnd.
CWnd::OnHScrollClipboard Chamado quando um proprietário da Área de Transferência deve rolar a imagem da Área de Transferência, invalidar a seção apropriada e atualizar os valores da barra de rolagem.
CWnd::OnIconEraseBkgnd Chamado quando CWnd é minimizado (icônico) e a tela de fundo do ícone deve ser preenchida antes de pintar o ícone.
CWnd::OnInitMenu Chamado quando um menu está prestes a ficar ativo.
CWnd::OnInitMenuPopup Chamado quando um menu pop-up está prestes a se tornar ativo.
CWnd::OnInputDeviceChange Chamado quando um dispositivo de E/S é adicionado ou removido do sistema.
CWnd::OnInputLangChange Chamado depois que o idioma de entrada de um aplicativo foi alterado.
CWnd::OnInputLangChangeRequest Chamado quando o usuário escolhe um novo idioma de entrada.
CWnd::OnKeyDown Chamado quando uma tecla não sistema é pressionada.
CWnd::OnKeyUp Chamado quando uma chave não-sistema é liberada.
CWnd::OnKillFocus Chamado imediatamente antes CWnd de perder o foco de entrada.
CWnd::OnLButtonDblClk Chamado quando o usuário clica duas vezes no botão esquerdo do mouse.
CWnd::OnLButtonDown Chamado quando o usuário pressiona o botão esquerdo do mouse.
CWnd::OnLButtonUp Chamado quando o usuário libera o botão esquerdo do mouse.
CWnd::OnMButtonDblClk Chamado quando o usuário clica duas vezes no botão do mouse do meio.
CWnd::OnMButtonDown Chamado quando o usuário pressiona o botão do mouse do meio.
CWnd::OnMButtonUp Chamado quando o usuário libera o botão do mouse do meio.
CWnd::OnMDIActivate Chamado quando uma janela filho MDI é ativada ou desativada.
CWnd::OnMeasureItem Chamado para uma caixa de combinação filho de desenho de proprietário, caixa de listagem ou item de menu quando o controle é criado. CWndinforma Windows das dimensões do controle.
CWnd::OnMenuChar Chamado quando o usuário pressiona um caractere mnemônico de menu que não corresponde a nenhum dos mnemônicos predefinidos no menu atual.
CWnd::OnMenuDrag Chamado quando o usuário começa a arrastar um item de menu.
CWnd::OnMenuGetObject Chamado quando o cursor do mouse insere um item de menu ou se move do centro do item para a parte superior ou inferior do item.
CWnd::OnMenuRButtonUp Chamado quando o usuário libera o botão direito do mouse enquanto o cursor está em um item de menu.
CWnd::OnMenuSelect Chamado quando o usuário seleciona um item de menu.
CWnd::OnMouseActivate Chamado quando o cursor está em uma janela inativa e o usuário pressiona um botão do mouse.
CWnd::OnMouseHover Chamado quando o cursor passa o mouse sobre a área do cliente da janela para o período de tempo especificado em uma chamada anterior para TrackMouseEvent.
CWnd::OnMouseHWheel Chamado quando a roda de rolagem horizontal do mouse é inclinada ou girada.
CWnd::OnMouseLeave Chamado quando o cursor sai da área do cliente da janela especificada em uma chamada anterior para TrackMouseEvent.
CWnd::OnMouseMove Chamado quando o cursor do mouse se move.
CWnd::OnMouseWheel Chamado quando um usuário gira a roda do mouse. Usa Windows NT tratamento de mensagens 4.0.
CWnd::OnMove Chamado depois que a posição do CWnd foi alterada.
CWnd::OnMoving Indica que um usuário está movendo um CWnd objeto.
CWnd::OnNcActivate Chamado quando a área não cliente precisa ser alterada para indicar um estado ativo ou inativo.
CWnd::OnNcCalcSize Chamado quando o tamanho e a posição da área do cliente precisam ser calculados.
CWnd::OnNcCreate Chamado antes de OnCreate quando a área não cliente está sendo criada.
CWnd::OnNcDestroy Chamado quando a área não cliente está sendo destruída.
CWnd::OnNcHitTest Chamado por Windows toda vez que o mouse for movido se CWnd contiver o cursor ou tiver capturado a entrada do mouse com SetCapture.
CWnd::OnNcLButtonDblClk Chamado quando o usuário clica duas vezes no botão esquerdo do mouse enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcLButtonDown Chamado quando o usuário pressiona o botão esquerdo do mouse enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcLButtonUp Chamado quando o usuário libera o botão esquerdo do mouse enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcMButtonDblClk Chamado quando o usuário clica duas vezes no botão do mouse do meio enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcMButtonDown Chamado quando o usuário pressiona o botão do mouse do meio enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcMButtonUp Chamado quando o usuário libera o botão do mouse do meio enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcMouseHover Chamado quando o cursor passa o mouse sobre a área não cliente da janela para o período de tempo especificado em uma chamada anterior para TrackMouseEvent.
CWnd::OnNcMouseLeave A estrutura chama essa função de membro quando o cursor deixa a área não cliente da janela especificada em uma chamada anterior para TrackMouseEvent.
CWnd::OnNcMouseMove Chamado quando o cursor é movido dentro de uma área não cliente de CWnd.
CWnd::OnNcPaint Chamado quando a área não cliente precisa de pintura.
CWnd::OnNcRButtonDblClk Chamado quando o usuário clica duas vezes no botão direito do mouse enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcRButtonDown Chamado quando o usuário pressiona o botão direito do mouse enquanto o cursor está dentro de uma área não cliente de CWnd.
CWnd::OnNcRButtonUp Chamado quando o usuário libera o botão direito do mouse 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 foi alterada.
CWnd::OnNcXButtonDblClk Chamado quando o usuário clica XBUTTON1 duas vezes ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela.
CWnd::OnNcXButtonDown Chamado quando o usuário pressiona XBUTTON1 ou XBUTTON2 do mouse enquanto o cursor está na área não cliente de uma janela.
CWnd::OnNcXButtonUp Chamado quando o usuário libera XBUTTON1 ou XBUTTON2 do mouse enquanto o cursor está na área não cliente de uma janela.
CWnd::OnNextMenu Chamado quando a tecla de seta para a direita ou esquerda é usada para alternar entre a barra de menus e o menu do sistema.
CWnd::OnNotify Chamado pela estrutura para informar uma janela pai que um evento ocorreu em um de seus controles ou que o controle precisa de informações.
CWnd::OnNotifyFormat Chamado para determinar se a janela atual aceita estruturas ANSI ou Unicode na WM_NOTIFY mensagem de notificação.
CWnd::OnPaint Chamado para repintar uma parte da janela.
CWnd::OnPaintClipboard Chamado quando a área do cliente do visualizador da Área de Transferência precisa ser repintado.
CWnd::OnPaletteChanged Chamado para permitir que janelas que usam uma paleta de cores realizem suas paletas lógicas e atualizem suas áreas de cliente.
CWnd::OnPaletteIsChanging Informa outros aplicativos quando um aplicativo vai realizar sua paleta lógica.
CWnd::OnParentNotify Chamado quando uma janela filho é criada ou destruída, ou quando o usuário clica em um botão do mouse enquanto o cursor está sobre a janela filho.
CWnd::OnPowerBroadcast Chamado quando ocorre um evento de gerenciamento de energia.
CWnd::OnQueryDragIcon Chamado quando um minimizado (icônico) CWnd está prestes a ser arrastado pelo usuário.
CWnd::OnQueryEndSession Chamado quando o usuário optar por encerrar a sessão Windows.
CWnd::OnQueryNewPalette Informa que está prestes CWnd a receber o foco de entrada.
CWnd::OnQueryOpen Chamado quando CWnd é um ícone e o usuário solicita que o ícone seja aberto.
CWnd::OnQueryUIState Chamado para recuperar o estado da interface do usuário para uma janela.
CWnd::OnRawInput Chamado quando a janela atual obtém entrada bruta.
CWnd::OnRButtonDblClk Chamado quando o usuário clica duas vezes no botão direito do mouse.
CWnd::OnRButtonDown Chamado quando o usuário pressiona o botão direito do mouse.
CWnd::OnRButtonUp Chamado quando o usuário libera o botão direito do mouse.
CWnd::OnRenderAllFormats Chamado quando o aplicativo proprietário está sendo destruído e precisa renderizar todos os seus formatos.
CWnd::OnRenderFormat Chamado para o proprietário da Área de Transferência quando um formato específico com renderização atrasada precisa ser renderizado.
CWnd::OnSessionChange Chamado para notificar um aplicativo de uma alteração no estado da sessão.
CWnd::OnSetCursor Chamado se a entrada do mouse não for capturada e o mouse causar movimento do cursor dentro de uma janela.
CWnd::OnSetFocus Chamado após CWnd obter o foco de entrada.
CWnd::OnSettingChange Chamado quando a função Win32 SystemParametersInfo altera uma configuração em todo o sistema.
CWnd::OnShowWindow Chamado quando CWnd deve ser oculto ou mostrado.
CWnd::OnSize Chamado após o tamanho da CWnd alteração.
CWnd::OnSizeClipboard Chamado quando o tamanho da área do cliente da janela Visualizador de Área de Transferência foi alterado.
CWnd::OnSizing Indica que o usuário está redimensionando o retângulo.
CWnd::OnSpoolerStatus Chamado do Gerenciador de Impressão sempre que um trabalho é adicionado ou removido da fila do Gerenciador de Impressão.
CWnd::OnStyleChanged Indica que a SetWindowLong função Windows mudou um ou mais estilos da janela.
CWnd::OnStyleChanging Indica que a SetWindowLong função Windows está prestes a alterar um ou mais estilos da janela.
CWnd::OnSysChar Chamado quando um pressionamento de tecla é convertido em um caractere do sistema.
CWnd::OnSysColorChange Chamado para todas as janelas de nível superior quando uma alteração é feita na configuração de cor do sistema.
CWnd::OnSysCommand Chamado quando o usuário seleciona um comando no menu Controle ou quando o usuário seleciona o botão Maximizar ou Minimizar.
CWnd::OnSysDeadChar Chamado quando um pressionamento de tecla se traduz em um caractere morto do sistema (como caracteres de ênfase).
CWnd::OnSysKeyDown Chamado quando o usuário segura a tecla ALT e pressiona outra tecla.
CWnd::OnSysKeyUp Chamado quando o usuário libera uma tecla que foi pressionada enquanto a tecla ALT era mantida pressionada.
CWnd::OnTCard Chamado quando o usuário clica em um botão autorizável.
CWnd::OnTimeChange Chamado para todas as janelas de nível superior após a alteração da hora do sistema.
CWnd::OnTimer Chamado após cada intervalo especificado em SetTimer.
CWnd::OnTouchInput Processe a entrada única de Windows toque.
CWnd::OnTouchInputs Processar entradas de Windows toque.
CWnd::OnUniChar Chamado 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 usuário para a janela especificada e todas as janelas filho.
CWnd::OnUserChanged Chamado após o usuário ter feito logon ou desativado.
CWnd::OnVKeyToItem Chamado por uma caixa de listagem de CWnd propriedade em resposta a uma WM_KEYDOWN mensagem.
CWnd::OnVScroll Chamado quando o usuário clica na barra de rolagem vertical da janela.
CWnd::OnVScrollClipboard Chamado quando o proprietário deve rolar a imagem da Área de Transferência, invalidar a seção apropriada e atualizar os valores da barra de rolagem.
CWnd::OnWindowPosChanged Chamado quando o tamanho, a posição ou a ordem Z foram alterados como resultado de uma chamada ou SetWindowPos de outra função de gerenciamento de janela.
CWnd::OnWindowPosChanging Chamado quando o tamanho, a posição ou a ordem Z estão prestes a ser alterados como resultado de uma chamada ou SetWindowPos de outra função de gerenciamento de janela.
CWnd::OnWinIniChange Chamado para todas as janelas de nível superior após o arquivo de inicialização Windows, WIN.INIé alterado.
CWnd::OnWndMsg Indica se uma mensagem do Windows foi tratada.
CWnd::OnXButtonDblClk Chamado quando o usuário clica XBUTTON1 duas vezes ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.
CWnd::OnXButtonDown Chamado quando o usuário pressiona XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.
CWnd::OnXButtonUp Chamado quando o usuário é liberado XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.
CWnd::PostNcDestroy Essa função virtual é chamada pela função OnNcDestroy padrão depois que a janela é destruída.
CWnd::ReflectChildNotify Função auxiliar, que reflete uma mensagem para sua origem.
CWnd::ReflectLastMsg Reflete a última mensagem para a janela filho.
CWnd::ResizeDynamicLayout Chamado pela estrutura quando o tamanho da janela é alterado para ajustar o layout das janelas filho, se o layout dinâmico estiver habilitado para a janela.
CWnd::WindowProc Fornece um procedimento de janela para um CWnd. O padrão despacha mensagens por meio do mapa da mensagem.

Operadores públicos

Nome Descrição
CWnd::operator HWND Chame para obter um identificador para uma janela.
CWnd::operator != Determina se uma janela não é a mesma que a janela cujo identificador é m_hWnd.
CWnd::operator == Determina se uma janela é a mesma que a janela cujo identificador é m_hWnd.

Membros de Dados Públicos

Nome Descrição
CWnd::m_hWnd Indica o HWND anexado a isso CWnd.

Comentários

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

A CWnd classe e o mecanismo de mapa de mensagens ocultam a WndProc função. As mensagens de notificação de Windows de entrada são roteadas automaticamente por meio do mapa de mensagens para as funções de membro doOnMessageCWnd adequadas. Você substitui uma função de membro OnMessage para lidar com uma mensagem específica de um membro em suas classes derivadas.

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

Você cria uma janela filho em duas etapas. Primeiro, chame o construtor CWnd para construir o CWnd objeto e, em seguida, chame a Create função de membro para criar a janela filho e anexá-la ao CWnd objeto.

Quando o usuário encerrar a janela filho, destrua o CWnd objeto ou chame a DestroyWindow função de membro para remover a janela e destruir suas estruturas de dados.

Na Biblioteca de Classes do Microsoft Foundation, outras classes são derivadas para fornecer tipos de CWnd janela específicos. Muitas dessas classes, incluindo CFrameWnd, CMDIFrameWnd, CMDIChildWnde CViewCDialog, foram projetadas para derivação adicional. As classes de controle derivadas de CWnd, por CButtonexemplo, podem ser usadas diretamente ou podem ser usadas para derivação adicional de classes.

Para obter mais informações sobre como usar CWnd, consulte Frame Windows e Objetos de Janela.

Hierarquia de herança

CObject

CCmdTarget

CWnd

Requisitos

Cabeçalho: afxwin.h

CWnd::accDoDefaultAction

Chamado pela estrutura para executar a ação padrão do objeto.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

Parâmetros

varChild
Especifica se a ação padrão a ser invocada é a do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para executar a ação padrão do objeto) ou uma ID filho (para executar a ação padrão de um dos elementos filho do objeto).

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados em IAccessible::accDoDefaultAction no SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

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

CWnd::accHitTest

Chamado pela estrutura para recuperar o elemento filho ou o 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 atingido testado (em unidades de tela).

yTop
Coordenada Y do ponto a ser atingido testado (em unidades de tela).

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

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::accHitTest SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janela, que o MFC manipula).

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

CWnd::accLocation

Chamado pela estrutura para recuperar o local de 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 tela).

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

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

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

varChild
Especifica se o local a ser recuperado é o do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::accLocation SDK do Windows.

Comentários

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

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

CWnd::accNavigate

Chamado pela estrutura para percorrer para outro elemento de interface do usuário dentro de um contêiner e, se possível, recuperar o objeto.

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

Parâmetros

navDir
Especifica a direção a ser navegada. Consulte navDir no IAccessible::accNavigate SDK do Windows.

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

pvarEndUpAt
Recebe informações sobre o objeto de interface do usuário de destino. Consulte pvarEnd no IAccessible::accNavigate SDK do Windows.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::accNavigate SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

Para obter mais informações, consulte IAccessible::accNavigate o 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 o foco atual. Consulte flagsSelect no IAccessible::accSelect SDK do Windows.

varChild
Especifica o objeto a ser selecionado. Esse parâmetro pode ser CHILDID_SELF (para selecionar o objeto em si) ou uma ID filho (para selecionar um dos filhos do objeto).

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::accSelect SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

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

CWnd::AnimateWindow

Produz efeitos especiais ao mostrar ou ocultar janelas.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

Parâmetros

dwTime
Especifica quanto tempo leva para reproduzir a animação, em milissegundos. Normalmente, uma animação leva 200 milissegundos para ser reproduzida.

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

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoAnimateWindow, conforme descrito no SDK Windows.

CWnd::ArrangeIconicWindows

Organiza todas as janelas filho minimizadas (icônicas).

UINT ArrangeIconicWindows();

Valor de retorno

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

Comentários

Essa função membro também organiza ícones na janela da área de trabalho, que cobre toda a tela. A GetDesktopWindow função membro recupera um ponteiro para o objeto da janela da área de trabalho.

Para organizar janelas filho MDI icônicas em uma janela do cliente MDI, chame CMDIFrameWnd::MDIIconArrange.

Exemplo

// 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 identificador para uma janela Windows.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

Exemplo

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 tornar uma janela de quadro modal.

virtual void BeginModalState();

CWnd::BeginPaint

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

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

Parâmetros

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

Valor de retorno

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

Comentários

A estrutura de pintura contém uma RECT estrutura de dados que tem o menor retângulo que inclui completamente a região de atualização e um sinalizador que especifica se a tela de fundo foi apagada.

A região de atualização é definida pelas Invalidatefunções , InvalidateRectou InvalidateRgn membro e pelo sistema depois de dimensionar, mover, criar, rolar ou executar qualquer outra operação que afete a área do cliente. Se a região de atualização estiver marcada para apagar, BeginPaint enviará uma WM_ONERASEBKGND mensagem.

Não chame a BeginPaint função de membro, exceto em resposta a uma WM_PAINT mensagem. Cada chamada para a BeginPaint função membro deve ter uma chamada correspondente para a EndPaint função membro. Se o cursor estiver na área a ser pintada, a BeginPaint função membro ocultará automaticamente o cursor para evitar que ele seja apagado.

Exemplo

// 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

Associa a propriedade de limite simples padrão do objeto de chamada (como um controle de edição), conforme marcado na biblioteca de tipos, ao cursor subjacente definido pelo DataSource, UserNamee PasswordSQL propriedades do controle de fonte de dados.

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

Parâmetros

dwDispID
Especifica o DISPID de uma propriedade em um controle associado a dados que deve ser associado a um controle de fonte de dados.

vtProp
Especifica o tipo da propriedade a ser associada. Por exemplo, VT_BSTR, VT_VARIANTe assim por diante.

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

pDSCWnd
Aponta para a janela que hospeda o controle de fonte de dados ao qual a propriedade será associada. Chame GetDlgItem com a ID do recurso da janela de host do DCS para recuperar esse ponteiro.

Comentários

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

Exemplo

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

Associa uma propriedade associada ao cursor em um controle associado a dados (como um controle de grade) a um controle de fonte de dados e registra essa relação com o gerenciador de associação MFC.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parâmetros

dwDispId
Especifica o DISPID de uma propriedade em um controle associado a dados que deve ser associado a um controle de fonte de dados.

pWndDSC
Aponta para a janela que hospeda o controle de fonte de dados ao qual a propriedade será associada. Chame GetDlgItem com a ID do recurso da janela de host do DCS para recuperar esse ponteiro.

Comentários

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

Exemplo

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

Coloca CWnd no topo de uma pilha de janelas sobrepostas.

void BringWindowToTop();

Comentários

Além disso, BringWindowToTop ativa janelas filho MDI, pop-up e de nível superior. A função membro BringWindowToTop deve ser usada para descobrir qualquer janela que esteja parcial ou completamente obscurecida por qualquer janela sobreposta.

Essa função chama apenas a função Win32 BringWindowToTop . Chame a SetWindowPos função para alterar a posição de uma janela na ordem Z. A função BringWindowToTop não altera o estilo da janela para torná-la uma janela de nível superior. Para obter mais informações, consulte Qual é a diferença entre HWND_TOP e HWND_TOPMOST

Exemplo

// 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 do cliente especificado.

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

Parâmetros

lpClientRect
[dentro, fora] Ponteiro para uma estrutura de retângulo. Na entrada, essa estrutura contém o retângulo do cliente. Após a conclusão do método, essa estrutura contém o retângulo de janela que pode conter o retângulo do cliente especificado.

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

Comentários

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

Para obter mais restrições de uso, consulte AdjustWindowRectEx.

Exemplo

// 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 essa função de membro para remover uma dica de ferramenta da tela se uma dica de ferramenta for exibida no momento.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

Parâmetros

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

Comentários

Observação

O uso dessa função membro não afeta as dicas de ferramenta gerenciadas pelo código. Ele afeta apenas o controle de dica de ferramenta gerenciado por CWnd::EnableToolTips.

Exemplo

// 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

Centraliza uma janela em relação ao pai.

void CenterWindow(CWnd* pAlternateOwner = NULL);

Parâmetros

pAlternateOwner
Ponteiro para uma janela alternativa em relação à qual ela será centralizada (diferente da janela pai).

Comentários

Normalmente chamado de caixas de diálogo do CDialog::OnInitDialog centro em relação à janela principal do aplicativo. Por padrão, a função centraliza janelas filho em relação à janela pai e janelas pop-up em relação ao proprietário. Se a janela pop-up não for de propriedade, ela será centralizada em relação à tela. Para centralizar uma janela em relação a uma janela específica que não seja o proprietário ou pai, o pAlternateOwner parâmetro pode ser definido como uma janela válida. Para forçar o centralização em relação à tela, passe o valor retornado como CWnd::GetDesktopWindowpAlternateOwner.

Exemplo

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

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

CWnd Remove da cadeia de visualizadores da Área de Transferência e faz a janela especificada pelo hWndNext descendente do CWnd ancestral na cadeia.

BOOL ChangeClipboardChain(HWND hWndNext);

Parâmetros

hWndNext
Identifica a janela a seguir CWnd na cadeia de visualizadores de área de transferência.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

CWnd::CheckDlgButton

Seleciona (coloca uma marca de seleção ao lado) ou limpa (remove uma marca de seleçã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 ser tomada. Se nCheck não for zero, a CheckDlgButton função membro colocará uma marca de seleção ao lado do botão; se 0, a marca de seleção será removida. Para botões de três estados, se nCheck for 2, o estado do botão será indeterminado.

Comentários

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

Exemplo

// 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 seleção a) um determinado botão de opção em um grupo e limpa (remove uma marca de seleção de) todos os outros botões de opção no grupo.

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

Parâmetros

nIDFirstButton
Especifica o identificador inteiro do primeiro botão de opção no grupo.

nIDLastButton
Especifica o identificador inteiro do último botão de opção no grupo.

nIDCheckButton
Especifica o identificador inteiro do botão de opção a ser verificado.

Comentários

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

Exemplo

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

CWnd::ChildWindowFromPoint

Determina quais, se houver, das janelas filho pertencentes ao CWnd 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 janelas filho ignorar. Esse parâmetro pode ser uma combinação dos seguintes valores:

Valor Significado
CWP_ALL Não ignore nenhuma janela filho
CWP_SKIPINVISIBLE Ignorar janelas filho invisíveis
CWP_SKIPDISABLED Ignorar janelas filho desabilitadas
CWP_SKIPTRANSPARENT Ignorar janelas filho transparentes

Valor de retorno

Identifica a janela filho que contém o ponto. Será NULL se o ponto determinado estiver fora da área do cliente. Se o ponto estiver dentro da área do cliente, mas não estiver contido em nenhuma janela filho, CWnd será retornado.

Essa função membro retornará uma janela filho oculta ou desabilitada que contém o ponto especificado.

Mais de uma janela pode conter o ponto determinado. No entanto, essa função retorna apenas o CWnd* da primeira janela encontrada que contém o ponto.

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

Exemplo

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 determinado ponto ou retângulo na exibição em coordenadas de tela.

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 serem convertidas.

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

Comentários

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

A ClientToScreen função membro pressupõe que o ponto ou retângulo determinado esteja nas coordenadas do cliente.

Exemplo

// 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();

Comentários

Essa função membro emula a funcionalidade da funçãoCloseWindow, conforme descrito no SDK do Windows.

CWnd::ContinueModal

Essa função de membro é chamada RunModalLoop para determinar quando o estado modal deve ser encerrado.

virtual BOOL ContinueModal();

Valor de retorno

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

Comentários

Por padrão, ele retorna diferente de zero até EndModalLoop ser chamado.

CWnd::Create

Cria a janela filho especificada e a anexa 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
[in] Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome de uma classe de janela do sistema registrada; ou o nome de uma classe de janela predefinida do sistema.

lpszWindowName
[in] Ponteiro para uma cadeia de caracteres 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
[in] Combinação bit a bit (OR) de estilos de janela. A WS_POPUP opção não é um estilo válido.

rect
[in] O tamanho e o local da janela em relação ao canto superior esquerdo da janela pai.

pParentWnd
[in] Ponteiro para a janela pai.

nID
[in] ID da janela.

pContext
[in] Ponteiro para uma CCreateContext estrutura que é usada para personalizar a arquitetura de exibição de documento para o aplicativo.

Valor de retorno

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

Comentários

Aviso

CWnd::PreCreateWindow agora atribui o hMenu membro de seu CREATESTRUCT parâmetro ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para a funcionalidade adequada, verifique se o controle de diálogo tem uma ID que não NULLé .

Essa alteração corrige uma falha em cenários de interoperabilidade gerenciados/nativos. Uma TRACE instrução em CWnd::Create alertas para o desenvolvedor do problema.

Use a AfxRegisterWndClass função para registrar classes de janela. As classes de janela definidas pelo usuário estão disponíveis no módulo em que estão registradas.

O CWnd::OnCreate método é chamado antes que o Create método retorne e antes que a janela fique visível.

Exemplo

// 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 acessado pelo proxy de Acessibilidade Ativa. Pode ser um dos valores a seguir

Valor Significado
OBJID_CLIENT Refere-se à área de cliente da janela.

lParam
Fornece informações adicionais dependentes de mensagens.

pResult
Um ponteiro para um LRESULT que armazena o código de resultado.

Comentários

Cria um proxy de Acessibilidade Ativa para o objeto especificado.

CWnd::CreateCaret

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

void CreateCaret(CBitmap* pBitmap);

Parâmetros

pBitmap
Identifica o bitmap que define a forma de careta.

Comentários

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

CreateCaret destrói automaticamente a forma de careta anterior, se houver, independentemente de qual janela possui o caret. Depois de criado, o cursor fica inicialmente oculto. Para mostrar o cursor, a ShowCaret função de membro deve ser chamada.

O sistema caret é um recurso compartilhado. CWnd deve criar um ponto de atenção somente quando ele tiver o foco de entrada ou estiver ativo. Ele deve destruir o cuidado antes de perder o foco de entrada ou ficar inativo.

Exemplo

// 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 essa função de membro para criar um controle 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
Essa cadeia de caracteres pode conter o "nome curto" OLE (ProgID) para a classe. Por exemplo, "CIRC3.Circ3Ctrl.1". O nome precisa corresponder ao mesmo nome registrado pelo controle. Como alternativa, a cadeia de caracteres pode conter a forma de cadeia de caracteres de um CLSID, contido em chaves. Por exemplo, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". Em ambos os casos, CreateControl converte a cadeia de caracteres na ID de classe correspondente.

pszWindowName
Um ponteiro para o texto a ser exibido no controle. Define o valor da propriedade Legenda ou Texto do controle (se houver). Se NULLa propriedade Legenda ou Texto do controle não for alterada.

dwStyle
estilos Windows. Os estilos disponíveis são listados em Comentários.

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 controle.

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

*pParentWnd*
Especifica a janela pai do controle. Não deve ser NULL.

nID
Especifica a ID do controle.

pPersist
Um ponteiro para um CFile estado persistente que contém o controle. O valor padrão é NULL, indicando que o controle se inicializa sem restaurar seu estado de nenhum armazenamento persistente. Caso contrário NULL, ele deverá ser um ponteiro para um CFileobjeto derivado que contém os dados persistentes do controle, na forma de um fluxo ou de um armazenamento. Esses dados poderiam ter sido salvos em uma ativação anterior do cliente. Ele CFile pode conter outros dados, mas deve ter seu ponteiro de leitura/gravação definido como 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 são pPersist um armazenamento, bStorage deve ser TRUE. Se os dados em pPersist é um fluxo, bStorage deve ser FALSE. O valor padrão é FALSE.

bstrLicKey
Dados de chave de licença opcionais. Esses dados são necessários apenas para a criação de controles que exigem uma chave de licença em tempo de execução. Se o controle der suporte ao licenciamento, você deverá fornecer uma chave de licença para que a criação do controle tenha êxito. O valor padrão é NULL.

clsid
A ID de classe exclusiva do controle.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

Comentários

CreateControl é um analógico direto da CWnd::Create função, que cria a janela para um CWnd. CreateControlcria um controle ActiveX em vez de uma janela comum.

Há suporte apenas para um subconjunto dos sinalizadores WindowsdwStyle:CreateControl

  • WS_VISIBLE Cria uma janela inicialmente visível. Obrigatório se você quiser que o controle fique visível imediatamente, como janelas comuns.

  • WS_DISABLED Cria uma janela inicialmente desabilitada. Uma janela desabilitada não pode receber entrada do usuário. Pode ser definido se o controle tiver uma propriedade Habilitada.

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

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

  • WS_TABSTOP Especifica um controle que pode receber o foco do teclado quando o usuário pressiona a tecla TAB. Pressionar a tecla TAB altera o foco do teclado para o próximo controle do WS_TABSTOP estilo.

Exemplo

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 a anexa 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 janela estendida; caso contrário NULL , para o estilo de janela estendida padrão.

lpszClassName
Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome de uma classe de janela do sistema registrada; ou o nome de uma classe de janela predefinida do sistema.

lpszWindowName
Ponteiro para uma cadeia de caracteres 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 janela; caso contrário NULL , para o estilo de janela padrão.

x
A distância horizontal inicial da janela do lado esquerdo da tela ou da janela pai.

y
A distância vertical inicial da janela da parte superior da tela ou da janela pai.

nWidth
A largura, em pixels, da janela.

nHeight
A altura, em pixels, da janela.

hwndParent
Para uma janela filho, o identificador para a janela pai; caso contrário, o identificador da janela de proprietário se a janela tiver um proprietário.

nIDorHMenu
Para uma janela filho, a ID da janela; caso contrário, a ID de um menu para a janela.

lpParam
Ponteiro para os dados do usuário que são passados para o CWnd::OnCreate método no lpCreateParams campo.

rect
O tamanho e o local da janela em relação à tela ou à janela pai.

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

nID
Para uma janela filho, a ID da janela; caso contrário, a ID de um menu para a janela.

Valor de retorno

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

Comentários

Aviso

CWnd::PreCreateWindow agora atribui o hMenu membro de seu CREATESTRUCT parâmetro ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para a funcionalidade adequada, verifique se o controle de diálogo tem uma ID que não NULLé .

Essa alteração corrige uma falha em cenários de interoperabilidade gerenciados/nativos. Uma TRACE instrução em CWnd::Create alertas para o desenvolvedor do problema.

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

Use a AfxRegisterWndClass função para registrar classes de janela. As classes de janela definidas pelo usuário estão disponíveis no módulo em que estão registradas.

As dimensões para janelas filho são relativas ao canto superior esquerdo da área do cliente da janela pai. As dimensões para janelas de nível superior são relativas ao canto superior esquerdo da tela.

O CWnd::OnCreate método é chamado antes que o CreateEx método retorne e antes que a janela fique visível.

Exemplo

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 cinza para o careta do sistema e reivindica a propriedade do caret.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

Parâmetros

nWidth
Especifica a largura do careta (em unidades lógicas). Se esse parâmetro for 0, a largura será definida como a largura da borda da janela definida pelo sistema.

nHeight
Especifica a altura do careta (em unidades lógicas). Se esse parâmetro for 0, a altura será definida como a altura da borda da janela definida pelo sistema.

Comentários

A forma de careta pode ser uma linha ou um bloco.

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

A largura ou a altura da borda da janela do sistema pode ser recuperada pela GetSystemMetrics função Windows com o índice e SM_CYBORDER a SM_CXBORDER largura do sistema. Usar a largura ou a altura da borda da janela garante que o caret fique visível em uma exibição de alta resolução.

A CreateGrayCaret função membro destrói automaticamente a forma de careta anterior, se houver, independentemente de qual janela seja a dona do careta. Depois de criado, o cursor fica inicialmente oculto. Para mostrar o cursor, a ShowCaret função de membro deve ser chamada.

O sistema caret é um recurso compartilhado. CWnd deve criar um ponto de atenção somente quando ele tiver o foco de entrada ou estiver ativo. Ele deve destruir o cuidado antes de perder o foco de entrada ou ficar inativo.

Exemplo

// 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 sistema caret e reivindica a propriedade do caret.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

Parâmetros

nWidth
Especifica a largura do careta (em unidades lógicas). Se esse parâmetro for 0, a largura será definida como a largura da borda da janela definida pelo sistema.

nHeight
Especifica a altura do careta (em unidades lógicas). Se esse parâmetro for 0, a altura será definida como a altura da borda da janela definida pelo sistema.

Comentários

A forma de careta pode ser uma linha ou um bloco.

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

A largura ou a altura da borda da janela do sistema pode ser recuperada pela GetSystemMetrics função Windows com o índice e SM_CYBORDER a SM_CXBORDER largura do sistema. Usar a largura ou a altura da borda da janela garante que o caret fique visível em uma exibição de alta resolução.

A CreateSolidCaret função membro destrói automaticamente a forma de careta anterior, se houver, independentemente de qual janela seja a dona do careta. Depois de criado, o cursor fica inicialmente oculto. Para mostrar o cursor, a ShowCaret função de membro deve ser chamada.

O sistema caret é um recurso compartilhado. CWnd deve criar um ponto de atenção somente quando ele tiver o foco de entrada ou estiver ativo. Ele deve destruir o cuidado antes de perder o foco de entrada ou ficar inativo.

Exemplo

// 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 objeto CWnd.

CWnd();

Comentários

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

CWnd::Default

Chama o procedimento de janela padrão.

LRESULT Default();

Valor de retorno

Depende da mensagem enviada.

Comentários

O procedimento de janela padrão fornece processamento padrão para qualquer mensagem de janela que um aplicativo não processa. Essa função de membro garante que cada mensagem seja processada.

Exemplo

// 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 padrão, que fornece processamento padrão para qualquer mensagem de janela que um aplicativo não processa.

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

Parâmetros

message
Especifica a mensagem Windows a ser processada.

wParam
Especifica informações adicionais dependentes de mensagens.

lParam
Especifica informações adicionais dependentes de mensagens.

Valor de retorno

Depende da mensagem enviada.

Comentários

Essa função de membro garante que cada mensagem seja processada. Ele deve ser chamado com os mesmos parâmetros que os recebidos pelo procedimento de janela.

CWnd::DeleteTempMap

Chamado automaticamente pelo manipulador de tempo ocioso do CWinApp objeto.

static void PASCAL DeleteTempMap();

Comentários

Exclui todos os objetos temporários CWnd criados pela FromHandle função membro.

Exemplo

// 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 Windows anexada ao CWnd objeto.

virtual BOOL DestroyWindow();

Valor de retorno

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

Comentários

A DestroyWindow função membro envia mensagens apropriadas para a janela para desativá-la e remover o foco de entrada. Ele também destrói o menu da janela, libera a fila do aplicativo, destrói temporizadores pendentes, remove a propriedade da área de transferência e quebra a cadeia do visualizador de área de transferência se CWnd estiver na parte superior da cadeia de visualizadores. Ele envia WM_DESTROY e WM_NCDESTROY envia mensagens para a janela. Ele não destrói o CWnd objeto.

DestroyWindow é um espaço reservado para executar a limpeza. Como DestroyWindow é uma função virtual, ela é mostrada em qualquer CWndclasse derivada no Modo de Exibição de Classe. Mas mesmo que você substitua essa função em sua CWndclasse derivada, DestroyWindow não será necessariamente chamado. Se DestroyWindow não for chamado no código MFC, você precisará chamá-lo explicitamente em seu próprio código se quiser que ele seja chamado.

Suponha, por exemplo, que você tenha substituído DestroyWindow em uma CViewclasse derivada. Como o código-fonte MFC não chama DestroyWindow nenhuma de suas CFrameWndclasses derivadas, seu substituído DestroyWindow não será chamado, a menos que você o chame explicitamente.

Se a janela for o pai de qualquer janela, essas janelas filho serão destruídas automaticamente quando a janela pai for destruída. A DestroyWindow função membro destrói primeiro as janelas filho e, em seguida, a própria janela.

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

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

Exemplo

// 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

Desanexa um identificador de Windows de um CWnd objeto e retorna o identificador.

HWND Detach();

Valor de retorno

Um HWND para o objeto Windows.

Exemplo

Veja o exemplo de CWnd::Attach.

CWnd::DlgDirList

Preenche uma caixa de listagem com uma listagem de arquivo ou diretório.

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

Parâmetros

lpPathSpec
Aponta para uma cadeia de caracteres terminada em nulo que contém o caminho ou nome do arquivo. DlgDirList modifica essa cadeia de caracteres, que deve ser longa o suficiente para conter as modificações. Para obter mais informações, consulte a seção "Comentários" a seguir.

nIDListBox
Especifica o identificador de uma caixa de listagem. Se nIDListBox for 0, DlgDirList suponha que nenhuma caixa de listagem exista e não tente preencher uma.

nIDStaticPath
Especifica o identificador do controle de texto estático usado para exibir a unidade e o diretório atuais. Se nIDStaticPath for 0, DlgDirList pressupõe que nenhum controle de texto esteja presente.

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

  • DDL_READWRITE Arquivos de dados de leitura-gravação sem atributos adicionais.

  • DDL_READONLY Arquivos somente leitura.

  • DDL_HIDDEN Arquivos ocultos.

  • DDL_SYSTEM Arquivos do sistema.

  • DDL_DIRECTORY Diretórios.

  • DDL_ARCHIVE Arquivos.

  • DDL_POSTMSGSLB_DIR Bandeira. Se o LB_DIR sinalizador estiver definido, Windows colocará as mensagens geradas na DlgDirList fila do aplicativo; caso contrário, elas serão enviadas diretamente para o procedimento da caixa de diálogo.

  • DDL_DRIVES Unidades. Se o DDL_DRIVES sinalizador estiver definido, o DDL_EXCLUSIVE sinalizador será definido automaticamente. Portanto, para criar uma listagem de diretório que inclua unidades e arquivos, você deve chamar DlgDirList duas vezes: uma com o DDL_DRIVES sinalizador definido e uma vez com os sinalizadores para o restante da lista.

  • DDL_EXCLUSIVE Bit exclusivo. Se o bit exclusivo estiver definido, somente os arquivos do tipo especificado serão listados; caso contrário, arquivos e arquivos normais do tipo especificado estão listados.

Valor de retorno

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

Comentários

DlgDirList envia LB_RESETCONTENT e LB_DIR mensagens para a caixa de listagem. Ele preenche a caixa de listagem especificada nIDListBox com os nomes de todos os arquivos que correspondem ao caminho fornecido por lpPathSpec.

O lpPathSpec parâmetro tem o seguinte formulário:

[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 arquivo válido que deve conter pelo menos um curinga. Os curingas são um ponto de interrogação (?), o que significa que correspondem a qualquer caractere e um asterisco (*), o que significa que correspondem a qualquer número de caracteres.

Se você especificar uma cadeia de caracteres de 0 comprimento ou lpPathSpecse especificar apenas um nome de diretório, mas não incluir nenhuma especificação de arquivo, a cadeia de caracteres será alterada para "*.*".

Se lpPathSpec incluir uma unidade e/ou um nome de diretório, a unidade e o diretório atuais serão alterados para a unidade e o diretório designados antes que a caixa de listagem seja preenchida. O controle de texto identificado também nIDStaticPath é atualizado com a nova unidade e/ou o nome do diretório.

Depois que a caixa de listagem for preenchida, lpPathSpec será atualizada removendo a parte de unidade e/ou diretório do caminho.

Exemplo

// 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 listagem de uma caixa de combinação com uma listagem de arquivo ou diretório.

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

Parâmetros

lpPathSpec
Aponta para uma cadeia de caracteres terminada em nulo que contém o caminho ou nome do arquivo. DlgDirListComboBox modifica essa cadeia de caracteres, portanto, esses dados não devem estar na forma de um literal de cadeia de caracteres. Consulte a seção "Comentários" a seguir.

nIDComboBox
Especifica o identificador de uma caixa de combinação em uma caixa de diálogo. Se nIDComboBox for 0, DlgDirListComboBox suponha que nenhuma caixa de combinação exista e não tente preencher uma.

nIDStaticPath
Especifica o identificador do controle de texto estático usado para exibir a unidade e o diretório atuais. Se nIDStaticPath for 0, DlgDirListComboBox pressupõe que nenhum controle de texto esteja presente.

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

  • DDL_READWRITE Arquivos de dados de leitura-gravação sem atributos adicionais.

  • DDL_READONLY Arquivos somente leitura.

  • DDL_HIDDEN Arquivos ocultos.

  • DDL_SYSTEM Arquivos do sistema.

  • DDL_DIRECTORY Diretórios.

  • DDL_ARCHIVE Arquivos.

  • DDL_POSTMSGSCB_DIR Bandeira. Se o CB_DIR sinalizador estiver definido, Windows colocará as mensagens geradas na DlgDirListComboBox fila do aplicativo; caso contrário, elas serão enviadas diretamente para o procedimento da caixa de diálogo.

  • DDL_DRIVES Unidades. Se o DDL_DRIVES sinalizador estiver definido, o DDL_EXCLUSIVE sinalizador será definido automaticamente. Portanto, para criar uma listagem de diretório que inclua unidades e arquivos, você deve chamar DlgDirListComboBox duas vezes: uma com o DDL_DRIVES sinalizador definido e uma vez com os sinalizadores para o restante da lista.

  • DDL_EXCLUSIVE Bit exclusivo. Se o bit exclusivo estiver definido, somente os arquivos do tipo especificado serão listados; caso contrário, arquivos e arquivos normais do tipo especificado estão listados.

Valor de retorno

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

Comentários

DlgDirListComboBox envia CB_RESETCONTENT e CB_DIR mensagens para a caixa de combinação. Ele preenche a caixa de listagem da caixa de combinação especificada nIDComboBox com os nomes de todos os arquivos que correspondem ao caminho fornecido por lpPathSpec.

O lpPathSpec parâmetro tem o seguinte formulário:

[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 arquivo válido que deve conter pelo menos um curinga. Os curingas são um ponto de interrogação (?), o que significa corresponder a qualquer caractere e um asterisco (*), o que significa corresponder a qualquer número de caracteres.

Se você especificar uma cadeia de caracteres de comprimento zero, lpPathSpeco diretório atual será usado e lpPathSpec não será modificado. Se você especificar apenas um nome de diretório, mas não incluir nenhuma especificação de arquivo, a cadeia de caracteres será alterada para "*".

Se lpPathSpec incluir uma unidade e/ou um nome de diretório, a unidade e o diretório atuais serão alterados para a unidade e o diretório designados antes que a caixa de listagem seja preenchida. O controle de texto identificado também nIDStaticPath é atualizado com a nova unidade e/ou o nome do diretório.

Depois que a caixa de listagem de caixa de combinação for preenchida, lpPathSpec será atualizada removendo a parte de unidade e/ou diretório do caminho.

Exemplo

// 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 listagem.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

Parâmetros

lpString
Aponta para um buffer que deve receber a seleção atual na caixa de listagem.

nIDListBox
Especifica a ID do inteiro de uma caixa de listagem na caixa de diálogo.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

Comentários

Ele pressupõe que a caixa de listagem foi preenchida pela DlgDirList função membro e que a seleção é uma letra de unidade, um arquivo ou um nome de diretório.

A DlgDirSelect função membro copia a seleção para o buffer fornecido por lpString. Se não houver seleção, lpString não será alterado.

DlgDirSelect envia LB_GETCURSEL e LB_GETTEXT mensagens para a caixa de listagem.

Ele não permite que mais de um nome de arquivo seja retornado de uma caixa de listagem. A caixa de listagem não deve ser uma caixa de listagem de seleção múltipla.

CWnd::DlgDirSelectComboBox

Recupera a seleção atual da caixa de listagem de uma caixa de combinação.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

Parâmetros

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

nIDComboBox
Especifica a ID do inteiro da caixa de combinação na caixa de diálogo.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

Comentários

Ele pressupõe que a caixa de listagem tenha sido preenchida pela DlgDirListComboBox função membro e que a seleção seja uma letra de unidade, um arquivo 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 será alterado.

DlgDirSelectComboBox envia CB_GETCURSEL e CB_GETLBTEXT envia mensagens para a caixa de combinação.

Ele não permite que mais de um nome de arquivo seja retornado de uma caixa de combinação.

CWnd::DoDataExchange

Chamado pela estrutura para trocar e validar dados da caixa de diálogo.

virtual void DoDataExchange(CDataExchange* pDX);

Parâmetros

pDX
Um ponteiro para um objeto CDataExchange.

Comentários

Nunca chame essa função diretamente. Ela é chamada pela UpdateData função membro. Chame UpdateData para inicializar os controles de uma caixa de diálogo ou recuperar dados de uma caixa de diálogo.

Ao derivar uma classe de diálogo específica do CDialogaplicativo, você precisará substituir essa função de membro se quiser utilizar a troca automática de dados e a validação da estrutura. O assistente Adicionar Variável escreverá uma versão substituída dessa função de membro para você que contém o "mapa de dados" desejado da DDX (troca de dados de caixa de diálogo) e as chamadas de função global de validação (DDV).

Para gerar automaticamente uma versão substituída dessa função de membro, primeiro crie um recurso de diálogo com o editor de diálogo e, em seguida, derive uma classe de diálogo específica do aplicativo. Em seguida, use o assistente Adicionar Variável para associar variáveis, dados e intervalos de validação a vários controles na nova caixa de diálogo. Em seguida, o assistente grava o substituído DoDataExchange, que contém um mapa de dados. Veja a seguir um exemplo de bloco de código DDX/DDV gerado pelo assistente 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 substituída deve preceder as instruções de macro no arquivo de origem.

Para obter mais informações sobre troca e validação de dados de caixa de diálogo, consulte Exibindo e manipulando dados em um formulário e dados de caixa de diálogo Exchange e validação. Para obter uma descrição das macros DDX_ e DDV_ geradas pelo assistente Adicionar Variável, consulte a Observação Técnica 26.

CWnd::DragAcceptFiles

Chame essa função de membro de dentro de uma janela, usando um CWnd ponteiro, na função do CWinApp::InitInstance aplicativo para indicar que a janela aceita arquivos descartados do Windows Gerenciador de Arquivos ou Explorador de Arquivos.

void DragAcceptFiles(BOOL bAccept = TRUE);

Parâmetros

BAccept
Sinalizador que indica se arquivos arrastados são aceitos.

Comentários

Somente a janela que chama DragAcceptFiles com o bAccept parâmetro definido para TRUE se identificou como capaz de processar a mensagem WM_DROPFILESde Windows. Por exemplo, em um aplicativo MDI, se o ponteiro da CMDIFrameWnd janela for usado na chamada de DragAcceptFiles função, somente a CMDIFrameWnd janela receberá a WM_DROPFILES mensagem. Essa mensagem não é enviada para todas as janelas abertas CMDIChildWnd . Para que uma CMDIChildWnd janela receba essa mensagem, você deve ligar DragAcceptFiles com o ponteiro da CMDIChildWnd janela.

Para interromper o recebimento de arquivos arrastados, chame a função de membro com bAccept definido como FALSE.

CWnd::DragDetect

Captura o mouse e rastreia seu movimento até que o usuário libere o botão esquerdo, pressione a tecla ESC ou mova o mouse para fora do retângulo de arrastar ao redor do ponto especificado.

BOOL DragDetect(POINT pt) const;

Parâmetros

pt
Posição inicial do mouse, nas coordenadas da tela. A função determina as coordenadas do retângulo de arrastar usando este ponto.

Valor de retorno

Se o usuário moveu o mouse para fora do retângulo de arrastar enquanto segura o botão esquerdo, o valor retornado não é zero.

Se o usuário não moveu o mouse para fora do retângulo de arrastar enquanto segura o botão esquerdo, o valor retornado será zero.

Comentários

Essa função membro emula a funcionalidade da funçãoDragDetect, conforme descrito no SDK do Windows.

CWnd::DrawAnimatedRects

Desenha um retângulo de quadro de fio 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 você especificar IDANI_CAPTION, a legenda da janela animará da posição especificada pela lprcFrom posição especificada por lprcTo. O efeito é semelhante a minimizar ou maximizar uma janela.

lprcFrom
Ponteiro para uma RECT estrutura que especifica o local e o tamanho do ícone ou janela minimizada.

lprcTo
Ponteiro para uma RECT estrutura que especifica o local e o tamanho da janela restaurada

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoDrawAnimatedRects, 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 este contexto de dispositivo.

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

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

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoDrawCaption, conforme descrito no SDK do Windows.

CWnd::DrawMenuBar

Redesenhe a barra de menus.

void DrawMenuBar();

Comentários

Se uma barra de menus for alterada depois que Windows tiver criado a janela, chame essa função para desenhar a barra de menus alterada.

Exemplo

Consulte o exemplo de CWnd::GetMenu.

CWnd::EnableActiveAccessibility

Habilita funções de Acessibilidade Ativa definidas pelo usuário.

void EnableActiveAccessibility();

Comentários

O suporte padrão de Acessibilidade Ativa do MFC é suficiente para janelas e controles padrão, incluindo controles de ActiveX; no entanto, se a CWndclasse derivada contiver elementos de interface do usuário não enganados, o MFC não terá como saber sobre eles. Nesse caso, você deve substituir as funções de membro de Acessibilidade Ativa apropriadas em sua classe e deve chamar EnableActiveAccessibility o construtor da classe.

CWnd::EnableDynamicLayout

Habilita ou desabilita o gerenciador de layout dinâmico. Quando o layout dinâmico está habilitado, a posição e o tamanho das janelas filho podem ser ajustados dinamicamente quando o usuário redimensiona a janela.

void EnableDynamicLayout(BOOL bEnable = TRUE);

Parâmetros

bEnable
TRUE para habilitar o layout dinâmico; FALSE para desabilitar o layout dinâmico.

Comentários

Se você quiser habilitar o layout dinâmico, precisará fazer mais do que apenas chamar esse método. Você também precisa fornecer informações de layout dinâmico sobre quais espécies os controles na janela respondem às alterações de tamanho. Você pode especificar essas informações no editor de recursos ou programaticamente para cada controle. Consulte Layout Dinâmico.

CWnd::EnableD2DSupport

Habilita ou desabilita o suporte à janela D2D. Chame esse método antes que a janela principal seja inicializada.

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

Parâmetros

bEnable
Especifica se deseja ativar ou desativar o suporte a D2D.

bUseDCRenderTarget
Espécies que devem usar o destino CDCRenderTargetde renderização do CONTEXTO do Dispositivo (DC), . Se FALSE, CHwndRenderTarget é usado.

CWnd::EnableScrollBar

Habilita ou desabilita uma ou ambas as setas de uma barra de rolagem.

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

Parâmetros

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

  • SB_BOTH Habilita ou desabilita as setas das barras de rolagem horizontal e vertical associadas à janela.

  • SB_HORZ Habilita ou desabilita as setas da barra de rolagem horizontal associada à janela.

  • SB_VERT Habilita ou desabilita as setas da barra de rolagem vertical associada à janela.

nArrowFlags
Especifica se as setas da barra de rolagem estão habilitadas ou desabilitadas e quais setas estão habilitadas ou desabilitadas. Pode ter um dos seguintes valores:

  • ESB_ENABLE_BOTH Habilita as duas setas de uma barra de rolagem (padrão).

  • ESB_DISABLE_LTUP Desabilita a seta para a esquerda de uma barra de rolagem horizontal ou a seta para cima de uma barra de rolagem vertical.

  • ESB_DISABLE_RTDN Desabilita a seta para a direita de uma barra de rolagem horizontal ou a seta para baixo de uma barra de rolagem vertical.

  • ESB_DISABLE_BOTH Desabilita as duas setas de uma barra de rolagem.

Valor de retorno

Não zero se as setas estiverem habilitadas ou desabilitadas, 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

Habilita ou desabilita a barra de rolagem dessa janela.

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

Parâmetros

nBar
O identificador da barra de rolagem.

bEnable
Especifica se a barra de rolagem deve ser habilitada ou desabilitada.

Comentários

Se a janela tiver um controle de barra de rolagem irmão, essa barra de rolagem será usada; caso contrário, a própria barra de rolagem da janela é usada.

CWnd::EnableToolTips

Habilita dicas de ferramenta para a janela fornecida.

BOOL EnableToolTips(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se o controle de dica de ferramenta está habilitado ou desabilitado. TRUE habilita o controle; FALSE desabilita o controle.

Valor de retorno

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

Comentários

Substitua OnToolHitTest para fornecer o TOOLINFO struct ou structs para a janela.

Observação

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

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

Simplesmente chamar EnableToolTips não é suficiente para exibir dicas de ferramenta para seus controles filho, a menos que a janela pai seja derivada de CFrameWnd. Isso ocorre porque CFrameWnd fornece um manipulador padrão para a TTN_NEEDTEXT notificação. Se a janela pai não for derivada, CFrameWndou seja, se for uma caixa de diálogo ou um modo de exibição de formulário, as dicas de ferramenta para seus controles filho não serão exibidas corretamente, a menos que você forneça um manipulador para a notificação de dica de TTN_NEEDTEXT ferramenta. Consulte o Dicas da Ferramenta.

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

Exemplo

// 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

Habilita ou desabilita o acompanhamento de dicas de ferramentas.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se as dicas de ferramenta de acompanhamento estão habilitadas ou desabilitadas. Se esse parâmetro for TRUE, as dicas da ferramenta de acompanhamento serão habilitadas. Se esse parâmetro for FALSE, as dicas da ferramenta de acompanhamento serão desabilitadas.

Valor de retorno

Indica o estado antes da EnableWindow função membro ser chamada. O valor retornado não será zero se a janela tiver sido desabilitada anteriormente. O valor retornado será 0 se a janela foi habilitada anteriormente ou ocorreu um erro.

Comentários

Dicas de ferramenta de acompanhamento são janelas de dica de ferramenta que você pode posicionar dinamicamente na tela. Ao atualizar rapidamente a posição, a janela da dica de ferramenta parece se mover sem problemas ou "acompanhar". Essa funcionalidade pode ser útil se você precisar de texto de dica de ferramenta para seguir a posição do ponteiro à medida que ele se move.

CWnd::EnableWindow

Habilita ou desabilita a entrada de mouse e teclado.

BOOL EnableWindow(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se a janela fornecida deve ser habilitada ou desabilitada. Se esse parâmetro for TRUE, a janela será habilitada. Se esse parâmetro for FALSE, a janela será desabilitada.

Valor de retorno

Indica o estado antes da EnableWindow função membro ser chamada. O valor retornado não será zero se a janela tiver sido desabilitada anteriormente. O valor retornado será 0 se a janela foi habilitada anteriormente ou ocorreu um erro.

Comentários

Quando a entrada é desabilitada, a entrada, como cliques do mouse e pressionamentos de teclas, é ignorada. Quando a entrada é habilitada, a janela processa todas as entradas.

Se o estado habilitado estiver sendo alterado, a WM_ENABLE mensagem será enviada antes que essa função retorne.

Se estiver desabilitada, todas as janelas filho serão implicitamente desabilitadas, embora não sejam enviadas WM_ENABLE mensagens.

Uma janela deve ser habilitada antes de ser ativada. Por exemplo, se um aplicativo estiver exibindo uma caixa de diálogo de modelagem e tiver desabilitado sua janela principal, a janela principal deverá ser habilitada antes que a caixa de diálogo seja destruída. Caso contrário, outra janela obterá o foco de entrada e será ativada. Se uma janela filho estiver desabilitada, ela será ignorada quando Windows tentar determinar qual janela deve receber mensagens do mouse.

Por padrão, uma janela é habilitada quando é criada. Um aplicativo pode especificar o WS_DISABLED estilo na Create função ou CreateEx membro para criar uma janela inicialmente desabilitada. Depois que uma janela for criada, um aplicativo também poderá usar a EnableWindow função membro para habilitar ou desabilitar a janela.

Um aplicativo pode usar essa função para habilitar ou desabilitar um controle em uma caixa de diálogo. Um controle desabilitado não pode receber o foco de entrada, nem um usuário pode acessá-lo.

Exemplo

//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

Encerra uma chamada para RunModalLoop.

virtual void EndModalLoop(int nResult);

Parâmetros

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

Comentários

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

CWnd::EndModalState

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

virtual void EndModalState();

CWnd::EndPaint

Marca o fim da pintura na janela fornecida.

void EndPaint(LPPAINTSTRUCT lpPaint);

Parâmetros

lpPaint
Aponta para uma PAINTSTRUCT estrutura que contém as informações de pintura recuperadas pela BeginPaint função membro.

Comentários

A EndPaint função membro é necessária para cada chamada para a função membro, mas somente após a BeginPaint conclusão da pintura.

Se o cursor estiver oculto pela BeginPaint função membro, EndPaint restaurará o cursor na tela.

Exemplo

Veja o exemplo de CWnd::BeginPaint.

CWnd::ExecuteDlgInit

Inicia um recurso de caixa de diálogo.

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

Parâmetros

lpszResourceName
Um ponteiro para uma cadeia de caracteres terminada em nulo especificando o nome do recurso.

lpResource
Um ponteiro para um recurso.

Valor de retorno

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

Comentários

ExecuteDlgInit usará recursos associados ao módulo em execução ou recursos de outras fontes. Para fazer isso, ExecuteDlgInit localiza um identificador de recurso chamando AfxFindResourceHandle. Se o aplicativo MFC não usar a DLL compartilhada (MFCx0[U][D].DLL), AfxFindResourceHandle as chamadas AfxGetResourceHandleretornarão o identificador de recurso atual para o executável. Se o aplicativo MFC que usa MFCx0[U][D].DLL, AfxFindResourceHandle percorre a CDynLinkLibrary lista de objetos de DLLs de extensão MFC compartilhadas e MFC que procuram o identificador de recurso correto.

CWnd::FilterToolTipMessage

Chamado pela estrutura para exibir mensagens de dica de ferramenta.

void FilterToolTipMessage(MSG* pMsg);

Parâmetros

pMsg
Um ponteiro para a mensagem de dica de ferramenta.

Comentários

Na maioria dos aplicativos MFC, esse método é chamado pela estrutura PreTranslateMessage de e EnableToolTips, e você não precisa chamá-lo por conta própria.

No entanto, em determinados aplicativos, por exemplo, alguns controles ActiveX, esses métodos podem não ser invocados pela estrutura e você precisará se chamarFilterToolTipMessage. Para obter mais informações, consulte Métodos de Criação de Ferramenta Dicas.

CWnd::FindWindow

Retorna o nível CWnd superior cuja classe de janela é fornecida e lpszClassName cujo nome de janela, ou título, é fornecido por lpszWindowName.

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

Parâmetros

lpszClassName
Aponta para uma cadeia de caracteres terminada em nulo que especifica o nome da classe da janela (uma WNDCLASS estrutura). Se lpClassName for NULL, todos os nomes de classe correspondem.

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

Valor de retorno

Identifica a janela que tem o nome da classe e o nome da janela especificados. É NULL se nenhuma janela desse tipo for encontrada.

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

Comentários

Essa função não pesquisa janelas filho.

Exemplo

// 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 de janela cujo nome de classe e nome da janela correspondem às cadeias de caracteres especificadas.

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

Parâmetros

hwndParent
Manipule para a janela pai cujas janelas filho devem ser pesquisadas.

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

lpszClass
Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome da classe ou um atom de classe criado por uma chamada anterior para o RegisterClass ou RegisterClassEx.

lpszWindow
Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome da janela (o título da janela). Se esse parâmetro for NULL, todos os nomes de janela corresponderão.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será um ponteiro para o objeto de janela que tem os nomes de classe e janela especificados. Se a função falhar, o valor retornado será NULL.

Comentários

Essa função membro emula a funcionalidade da funçãoFindWindowEx, conforme descrito no SDK do Windows.

CWnd::FlashWindow

Pisca a janela determinada uma vez.

BOOL FlashWindow(BOOL bInvert);

Parâmetros

bInvert
Especifica se o CWnd estado original deve ser exibido ou retornado. A CWnd opção é exibida de um estado para outro se bInvert for TRUE. Se bInvert for FALSE, a janela será retornada ao estado original (ativa ou inativa).

Valor de retorno

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

Comentários

Para piscar sucessivamente, crie um temporizador do sistema e chame FlashWindowrepetidamente. Exibir os CWnd meios alterando a aparência de sua barra de título como se estivesse CWnd mudando de inativo para status ativo, ou vice-versa. (Uma barra de título inativa é alterada para uma barra de título ativa; uma barra de título ativa é alterada para uma barra de título inativa.)

Normalmente, uma janela é exibida para informar ao usuário que ela requer atenção, mas que atualmente não tem o foco de entrada.

O bInvert parâmetro deve ser FALSE somente quando a janela estiver recebendo o foco de entrada e não estará mais piscando; ele deve estar TRUE em chamadas sucessivas enquanto aguarda para obter o foco de entrada.

Essa função sempre retorna não zero para janelas minimizadas. Se a janela for minimizada, FlashWindow piscará o ícone da janela; bInvert será ignorado para janelas minimizadas.

Exemplo

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 fornecida.

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

Parâmetros

*dwFlags*
Especifica o status flash. Para obter uma lista completa de valores, consulte a FLASHWINFO estrutura.

uCount
Especifica o número de vezes que a janela será exibida.

dwTimeout
Especifica a taxa, em milissegundos, na qual a janela será exibida. Se dwTimeout for zero, a função usará a taxa de piscar do cursor padrão.

Valor de retorno

O valor retornado especifica o estado da janela antes da chamada para a FlashWindowEx função. Se a legenda da janela foi desenhada como ativa antes da chamada, o valor retornado não será zero. Caso contrário, o valor retornado será zero.

Comentários

Esse método emula a funcionalidade da funçãoFlashWindowEx, conforme descrito no SDK do Windows.

CWnd::FromHandle

Retorna um ponteiro para um CWnd objeto quando um identificador é fornecido para uma janela. Se um CWnd objeto não estiver anexado ao identificador, um objeto temporário CWnd será criado e anexado.

static CWnd* PASCAL FromHandle(HWND hWnd);

Parâmetros

hWnd
Uma HWND janela de Windows.

Valor de retorno

Retorna um ponteiro para um CWnd objeto quando um identificador é fornecido para uma janela. Se um CWnd objeto não estiver anexado ao identificador, um objeto temporário CWnd será criado e anexado.

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

CWnd::FromHandlePermanent

Retorna um ponteiro para um CWnd objeto quando um identificador é fornecido para uma janela.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

Parâmetros

hWnd
Uma HWND janela de Windows.

Valor de retorno

Um ponteiro para um objeto CWnd.

Comentários

Se um CWnd objeto não estiver anexado ao identificador, NULL será retornado.

Essa função, ao contrário FromHandlede, não cria objetos temporários.

CWnd::get_accChild

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

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

Parâmetros

varChild
Identifica o filho cuja IDispatch interface deve ser recuperada.

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

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accChild SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janela, que o MFC manipula).

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

CWnd::get_accChildCount

Chamado pela estrutura para recuperar o número de filhos que pertencem a esse objeto.

virtual HRESULT get_accChildCount(long* pcountChildren);

Parâmetros

pcountChildren
Recebe o número de filhos.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accChildCount SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janela, que o MFC manipula). Chame a versão da classe base e adicione os elementos filho não desenrolados.

Para obter mais informações, consulte IAccessible::get_accChildCount o 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 ser recuperada é a do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

pszDefaultAction
Endereço de um BSTR que recebe uma cadeia de caracteres localizada que descreve a ação padrão para o objeto especificado ou NULL se esse objeto não tem nenhuma ação padrão.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados em IAccessible::get_accDefaultAction no SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função na CWndclasse derivada para descrever a ação padrão do objeto.

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

CWnd::get_accDescription

Chamado por 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 ser recuperada é a do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

pszDescription
Endereço de um BSTR que recebe uma cadeia de caracteres localizada que descreve o objeto especificado ou NULL se nenhuma descrição está disponível para esse objeto.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accDescription SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada para descrever seu objeto. Chame a versão da classe base e adicione sua descrição.

Para obter mais informações, consulte IAccessible::get_accDescription o 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ções sobre o objeto que tem o foco. Consulte pvarID no IAccessible::get_accFocus SDK do Windows.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accFocus SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

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

CWnd::get_accHelp

Chamado pela estrutura para recuperar a cadeia de caracteres da propriedade Help de um objeto.

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

Parâmetros

varChild
Especifica se as informações de ajuda a serem recuperadas são as do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

pszHelp
Endereço de um BSTR que recebe a cadeia de caracteres localizada que contém as informações de ajuda do objeto especificado ou NULL se nenhuma informação de ajuda está disponível.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accHelp SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

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

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

CWnd::get_accHelpTopic

Chamado pela estrutura para recuperar o caminho completo do arquivo WinHelp associado ao objeto especificado e ao identificador do tópico apropriado dentro desse arquivo.

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

Parâmetros

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

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

pidTopic
Identifica o tópico do arquivo de ajuda associado ao objeto especificado. Consulte pidTopic no IAccessible::get_accHelpTopic SDK do Windows.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accHelpTopic SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada para fornecer informações de ajuda sobre seu objeto.

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

CWnd::get_accKeyboardShortcut

Chamado pela estrutura para recuperar a chave 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 ser recuperado é o do objeto ou um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

pszKeyboardShortcut
Endereço de um BSTR que recebe uma cadeia de caracteres localizada que identifica o atalho de teclado ou NULL se nenhum atalho de teclado está associado ao objeto especificado.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accKeyboardShortcut SDK do Windows.

Comentários

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

Substitua essa função em sua CWndclasse derivada para identificar o atalho de teclado do objeto.

Para obter mais informações, consulte IAccessible::get_accKeyboardShortcut o 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 ser recuperado é o do objeto ou um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

pszName
Endereço de um BSTR que recebe uma cadeia de caracteres que contém o nome do objeto especificado.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accName SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função na classe CWndderivada para retornar o nome do objeto.

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

CWnd::get_accParent

Chamado pela estrutura 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 será definida como NULL se nenhum pai existir ou se o filho não puder acessar seu pai.

Valor de retorno

Retorna S_OK com êxito, um COM código de erro sobre falha. Consulte Valores retornados no IAccessible::get_accParent SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Na maioria dos casos, você não precisa substituir essa função.

Para obter mais informações, consulte IAccessible::get_accParent o 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 as informações de função a serem recuperadas são as do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

pvarRole
Recebe as informações da função. Consulte pvarRole no IAccessible::get_accRole SDK do Windows.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accRole SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

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

CWnd::get_accSelection

Chamado pela estrutura para recuperar os filhos selecionados desse objeto.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

Parâmetros

pvarChildren
Recebe informações sobre quais crianças estão selecionadas. Consulte pvarChildren no IAccessible::get_accSelection SDK do Windows.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accSelection SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

Para obter mais informações, consulte IAccessible::get_accSelection o 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 as informações de estado a serem recuperadas são as do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

pvarState
Recebe informações sobre o estado do objeto. Consulte pvarState no IAccessible::get_accState SDK do Windows.

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accState SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

Para obter mais informações, consulte IAccessible::get_accState o 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 as informações de valor a serem recuperadas são as do objeto ou de um dos elementos filho do objeto. Esse parâmetro pode ser CHILDID_SELF (para obter informações sobre o objeto) ou uma ID filho (para obter informações sobre o elemento filho do objeto).

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

Valor de retorno

Retorna S_OK com êxito, um código de erro COM sobre falha. Consulte Valores retornados no IAccessible::get_accValue SDK do Windows.

Comentários

Essa função faz parte do suporte à Acessibilidade Ativa do MFC.

Substitua essa função em sua CWndclasse derivada se você tiver elementos de interface do usuário não enganados (além de controles de ActiveX sem janelas, que o MFC manipula).

Para obter mais informações, consulte IAccessible::get_accValue o 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 estava ativa no momento da chamada. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

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

CWnd::GetAncestor

Recupera o objeto de janela ancestral da janela especificada.

CWnd* GetAncestor(UINT gaFlags) const;

Parâmetros

gaFlags
Especifica o ancestral a ser recuperado. Para obter uma lista completa de valores possíveis, consulte GetAncestor.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será um ponteiro para o objeto de janela ancestral. Se a função falhar, o valor retornado será NULL.

Comentários

Essa função membro emula a funcionalidade da funçãoGetAncestor, conforme descrito no SDK Windows.

CWnd::GetCapture

Recupera a janela que tem a captura do mouse.

static CWnd* PASCAL GetCapture();

Valor de retorno

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

O valor retornado pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

Apenas uma janela tem a captura do mouse a qualquer momento. Uma janela recebe a captura do mouse quando a SetCapture função membro é chamada. Essa janela recebe a entrada do mouse se o cursor está ou não dentro de suas bordas.

CWnd::GetCaretPos

Recupera as coordenadas do cliente da posição atual do caret e as retorna como um CPoint.

static CPoint PASCAL GetCaretPos();

Valor de retorno

CPoint objeto que contém as coordenadas da posição do caret.

Comentários

A posição de careta é fornecida nas coordenadas do cliente da CWnd janela.

CWnd::GetCheckedRadioButton

Recupera a ID do botão de opção verificado no momento no grupo especificado.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

Parâmetros

nIDFirstButton
Especifica o identificador inteiro do primeiro botão de opção no grupo.

nIDLastButton
Especifica o identificador inteiro do último botão de opção no grupo.

Valor de retorno

ID do botão de opção marcada ou 0 se nenhuma estiver selecionada.

CWnd::GetClientRect

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

void GetClientRect(LPRECT lpRect) const;

Parâmetros

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

Comentários

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 superior esquerdo da CWnd área do cliente, as coordenadas do canto superior esquerdo são (0,0).

Exemplo

Veja o exemplo de CWnd::IsIconic.

CWnd::GetClipboardOwner

Recupera o proprietário atual da Área de Transferência.

static CWnd* PASCAL GetClipboardOwner();

Valor de retorno

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

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

Comentários

A Área de Transferência ainda pode conter dados, mesmo que não seja de propriedade no momento.

CWnd::GetClipboardViewer

Recupera a primeira janela na cadeia de visualizadores de área de transferência.

static CWnd* PASCAL GetClipboardViewer();

Valor de retorno

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

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

CWnd::GetControlUnknown

Chame essa função de membro para recuperar um ponteiro para um controle OLE desconhecido.

LPUNKNOWN GetControlUnknown();

Valor de retorno

Um ponteiro para a IUnknown interface do controle OLE representado por esse CWnd objeto. Se esse objeto não representar um controle OLE, o valor retornado será NULL.

Comentários

Você não deve liberar este IUnknown ponteiro. Normalmente, você usaria para obter uma interface específica do controle.

O ponteiro de interface retornado por não é contado por GetControlUnknown referência. Não chame IUnknown::Release o ponteiro, a menos que você tenha chamado IUnknown::AddRef anteriormente.

Exemplo

// 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

Retorna um ponteiro para a mensagem que esta janela está processando no momento. Só deve ser chamado quando estiver em uma função de membro do manipulador de mensagens OnMessage.

static const MSG* PASCAL GetCurrentMessage();

Valor de retorno

Retorna um ponteiro para a MSG estrutura que contém a mensagem que a janela está processando no momento. Só deve ser chamado quando estiver em um manipulador OnMessage.

Exemplo

Veja o exemplo de CMDIFrameWnd::MDICascade.

CWnd::GetDC

Recupera um ponteiro para um contexto de dispositivo comum, de classe ou 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 área do CWnd cliente se tiver êxito; caso contrário, o valor retornado será NULL. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

Para contextos comuns de dispositivo, GetDC atribui atributos padrão ao contexto sempre que ele é recuperado. Para contextos de classe e privados, GetDC deixa os atributos atribuídos anteriormente inalterados. O contexto do dispositivo pode ser usado em funções GDI (interface do dispositivo de elementos gráficos) subsequentes para desenhar na área do cliente.

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

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

CWnd::GetDCEx

Recupera o identificador 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_CACHERetorna um contexto de dispositivo do cache em vez da janela ou CLASSDC do OWNDC cache. Substitui CS_OWNDC e CS_CLASSDC.

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

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

  • DCX_EXCLUDERGN Exclui a região de recorte identificada pela prgnClip região visível do contexto de dispositivo retornado.

  • DCX_INTERSECTRGN Interseca a região de recorte identificada na prgnClip região visível do contexto do dispositivo retornado.

  • DCX_LOCKWINDOWUPDATE Permite desenhar mesmo se houver uma LockWindowUpdate chamada em vigor que, de outra forma, excluiria essa janela. Esse valor é usado para desenho durante o acompanhamento.

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

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

Valor de retorno

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

Comentários

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

Essa função, que é uma extensão para a função, fornece a GetDC um aplicativo mais controle sobre como e se um contexto de dispositivo para uma janela é cortado.

A menos que o contexto do dispositivo pertença a uma classe de janela, a ReleaseDC função deve ser chamada para liberar o contexto após o desenho. Como apenas cinco contextos comuns de dispositivo estão disponíveis a qualquer momento, a falha ao liberar um contexto de dispositivo pode impedir que outros aplicativos obtenham acesso a um contexto de dispositivo.

Para obter um contexto de dispositivo armazenado em cache, um aplicativo deve especificar DCX_CACHE. Se DCX_CACHE não for especificado e a janela não for nem CS_OWNDC , CS_CLASSDCessa função retornará NULL.

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

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

CWnd::GetDCRenderTarget

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

CDCRenderTarget* GetDCRenderTarget();

Valor de retorno

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

Comentários

CWnd::GetDescendantWindow

Chame essa função de membro para localizar a janela descendente especificada pela ID fornecida.

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

Parâmetros

nID
Especifica o identificador da janela de controle ou filho a ser recuperado.

bOnlyPerm
Especifica se a janela a ser retornada pode ser temporária. Se TRUE, apenas uma janela permanente pode ser retornada; se FALSE, a função pode retornar uma janela temporária. Para obter 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 nenhuma janela filho for encontrada.

Comentários

Essa função membro pesquisa toda a árvore de janelas filho, não apenas as janelas que são crianças imediatas.

CWnd::GetDesktopWindow

Retorna a janela da área de trabalho Windows.

static CWnd* PASCAL GetDesktopWindow();

Valor de retorno

Identifica a janela da área de trabalho Windows. Esse ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

A janela da área de trabalho cobre toda a tela e é a área na qual todos os ícones e outras janelas são pintados.

CWnd::GetDlgCtrlID

Retorna o valor da ID de janela ou controle para qualquer janela filho, não apenas o de um controle em uma caixa de diálogo.

int GetDlgCtrlID() const;

Valor de retorno

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

Comentários

Como as janelas de nível superior não têm um valor de ID, o valor retornado dessa função será inválido se for CWnd uma janela de nível superior.

Exemplo

Veja o exemplo de CWnd::OnCtlColor.

CWnd::GetDlgItem

Recupera um ponteiro para o controle especificado ou janela filho em uma caixa de diálogo ou outra janela.

CWnd* GetDlgItem(int nID) const;

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

Parâmetros

nID
Especifica o identificador da janela de controle ou filho a ser recuperado.

phWnd
Um ponteiro para uma janela filho.

Valor de retorno

Um ponteiro para o controle fornecido ou a janela filho. Se nenhum controle com a ID de inteiro fornecido pelo nID parâmetro existir, o valor será NULL.

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

Comentários

O ponteiro retornado geralmente é convertido no tipo de controle identificado por nID.

Exemplo

// 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 controle identificado por nID.

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

Parâmetros

nID
Especifica o identificador inteiro do controle de caixa de diálogo a ser convertido.

lpTrans
Aponta para a variável booliana que deve receber o sinalizador traduzido.

bSigned
Especifica se o valor a ser recuperado está assinado.

Valor de retorno

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

A função retornará 0 se o número convertido for maior que INT_MAX (para números assinados) 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 o local apontado por lpTrans. Se não houver erros, lpTrans receberá um valor diferente de zero. Se lpTrans for NULL, GetDlgItemInt não avisará sobre erros.

Comentários

Ele converte o texto do controle especificado na caixa de diálogo fornecida em um valor inteiro, retirando espaços extras no início do texto e convertendo dígitos decimais. Ele interrompe a tradução quando chega ao final do texto ou encontra qualquer caractere não numérico.

Se bSigned for TRUE, GetDlgItemInt verifica se há um sinal de menos (-) no início do texto e converte o texto em um número assinado. Caso contrário, ele cria um valor sem sinal.

Ele envia uma WM_GETTEXT mensagem para o controle.

CWnd::GetDlgItemText

Chame essa função de membro para recuperar o título ou texto associado a um controle em uma 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 controle cujo título deve ser recuperado.

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

nMaxCount
Especifica o comprimento máximo (em caracteres) da cadeia de caracteres a ser copiada para lpStr. Se a cadeia de caracteres for maior do que nMaxCount, ela será truncada.

rString
Uma referência a um CString.

Valor de retorno

Especifica o número real de caracteres copiados para o buffer, não incluindo o caractere nulo de encerramento. O valor será 0 se nenhum texto for copiado.

Comentários

A GetDlgItemText função membro copia o texto para o local apontado e lpStr retorna uma contagem do número de bytes que copia.

CWnd::GetDSCCursor

Chame essa função de membro para recuperar um ponteiro para o cursor subjacente definido pelas DataSourcepropriedades , UserNamePassworde SQL do controle de fonte de dados.

IUnknown* GetDSCCursor();

Valor de retorno

Um ponteiro para um cursor definido por um controle de fonte de dados. O MFC cuida de chamar AddRef o ponteiro.

Comentários

Use o ponteiro retornado para definir a ICursor propriedade de um controle complexo associado a dados, como o controle de grade associado a dados. Um controle de fonte de dados não ficará ativo até que o primeiro controle associado solicite seu cursor. Isso pode acontecer explicitamente por uma chamada ou GetDSCCursor implicitamente pelo gerente de associação do MFC. Em ambos os casos, você pode forçar um controle de fonte de dados a se tornar ativo chamando GetDSCCursor e chamando Release o ponteiro retornado para IUnknown. A ativação fará com que o controle da fonte de dados tente se conectar à fonte de dados subjacente. O ponteiro retornado pode ser usado no seguinte contexto:

Exemplo

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 gerenciador de layout dinâmico.

CMFCDynamicLayout* GetDynamicLayout();

Valor de retorno

Um ponteiro para o objeto gerenciador de layout dinâmico ou NULL se o layout dinâmico não estiver habilitado.

Comentários

O objeto window possui e gerencia o tempo de vida do ponteiro retornado, portanto, ele só deve ser usado para acessar o objeto; não exclua o ponteiro ou armazene o ponteiro permanentemente.

CWnd::GetExStyle

Retorna o estilo estendido da janela.

DWORD GetExStyle() const;

Valor de retorno

O estilo estendido da janela. Para obter mais informações sobre os estilos de janela estendidos usados no MFC, consulte Estilos de Janela Estendidos.

CWnd::GetFocus

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

static CWnd* PASCAL GetFocus();

Valor de retorno

Um ponteiro para a janela que tem o foco atual ou NULL se não há janela de foco.

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

CWnd::GetFont

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

CFont* GetFont() const;

Valor de retorno

Ponteiro para um CFont objeto anexado à fonte atual da janela.

Comentários

Esse método não tem efeito, a menos que a janela processe a WM_GETFONT mensagem. Muitas classes MFC derivam do CWnd processo dessa mensagem porque estão anexadas a uma classe de janela predefinida que inclui um manipulador de mensagens para a WM_GETFONT mensagem. Para usar esse método, as classes das quais você deriva devem definir um manipulador de CWnd métodos para a WM_GETFONT mensagem.

CWnd::GetForegroundWindow

Retorna um ponteiro para a janela de primeiro plano (a janela com a qual o usuário está trabalhando no momento).

static CWnd* PASCAL GetForegroundWindow();

Valor de retorno

Um ponteiro para a janela de primeiro plano. Pode ser um objeto temporário CWnd .

Comentários

A janela em primeiro plano se aplica apenas a janelas de nível superior (janelas de quadro ou caixas de diálogo).

CWnd::GetIcon

Chame essa função de membro para obter o identificador para um grande (32x32) ou o identificador para um ícone pequeno (16x16), conforme indicado por bBigIcon.

HICON GetIcon(BOOL bBigIcon) const;

Parâmetros

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

Valor de retorno

Um identificador para um ícone. Se não tiver êxito, retornará NULL.

CWnd::GetLastActivePopup

Determina qual janela pop-up de propriedade CWnd foi mais recentemente ativa.

CWnd* GetLastActivePopup() const;

Valor de retorno

Identifica a janela pop-up ativa mais recentemente. O valor retornado será a própria janela se qualquer uma das seguintes condições for atendida:

  • A janela em si estava mais recentemente ativa.

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

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

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

Exemplo

Veja o exemplo de CWnd::FindWindow.

CWnd::GetLayeredWindowAttributes

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

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

Parâmetros

pcrKey
Ponteiro para um COLORREF valor que recebe a chave de cor de transparência a ser usada ao redigir a janela em camadas. Todos os pixels pintados pela janela nessa cor serão transparentes. Isso pode ser NULL se o argumento não for necessário.

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

pdwFlags
Ponteiro para um DWORD que recebe um sinalizador em camadas. Isso pode ser NULL se o argumento não for necessário. Para obter uma lista completa dos valores possíveis, consulte 'GetLayeredWindowAttributes.

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoGetLayeredWindowAttributes, conforme descrito no SDK Windows.

CWnd::GetMenu

Recupera um ponteiro para o menu desta janela.

CMenu* GetMenu() const;

Valor de retorno

Identifica o menu. O valor será NULL se CWnd não tiver nenhum menu. O valor retornado será indefinido se CWnd for uma janela filho.

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

Comentários

Essa função não deve ser usada para janelas filho porque elas não têm um menu.

Exemplo

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 de menu. Para obter uma lista de valores possíveis, consulte GetMenuBarInfo.

idItem
Especifica o item para o qual recuperar informações. Se esse parâmetro for zero, a função recuperará informações sobre o próprio menu. Se esse parâmetro for 1, a função recuperará informações sobre o primeiro item no menu e assim por diante.

pmbi
Ponteiro para uma MENUBARINFO estrutura que recebe as informações.

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoGetMenuBarInfo, conforme descrito no SDK do Windows.

CWnd::GetNextDlgGroupItem

Pesquisa o controle anterior ou próximo dentro de um grupo de controles em uma caixa de diálogo.

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

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

Parâmetros

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

bPrevious
Especifica como a função é pesquisar o grupo de controles na caixa de diálogo. Se TRUE, a função pesquisa o controle anterior no grupo; se FALSE, ele pesquisa o próximo controle no grupo.

pCurSiteOrWnd
Identifica o COleControlSiteOrWnd controle. Para obter mais informações sobre COleControlSiteOrWnd, consulte Comentários.

Valor de retorno

Ponteiro para o controle anterior ou próximo no grupo se a função membro for bem-sucedida.

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

Comentários

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

Por padrão, a GetNextDlgGroupItem função membro retorna um ponteiro para o próximo controle no grupo. Se pWndCtl identificar o primeiro controle no grupo e bPrevious for TRUE, GetNextDlgGroupItem retornará um ponteiro para o último controle no grupo.

Observação

Como o MFC dá suporte a controles de ActiveX sem janelas, controles de ActiveX padrão e janelas, referindo-se a um controle por apenas um HWND não basta. O COleControlSiteOrWnd objeto inclui informações que identificam o objeto como um controle de ActiveX com janelas, um controle ActiveX sem janelas ou uma janela, da seguinte maneira:

Tipo de janela ou controle Identificando informações
Controle de ActiveX com janelas Contém um HWND objeto COleControlSite e associa um objeto COleControlSite a ele. O m_hWnd membro é COleControlSiteOrWnd definido como o HWND controle e o m_pSite membro aponta para o controle.COleControlSite
Controle de ActiveX sem janelas Não contém .HWND O m_pSite membro dos COleControlSiteOrWnd pontos para o controle COleControlSitee o m_hWnd membro é NULL.
Janela Padrão Contém apenas um HWND. O m_hWnd membro é COleControlSiteOrWnd definido como o HWND da janela e o m_pSite membro é NULL.

CWnd::GetNextDlgTabItem

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

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

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

Parâmetros

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

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

bPrevious
Especifica como a função é pesquisar a caixa de diálogo. Se TRUE, a função pesquisa o controle anterior na caixa de diálogo; se FALSE, ele pesquisa o próximo controle.

Valor de retorno

Ponteiro para o controle anterior ou próximo que tem o WS_TABSTOP estilo, se a função membro for bem-sucedida.

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

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

CWnd::GetNextWindow

Pesquisa a próxima (ou anterior) janela na lista do gerenciador de janelas.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

Parâmetros

nFlag
Especifica se a função retorna um ponteiro para a próxima janela ou a janela anterior. Pode ser GW_HWNDNEXT, o que retorna a janela que segue o CWnd objeto na lista do gerenciador de janelas ou GW_HWNDPREV, que retorna a janela anterior na lista do gerenciador de janelas.

Valor de retorno

Identifica a próxima (ou anterior) janela na lista do gerenciador de janelas se a função membro for bem-sucedida.

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

Comentários

A lista do gerenciador de janelas contém entradas para todas as janelas de nível superior, suas janelas filho associadas e as janelas filho de qualquer janela filho.

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

CWnd::GetOleControlSite

Recupera o site personalizado para o controle de ActiveX especificado.

COleControlSite* GetOleControlSite(UINT idControl) const;

Parâmetros

idControl
A ID do controle ActiveX.

CWnd::GetOpenClipboardWindow

Recupera o identificador da janela que atualmente tem a Área de Transferência aberta.

static CWnd* PASCAL GetOpenClipboardWindow();

Valor de retorno

O identificador da janela que atualmente tem a Área de Transferência aberta se a função for bem-sucedida; caso contrário NULL.

CWnd::GetOwner

Recupera um ponteiro para o proprietário da janela.

CWnd* GetOwner() const;

Valor de retorno

Um ponteiro para um objeto CWnd.

Comentários

Se a janela não tiver proprietário, um ponteiro para o objeto de janela pai será retornado por padrão. Observe que a relação entre o proprietário e a propriedade difere do aspecto pai-filho em vários aspectos importantes. Por exemplo, uma janela com um pai está confinada à área do cliente da janela pai. Janelas de propriedade podem ser desenhadas em qualquer local na área de trabalho.

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

CWnd::GetParent

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

CWnd* GetParent() const;

Valor de retorno

Consulte a seção Valores retornados no GetParent SDK do Windows.

Comentários

A GetParent função retorna um ponteiro para o pai imediato (se ele existir). Por outro lado, a GetParentOwner função retorna um ponteiro para a janela pai ou proprietário mais imediata que não é uma janela filho (não tem o WS_CHILD estilo). Se você tiver uma janela filho dentro de uma janela GetParent filho e GetParentOwner retornar resultados diferentes.

CWnd::GetParentFrame

Chame essa função de membro para recuperar a janela do quadro pai.

CFrameWnd* GetParentFrame() const;

Valor de retorno

Um ponteiro para uma janela de quadro se tiver êxito; caso contrário NULL.

Comentários

A função membro pesquisa a cadeia pai até que um CFrameWnd objeto (ou classe derivada) seja encontrado.

CWnd::GetParentOwner

Chame essa função de membro para obter um ponteiro para a janela pai ou a janela do proprietário de uma janela filho.

CWnd* GetParentOwner() const;

Valor de retorno

Um ponteiro para um objeto CWnd. Se um CWnd objeto não estiver anexado ao identificador, um objeto temporário CWnd será criado e anexado. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

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

Por outro lado, a GetParent função retorna um ponteiro para o pai imediato, seja uma janela filho ou não. Se você tiver uma janela filho dentro de uma janela GetParent filho e GetParentOwner retornar resultados diferentes.

CWnd::GetProperty

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

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

Parâmetros

dwDispID
Identifica a propriedade a ser recuperada.

vtProp
Especifica o tipo da propriedade a ser recuperada. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

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

Comentários

GetProperty retorna o valor por meio pvPropde .

Observação

Essa função deve ser chamada somente em um CWnd objeto que representa um controle ActiveX.

Para obter mais informações sobre como usar essa função de membro com contêineres de controle de ActiveX, consulte o artigo ActiveX Contêineres de Controle: Programando controles de ActiveX em um contêiner de controle de ActiveX.

CWnd::GetRenderTarget

Obtém um destino de renderização associado a essa janela.

CHwndRenderTarget* GetRenderTarget();

Valor de retorno

Ponteiro para o destino de renderização ou NULL.

CWnd::GetSafeHwnd

Retorna m_hWndou se o this ponteiro for NULLNULL .

HWND GetSafeHwnd() const;

Valor de retorno

Retorna o identificador da janela de uma janela. Retorna NULL se não CWnd estiver anexado a uma janela ou se ela for usada com um NULLCWnd ponteiro.

Exemplo

Veja o exemplo de CWnd::SubclassWindow.

CWnd::GetSafeOwner

Chame essa função de membro para recuperar a janela de proprietário 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 ponteiro para uma janela pai CWnd . Pode ser NULL.

pWndTop
Um ponteiro para a janela que está atualmente na parte superior. Pode ser NULL.

Valor de retorno

Um ponteiro para o proprietário seguro da janela fornecida.

Comentários

O proprietário seguro é a primeira janela pai não filho de pParent. Se pParent for NULL, a janela principal do thread (recuperada via AfxGetMainWnd) é usada para localizar um proprietário.

Observação

A estrutura em si usa essa função para determinar a janela correta do proprietário para caixas de diálogo e folhas de propriedades em que o proprietário não é especificado.

CWnd::GetScrollBarCtrl

Chame essa função de membro para obter um ponteiro para a janela de rolagem ou divisor de irmão especificada.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

Parâmetros

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

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

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

Valor de retorno

Um controle de barra de rolagem irmão, ou NULL se nenhum.

Comentários

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

CWnd::GetScrollBarInfo

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

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

Parâmetros

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

psbi
Ponteiro para uma SCROLLBARINFO estrutura que recebe as informações.

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoGetScrollBarInfo, conforme descrito no SDK Windows.

CWnd::GetScrollInfo

Chame essa função de membro para recuperar as informações que a SCROLLINFO estrutura mantém sobre uma barra de rolagem.

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

Parâmetros

nBar
Especifica se a barra de rolagem é um controle ou parte da área nãocliente de uma janela. Se fizer parte da área nãocliente, nBar também indicará se a barra de rolagem está posicionada horizontalmente, verticalmente ou ambas. Deve ser um dos seguintes:

  • SB_CTL Recupera os parâmetros de um controle de barra de rolagem. O m_hWnd membro de dados deve ser o identificador do controle de barra de rolagem.

  • SB_HORZ Recupera os parâmetros da barra de rolagem horizontal padrão da janela.

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

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

nMask
Especifica os parâmetros da barra de rolagem a serem recuperados. O padrão especifica uma combinação de SIF_PAGE, SIF_POSe SIF_TRACKPOSSIF_RANGE. Consulte SCROLLINFO mais informações sobre os nMask valores.

Valor de retorno

Se a mensagem tiver recuperado valores, o retorno será TRUE. Caso contrário, será FALSE.

Comentários

GetScrollInfo permite que os aplicativos usem posições de rolagem de 32 bits.

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

O MFC Windows manipuladores de mensagens que indicam a posição da barra de rolagem, CWnd::OnHScroll e CWnd::OnVScroll, fornecem apenas 16 bits de dados de posição. GetScrollInfo e SetScrollInfo forneça 32 bits de dados de posição da barra de rolagem. Assim, um aplicativo pode chamar GetScrollInfo durante o CWnd::OnHScroll processamento ou CWnd::OnVScroll obter dados de posição da barra de rolagem de 32 bits.

CWnd::GetScrollLimit

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

int GetScrollLimit(int nBar);

Parâmetros

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

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

  • SB_VERT Recupera o limite de rolagem da barra de rolagem vertical.

Valor de retorno

Especifica a posição máxima de uma barra de rolagem se tiver êxito; caso contrário, 0.

CWnd::GetScrollPos

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

int GetScrollPos(int nBar) const;

Parâmetros

nBar
Especifica a barra de rolagem a ser examinada. O parâmetro pode usar um dos seguintes valores:

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

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

Valor de retorno

Especifica a posição atual da caixa de rolagem na barra de rolagem se tiver êxito; caso contrário, 0.

Comentários

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

CWnd::GetScrollRange

Copia as posições de barra de rolagem mínimas e máximas atuais para a barra de rolagem fornecida para os locais especificados por lpMinPos e lpMaxPos.

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

Parâmetros

nBar
Especifica a barra de rolagem a ser examinada. O parâmetro pode usar um dos seguintes valores:

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

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

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

lpMaxPos
Aponta para a variável inteiro que deve receber a posição máxima.

Comentários

Se CWnd não tiver uma barra de rolagem, a GetScrollRange função membro copiará 0 para lpMinPos e lpMaxPos.

O intervalo padrão para uma barra de rolagem padrão é de 0 a 100. O intervalo padrão para um controle de barra de rolagem está vazio (ambos os valores são 0).

CWnd::GetStyle

Retorna o estilo da janela atual.

DWORD GetStyle() const;

Valor de retorno

O estilo da janela. Para obter mais informações sobre os estilos de janela usados no MFC, consulte Estilos de Janela.

CWnd::GetSystemMenu

Permite que o aplicativo acesse o menu Controle para cópia e modificação.

CMenu* GetSystemMenu(BOOL bRevert) const;

Parâmetros

bRevert
Especifica a ação a ser executada. Se bRevert for FALSE, GetSystemMenu retorna um identificador para uma cópia do menu Controle atualmente em uso. Essa cópia é inicialmente idêntica ao menu Controle, mas pode ser modificada. Se bRevert for TRUE, GetSystemMenu redefine o menu Controle de volta para o estado padrão. O menu controle anterior, possivelmente modificado, será destruído. O valor retornado é indefinido nesse caso.

Valor de retorno

Identifica uma cópia do menu Controle se bRevert for FALSE. Se bRevert for TRUE, o valor retornado será indefinido.

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

Comentários

Qualquer janela que não usa GetSystemMenu para fazer sua própria cópia do menu Controle recebe o menu controle padrão.

O ponteiro retornado pela GetSystemMenu função membro pode ser usado com o CMenu::AppendMenu, CMenu::InsertMenuou CMenu::ModifyMenu funções para alterar o menu Controle.

Inicialmente, o menu Controle contém itens identificados com vários valores de ID, como SC_CLOSE, SC_MOVEe SC_SIZE. Itens no menu Controle geram WM_SYSCOMMAND mensagens. Todos os itens predefinidos do menu controle têm números de ID maiores que 0xF000. Se um aplicativo adicionar itens ao menu Controle, ele deverá usar números de ID menores que F000.

Windows pode tornar os itens indisponíveis automaticamente no menu controle padrão. CWnd pode realizar sua própria seleção ou indisponibilidade respondendo às WM_INITMENU mensagens, que são enviadas antes que qualquer menu seja exibido.

Exemplo

// 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
Ponteiro para uma TITLEBARINFO estrutura que recebe as informações.

Comentários

Essa função membro emula a funcionalidade da funçãoGetTitleBarInfo, conforme descrito no SDK Windows.

CWnd::GetTopLevelFrame

Chame essa função de membro para recuperar a janela de quadro de nível superior da janela, se houver.

CFrameWnd* GetTopLevelFrame() const;

Valor de retorno

Identifica a janela de quadro de nível superior da janela.

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

Comentários

Se CWnd não tiver nenhuma janela anexada ou seu pai de nível superior não for um CFrameWndobjeto derivado, essa função retornará NULL.

CWnd::GetTopLevelOwner

Chame essa função de membro para recuperar a janela de nível superior.

CWnd* GetTopLevelOwner() const;

Valor de retorno

Identifica a janela de nível superior. O ponteiro retornado pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

A janela de nível superior é a janela que é filho da área de trabalho. Se CWnd não tiver nenhuma janela anexada, essa função retornará NULL.

CWnd::GetTopLevelParent

Chame essa função de membro para recuperar o pai de nível superior da janela.

CWnd* GetTopLevelParent() const;

Valor de retorno

Identifica a janela pai de nível superior da janela.

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

Comentários

GetTopLevelParent é semelhante a GetTopLevelFrame e GetTopLevelOwner; no entanto, ele ignora o valor definido como a janela de proprietário atual.

CWnd::GetTopWindow

Pesquisa a janela filho de nível superior que pertence a CWnd.

CWnd* GetTopWindow() const;

Valor de retorno

Identifica a janela filho de nível superior em uma CWnd lista vinculada de janelas filho. Se nenhuma janela filho existir, o valor será NULL.

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

Comentários

Se CWnd não tiver filhos, essa função retornará NULL.

CWnd::GetUpdateRect

Recupera as coordenadas do menor retângulo que inclui 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 deve receber as coordenadas do cliente da atualização que inclui a região de atualização.

Defina esse 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 retornará não zero se existir uma região de atualização e 0 se não existir. Isso fornece uma maneira de determinar se uma WM_PAINT mensagem resultou de uma área inválida. Não defina esse parâmetro como NULL Windows versão 3.0 e anterior.

bErase
Especifica se a tela de fundo na região de atualização deve ser apagada.

Valor de retorno

Especifica o status da região de atualização. O valor não será zero se a região de atualização não estiver vazia; caso contrário, 0.

Se o lpRect parâmetro for definido como NULL, o valor retornado não será zero se existir uma região de atualização; caso contrário, 0.

Comentários

Se CWnd foi criado com o CS_OWNDC estilo e o modo de mapeamento não MM_TEXTé, a GetUpdateRect função membro fornece o retângulo em coordenadas lógicas. Caso contrário, GetUpdateRect fornece o retângulo nas coordenadas do cliente. Se não houver nenhuma região de atualização, GetUpdateRect definirá o retângulo como vazio (define todas as coordenadas como 0).

O bErase parâmetro especifica se GetUpdateRect deve apagar o plano de fundo da região de atualização. Se bErase estiver TRUE e a região de atualização não estiver vazia, a tela de fundo será apagada. Para apagar o plano de 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, portanto, qualquer chamada a GetUpdateRect ser feita imediatamente após uma chamada para BeginPaint recuperar uma região de atualização vazia.

CWnd::GetUpdateRgn

Recupera a região de atualização em uma 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 a tela de fundo será apagada e áreas não comuns de janelas filho serão desenhadas. Se o valor for FALSE, nenhum desenho será feito.

Valor de retorno

Especifica um sinalizador de inteiro curto que indica o tipo de região resultante. O valor pode levar qualquer um dos seguintes:

  • SIMPLEREGION A região não tem bordas sobrepostas.

  • COMPLEXREGION A região tem bordas sobrepostas.

  • NULLREGION A região está vazia.

  • ERROR Nenhuma região foi criada.

Comentários

As coordenadas dessa 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, portanto, qualquer chamada a GetUpdateRgn ser feita imediatamente após uma chamada para BeginPaint recuperar uma região de atualização vazia.

CWnd::GetWindow

Retorna um ponteiro para a janela solicitada ou NULL se nenhum.

CWnd* GetWindow(UINT nCmd) const;

Parâmetros

*nCmd*
Especifica a relação entre CWnd e a janela retornada. Ele pode levar um dos seguintes valores:

  • GW_CHILD Identifica a CWnd primeira janela filho.

  • GW_HWNDFIRST Se CWnd for uma janela filho, retornará a primeira janela de irmão. Caso contrário, ele retornará a primeira janela de nível superior da lista.

  • GW_HWNDLAST Se CWnd for uma janela filho, retornará a última janela de irmão. Caso contrário, ele retornará a última janela de nível superior da lista.

  • GW_HWNDNEXT Retorna a próxima janela na lista do gerenciador de janelas.

  • GW_HWNDPREV Retorna a janela anterior na lista do gerenciador de janelas.

  • GW_OWNER Identifica o CWnd proprietário.

Valor de retorno

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

CWnd::GetWindowContextHelpId

Chame essa função de membro para recuperar o identificador de contexto de ajuda, se houver, associado à janela.

DWORD GetWindowContextHelpId() const;

Valor de retorno

O identificador de contexto de ajuda. Retorna 0 se a janela não tiver nenhuma.

CWnd::GetWindowedChildCount

Chame essa função de membro para recuperar o número de janelas filho associadas.

long GetWindowedChildCount();

Valor de retorno

O número de janelas filho associadas ao CWnd objeto.

CWnd::GetWindowDC

Recupera o contexto de exibição de toda a janela, incluindo barras de legenda, menus e barras de rolagem.

CDC* GetWindowDC();

Valor de retorno

Identifica o contexto de exibição da janela fornecida se a função for bem-sucedida; caso contrário NULL.

O ponteiro retornado pode ser temporário e não deve ser armazenado para uso posterior. ReleaseDC deve ser chamado uma vez para cada chamada bem-sucedida para GetWindowDC.

Comentários

Um contexto de exibição de janela permite a pintura em CWndqualquer lugar, uma vez que a origem do contexto é o canto superior esquerdo em CWnd vez da área do cliente.

Os atributos padrão são atribuídos ao contexto de exibição sempre que ele recupera o contexto. Atributos anteriores são perdidos.

GetWindowDC destina-se a ser usado para efeitos especiais de pintura dentro da CWnd área nãocliente. Não é recomendável pintar em áreas não comuns de qualquer janela.

A GetSystemMetrics função Windows pode ser usada para recuperar as dimensões de várias partes da área nãocliente, como a barra de legendas, o menu e as barras de rolagem.

Após a conclusão da pintura, a ReleaseDC função membro deve ser chamada para liberar o contexto de exibição. A falha ao liberar o contexto de exibição afetará seriamente a pintura solicitada pelos aplicativos devido a limitações no número de contextos de dispositivo 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.

Comentários

Essa função membro emula a funcionalidade da funçãoGetWindowInfo, conforme descrito no SDK Windows.

CWnd::GetWindowlessChildCount

Recupera o número de janelas filho sem janelas associadas.

long GetWindowlessChildCount();

Valor de retorno

O número de janelas filho sem janelas associadas ao CWnd objeto.

CWnd::GetWindowPlacement

Recupera o estado do show 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 as informações de estado e posição do show.

Valor de retorno

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

Comentários

O flags membro da WINDOWPLACEMENT estrutura recuperada por essa função é sempre 0. Se CWnd for maximizado, o showCmd membro é WINDOWPLACEMENTSW_SHOWMAXIMIZED. Se a janela for minimizada, ela será SW_SHOWMINIMIZED. Caso contrário, é SW_SHOWNORMAL .

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 de tela dos cantos superior esquerdo e inferior direito.

Comentários

As dimensões são fornecidas em coordenadas de tela relativas ao canto superior esquerdo da tela de exibição. As dimensões das barras de legenda, borda e rolagem, se presentes, estão incluídas.

CWnd::GetWindowRgn

Chame essa função de membro para obter a região da janela de uma janela.

int GetWindowRgn(HRGN hRgn)const;

Parâmetros

hRgn
Um identificador para uma região de janela.

Valor de retorno

O valor retornado 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 é mais de um retângulo.

  • ERROR Ocorreu um erro; a região não é afetada.

Comentários

A região da janela determina a área dentro da janela em que o sistema operacional permite o desenho. O sistema operacional não exibe nenhuma parte de uma janela que esteja fora da região da janela.

As coordenadas da região da janela de uma janela são relativas ao canto superior esquerdo da janela, não à área do 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 ele tiver um) no buffer apontado por lpszStringBuf ou para a cadeia de caracteres rStringde destino.

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

Parâmetros

lpszStringBuf
Aponta para o buffer que deve receber a cadeia de caracteres copiada do título da janela.

nMaxCount
Especifica o número máximo de caracteres a serem copiados para o buffer, incluindo o caractere nulo de encerramento. Se a cadeia de caracteres for maior do que o número de caracteres especificados nMaxCount, ela será truncada.

rString
Um CString objeto que deve receber a cadeia de caracteres copiada do título da janela.

Valor de retorno

Especifica o comprimento, em caracteres, da cadeia de caracteres copiada, sem incluir o caractere nulo de terminação. É 0 se CWnd não tiver legenda ou se a legenda estiver vazia.

Comentários

Se o CWnd objeto for um controle, a GetWindowText função membro copiará o texto dentro do controle em vez de copiar a legenda.

Essa função membro faz com que a WM_GETTEXT mensagem seja enviada ao CWnd objeto.

Exemplo

Veja o exemplo de CWnd::SetWindowText.

CWnd::GetWindowTextLength

Retorna o comprimento do título da legenda do CWnd objeto.

int GetWindowTextLength() const;

Valor de retorno

Especifica o comprimento do texto em caracteres, sem incluir nenhum caractere de encerramento nulo. O valor será 0 se esse texto não existir.

Comentários

Se CWnd for um controle, a GetWindowTextLength função membro retornará o comprimento do texto dentro do controle em vez da legenda.

Essa função membro faz com que a WM_GETTEXTLENGTH mensagem seja enviada ao CWnd objeto.

Exemplo

Veja o exemplo de CWnd::SetWindowText.

CWnd::HideCaret

Oculta o careta removendo-o da tela de exibição.

void HideCaret();

Comentários

Embora o cursor não esteja mais visível, ele pode ser exibido novamente usando a ShowCaret função membro. Ocultar o careta não destrói sua forma atual.

Ocultar é cumulativo. Se HideCaret tiver sido chamada cinco vezes seguidas, a ShowCaret função membro deverá ser chamada cinco vezes antes que o cursor seja mostrado.

CWnd::HiliteMenuItem

Realça ou remove o destaque de um item de menu de nível superior (barra de menus).

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

Parâmetros

pMenu
Identifica o menu de nível superior que contém o item a ser realçado.

nIDHiliteItem
Especifica o item de menu a ser realçado, dependendo do valor do nHilite parâmetro.

nHilite
Especifica se o item de menu está realçado ou se o realce é 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 bit OR . Esses valores têm estes significados:

  • MF_BYCOMMANDnIDHiliteItem Interpreta como a ID do item de menu (a interpretação padrão).

  • MF_BYPOSITIONnIDHiliteItem Interpreta como o deslocamento baseado em zero do item de menu.

  • MF_HILITE Realça o item. Se esse valor não for fornecido, o realce será removido do item.

  • MF_UNHILITE Remove o realce do item.

Valor de retorno

Especifica se o item de menu foi realçado. Não zero se o item foi realçado; caso contrário, 0.

Comentários

Os MF_HILITE sinalizadores e os sinalizadores MF_UNHILITE só podem ser usados com essa função de membro; eles não podem ser usados com a CMenu::ModifyMenu função de membro.

CWnd::HtmlHelp

Chame essa função de membro para invocar o aplicativo HTMLHelp.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

Parâmetros

dwData
Especifica dados adicionais. O valor usado depende do valor do nCmd parâmetro.

nCmd
Especifica o tipo de ajuda solicitada. Para obter uma lista de valores possíveis e como eles afetam o dwData parâmetro, consulte o uCommand parâmetro descrito na Referência da API de Ajuda HTML no SDK do Windows.

Comentários

Consulte CWinApp::HtmlHelp para obter mais informações.

CWnd::InitDynamicLayout

Chamado pela estrutura para inicializar o layout dinâmico de uma janela.

void InitDynamicLayout();

Comentários

Não chame esse método diretamente.

CWnd::Invalidate

Invalida toda a área de cliente de CWnd.

void Invalidate(BOOL bErase = TRUE);

Parâmetros

bErase
Especifica se o plano de fundo dentro da região de atualização deve ser apagado.

Comentários

A área do cliente é marcada para pintura quando a próxima WM_PAINT mensagem ocorre. A região também pode ser validada antes que uma WM_PAINT mensagem ocorra pela ValidateRect função ou ValidateRgn membro.

O bErase parâmetro especifica se o plano de fundo dentro da área de atualização deve ser apagado quando a região de atualização é processada. Se bErase for TRUE, o plano de fundo será apagado quando a BeginPaint função de membro for chamada; se bErase estiver FALSE, o plano de fundo permanecerá inalterado. Se bErase for TRUE para qualquer parte da região de atualização, a tela de fundo em toda a região, não apenas na parte fornecida, será apagada.

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 do aplicativo para essa janela.

Exemplo

Consulte o exemplo de CWnd::UpdateWindow.

CWnd::InvalidateRect

Invalida a área do cliente dentro do retângulo especificado adicionando esse retângulo à região de CWnd atualização.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

Parâmetros

lpRect
Aponta para um CRect objeto ou umaRECT estrutura que contém o retângulo (nas coordenadas do cliente) a ser adicionado à região de atualização. Se lpRect for NULL, toda a área do cliente será adicionada à região.

bErase
Especifica se o plano de fundo dentro da região de atualização deve ser apagado.

Comentários

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 se acumulam na região de atualização até que a região seja processada quando a próxima WM_PAINT chamada ocorrer ou até que a região seja validada pela função ou ValidateRgn membroValidateRect.

O bErase parâmetro especifica se o plano de fundo dentro da área de atualização deve ser apagado quando a região de atualização é processada. Se bErase for TRUE, o plano de fundo será apagado quando a BeginPaint função de membro for chamada; se bErase estiver FALSE, o plano de fundo permanecerá inalterado. Se bErase for TRUE para qualquer parte da região de atualização, a tela de fundo em toda a região será apagada, não apenas na parte fornecida.

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 do aplicativo para essa janela.

CWnd::InvalidateRgn

Invalida a área do cliente dentro da região fornecida adicionando-a à região de atualização atual de CWnd.

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

Parâmetros

pRgn
Um ponteiro para um CRgn objeto que identifica a região a ser adicionada à região de atualização. Supõe-se que a região tenha coordenadas de cliente. Se esse parâmetro for NULL, toda a área do cliente será adicionada à região de atualização.

bErase
Especifica se o plano de fundo dentro da região de atualização deve ser apagado.

Comentários

A região invalidada, juntamente com todas as outras áreas na região de atualização, é marcada para pintura quando a WM_PAINT mensagem é enviada em seguida. As áreas invalidadas se acumulam na região de atualização até que a região seja processada quando uma WM_PAINT mensagem for enviada em seguida ou até que a região seja validada pela função ou ValidateRgn membroValidateRect.

O bErase parâmetro especifica se o plano de fundo dentro da área de atualização deve ser apagado quando a região de atualização é processada. Se bErase for TRUE, o plano de fundo será apagado quando a BeginPaint função de membro for chamada; se bErase estiver FALSE, o plano de fundo permanecerá inalterado. Se bErase for TRUE para qualquer parte da região de atualização, a tela de fundo em toda a região, não apenas na parte fornecida, será apagada.

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 do aplicativo para essa janela.

A região determinada deve ter sido criada anteriormente por uma das funções de região.

CWnd::InvokeHelper

Chame essa função de membro para invocar o método ou a propriedade controle de ActiveX especificado pordwDispID, 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 a propriedade a ser invocada.

wFlags
Sinalizadores que descrevem o contexto da chamada para IDispatch::Invoke.

vtRet
Especifica o tipo do valor retornado. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

pvRet
Endereço da variável que receberá o valor da propriedade ou o valor retornado. Ele deve corresponder ao tipo especificado por vtRet.

pbParamInfo
Ponteiro para uma cadeia de caracteres terminada em nulo de bytes especificando os tipos dos parâmetros a seguir pbParamInfo. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

...
Lista variável de parâmetros, de tipos especificados em pbParamInfo.

Comentários

O pbParamInfo parâmetro especifica os tipos dos parâmetros passados para o método ou propriedade. A lista de variáveis de argumentos é representada pela ... declaração de sintaxe.

Essa função converte os parâmetros em VARIANTARG valores e invoca o IDispatch::Invoke método no controle ActiveX. Se a chamada falhar IDispatch::Invoke , essa função gerará uma exceção. Se o SCODE (código de status) retornado por IDispatch::Invoke é DISP_E_EXCEPTION, essa função lança um COleException objeto, caso contrário, ele gera um COleDispatchException.

Observação

Essa função deve ser chamada apenas em um CWnd objeto que representa um controle ActiveX.

Para obter mais informações sobre como usar essa função de membro com contêineres de controle de ActiveX, consulte o artigo ActiveX Contêineres de Controle: Controles de ActiveX de Programação em um contêiner de controle de ActiveX.

CWnd::IsChild

Indica se a janela especificada por pWnd uma janela filho 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 não será zero se a janela identificada por pWnd for uma janela filho de CWnd; caso contrário, 0.

Comentários

Uma janela filho é o descendente direto de CWnd se o CWnd objeto está na cadeia de janelas pai que leva da janela pop-up original para a janela filho.

CWnd::IsD2DSupportEnabled

Determina se o suporte a D2D está habilitado.

BOOL IsD2DSupportEnabled();

Valor de retorno

TRUE se o recurso estiver habilitado; caso contrário FALSE.

CWnd::IsDialogMessage

Chame essa função de membro para determinar se a mensagem fornecida destina-se a uma caixa de diálogo modeless; se for, essa função processará a mensagem.

BOOL IsDialogMessage(LPMSG lpMsg);

Parâmetros

lpMsg
Aponta para uma MSG estrutura que contém a mensagem a ser verificada.

Valor de retorno

Especifica se a função membro processou a mensagem fornecida. Não será 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. Em uma substituição da CWnd::PreTranslateMessage função membro, o código tem esta aparência:

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

Comentários

Quando a IsDialogMessage função processa uma mensagem, ela verifica mensagens de teclado e as converte em comandos de seleção para a caixa de diálogo correspondente. Por exemplo, a tecla TAB seleciona o próximo controle ou grupo de controles e a tecla SETA PARA BAIXO seleciona o próximo controle em um grupo.

Você não deve passar uma mensagem processada pelas IsDialogMessageTranslateMessage funções ou DispatchMessage Windows, pois ela já foi processada.

CWnd::IsDlgButtonChecked

Determina se um controle de botão tem uma marca de seleção ao lado dele.

UINT IsDlgButtonChecked(int nIDButton) const;

Parâmetros

nIDButton
Especifica o identificador inteiro do controle de botão.

Valor de retorno

Não zero se o controle determinado for verificado e 0 se ele não estiver marcado. Somente botões de opção e caixas de seleção podem ser verificados. Para botões de três estados, o valor retornado poderá ser 2 se o botão estiver indeterminado. Essa função membro retorna 0 para uma cabeçada.

Comentários

Se o botão for um controle de três estados, a função membro determinará se ele está esmaecido, verificado ou nenhum dos dois.

CWnd::IsDynamicLayoutEnabled

Determina se o layout dinâmico está habilitado nesta janela. Se o layout dinâmico estiver habilitado, a posição e o tamanho das janelas filho poderão ser alterados quando o usuário redimensionar a janela pai.

BOOL IsDynamicLayoutEnabled() const;

Valor de retorno

TRUE se o layout dinâmico estiver habilitado; caso contrário FALSE.

Comentários

CWnd::IsIconic

Especifica se CWnd é minimizado (icônico).

BOOL IsIconic() const;

Valor de retorno

Não zero se CWnd for minimizado; caso contrário, 0.

Exemplo

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 há suporte a toque.

BOOL IsTouchWindow() const;

Valor de retorno

TRUE se CWnd tiver suporte ao toque; caso contrário FALSE.

Comentários

CWnd::IsWindowEnabled

Especifica se CWnd está habilitado para entrada de mouse e teclado.

BOOL IsWindowEnabled() const;

Valor de retorno

Não zero se CWnd estiver habilitado; caso contrário, 0.

Exemplo

//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 fornecida.

BOOL IsWindowVisible() const;

Valor de retorno

Não zero se CWnd estiver visível (tem o WS_VISIBLE conjunto de bits de estilo e a janela pai está visível). Como o valor retornado reflete o estado do bit de WS_VISIBLE estilo, o valor retornado pode não ser zero, embora CWnd seja totalmente obscurecido por outras janelas.

Comentários

Uma janela possui um estado de visibilidade indicado pelo WS_VISIBLE bit de estilo. Quando esse 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 conjunto de bits de estilo.

Qualquer desenho em uma janela que tenha o WS_VISIBLE estilo não será exibido se a janela estiver coberta por outras janelas ou for cortada pela janela pai.

Exemplo

// 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 maximizada.

BOOL IsZoomed() const;

Valor de retorno

Não zero se CWnd for maximizado; caso contrário, 0.

CWnd::KillTimer

Mata o evento de temporizador identificado pela nIDEvent chamada anterior para SetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

Parâmetros

nIDEvent
O valor do evento de temporizador passado para SetTimer.

Valor de retorno

Especifica o resultado da função. O valor não será zero se o evento tiver sido morto. Será 0 se a KillTimer função membro não tiver encontrado o evento de temporizador especificado.

Comentários

As mensagens pendentes WM_TIMER associadas ao temporizador não são removidas da fila de mensagens.

Exemplo

Veja o exemplo de CWnd::SetTimer.

CWnd::LoadDynamicLayoutResource

Chamado pela estrutura para carregar informações de layout dinâmico do arquivo de recurso.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

Parâmetros

lpszResourceName
O nome do recurso que contém as informações de layout dinâmico desejadas para essa janela.

Valor de retorno

Não zero se a função for bem-sucedida. Será 0 se ocorrer uma falha.

Comentários

Não chame esse método diretamente.

CWnd::LockWindowUpdate

Desabilita o desenho na janela fornecida.

BOOL LockWindowUpdate();

Valor de retorno

Não zero se a função for bem-sucedida. Será 0 se ocorrer uma falha ou se a LockWindowUpdate função tiver sido usada para bloquear outra janela.

Comentários

Não é possível mover uma janela bloqueada. Somente uma janela pode ser bloqueada por vez. Para desbloquear uma janela bloqueada com LockWindowUpdate, chame UnlockWindowUpdate.

Se um aplicativo com uma janela bloqueada (ou qualquer janela filho bloqueada) chamar a GetDCfunção , GetDCExou BeginPaint Windows, a função chamada retornará um contexto de dispositivo cuja região visível está vazia. Isso ocorrerá até que o aplicativo desbloqueie a janela chamando a UnlockWindowUpdate função membro.

Enquanto as atualizações de janela estão bloqueadas, o sistema controla o retângulo delimitador de qualquer operação de desenho para contextos de dispositivo associados a uma janela bloqueada. Quando o desenho é reencável, esse retângulo delimitador é invalidado na janela bloqueada e nas janelas filho para forçar uma eventual WM_PAINT mensagem a atualizar a tela. Se nenhum desenho tiver ocorrido enquanto as atualizações da janela estiverem bloqueadas, nenhuma área será invalidada.

A LockWindowUpdate função membro não torna a janela determinada invisível e não limpa o bit de WS_VISIBLE estilo.

CWnd::m_hWnd

O identificador da janela Windows anexada a issoCWnd.

HWND m_hWnd;

Comentários

O m_hWnd membro de dados é uma variável pública do tipo HWND.

CWnd::MapWindowPoints

Converte (mapas) um conjunto de pontos do espaço de coordenadas 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 esse parâmetro for NULL, os pontos serão convertidos em coordenadas de tela.

lpRect
Especifica o retângulo cujos pontos devem ser convertidos. A primeira versão dessa função está disponível apenas para Windows 3.1 e posterior.

lpPoint
Um ponteiro para uma matriz de POINT estrutura que contém o conjunto de pontos a serem convertidos.

nCount
Especifica o número de POINT estruturas na matriz apontada por lpPoint.

CWnd::MessageBox

Cria e exibe uma janela que contém uma mensagem e legenda fornecidas pelo aplicativo, além de uma combinação de ícones predefinidos e botões descritos na lista Estilos de Caixa de Mensagens .

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

Parâmetros

lpszText
Aponta para um CString objeto ou cadeia de caracteres com término nulo que contém a mensagem a ser exibida.

lpszCaption
Aponta para um CString objeto ou cadeia de caracteres com término nulo a ser usado para a legenda da caixa de mensagem. Se lpszCaption for NULL, a legenda padrão "Erro" é usada.

nType
Especifica o conteúdo e o comportamento da caixa de mensagem.

Valor de retorno

Esse método utiliza a MessageBox função conforme definido no SDK Windows. Esse método retorna o resultado de chamar essa função.

Comentários

Use a função AfxMessageBox global em vez dessa função membro para implementar uma caixa de mensagem em seu aplicativo.

O seguinte mostra os vários ícones do sistema que podem ser usados em uma caixa de mensagem:

ícone Macro
Stop or X icon. MB_ICONHAND, MB_ICONSTOP, e MB_ICONERROR
Help or question mark icon. MB_ICONQUESTION
Important or exclamation point icon. MB_ICONEXCLAMATION e MB_ICONWARNING
Information or letter I icon. MB_ICONASTERISK e MB_ICONINFORMATION

Exemplo

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 essa função de membro para modificar o estilo de uma janela.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

Parâmetros

dwRemove
Especifica estilos de janela a serem removidos durante a modificação de estilo.

dwAdd
Especifica os estilos de janela a serem adicionados durante a modificação de estilo.

nFlags
Sinalizadores a serem passados para SetWindowPos, ou zero, se SetWindowPos não devem ser chamados. O padrão é zero. Consulte a seção Comentários para obter uma lista de sinalizadores predefinidos.

Valor de retorno

Não zero se o estilo foi modificado com êxito; caso contrário, 0.

Comentários

Estilos a serem adicionados ou removidos podem ser combinados usando o operador OR (|) bit a bit. Consulte os tópicos Estilos de Janela e CreateWindow no SDK do Windows para obter informações sobre os estilos de janela disponíveis.

Se nFlags não for zero, ModifyStyle chamará a função SetWindowPos de API Windows e redesenhará a janela combinando nFlags com os quatro sinalizadores predefinidos a seguir:

  • 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, consulte ModifyStyleEx.

Observação

Para alguns estilos em determinados controles (o ES_READONLY estilo no controle de edição, por exemplo), ModifyStyle pode não alterar corretamente o estilo porque o controle pode precisar executar processamento interno especial. Nesses casos, uma mensagem correspondente para alterar o estilo estará disponível ( EM_SETREADONLY no exemplo mencionado).

Exemplo

// 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 essa função de 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
Sinalizadores a serem passados para SetWindowPos, ou zero, se SetWindowPos não devem ser chamados. O padrão é zero. Consulte a seção Comentários para obter uma lista de sinalizadores predefinidos.

Valor de retorno

Não zero se o estilo foi modificado com êxito; caso contrário, 0.

Comentários

Estilos a serem adicionados ou removidos podem ser combinados usando o operador OR (|bit a bit). Consulte os tópicos Estilos de Janela Estendidos neste livro e CreateWindowEx no SDK Windows para obter informações sobre os estilos estendidos disponíveis

Se nFlags não for zero, ModifyStyleEx chamará a função SetWindowPos de API Windows e redesenhará a janela combinando nFlags com os quatro sinalizadores predefinidos a seguir:

  • 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 janela regulares, consulte ModifyStyle.

Exemplo

// 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

Altera 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 da parte superior 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 em seu OnPaint manipulador de mensagens como de costume. Se esse parâmetro for FALSE, não ocorrerá nenhum tipo de repositório. Isso se aplica à área do cliente, à área nãocliente (incluindo o título e as barras de rolagem) e a qualquer parte da janela pai descoberta como resultado da CWndmovimentação de '. Quando esse parâmetro é FALSE, o aplicativo deve invalidar ou redesenhar explicitamente qualquer parte da CWnd janela pai que deve ser redesenhada.

lpRect
O CRect objeto ou RECT estrutura que especifica o novo tamanho e a posição.

Comentários

Para um objeto de nível CWnd superior, os parâmetros e y os x parâmetros são relativos ao canto superior esquerdo da tela. Para um objeto filho CWnd , eles são relativos ao canto superior esquerdo da área de cliente da janela pai.

A MoveWindow função envia a WM_GETMINMAXINFO mensagem. Lidar com essa mensagem oferece CWnd a oportunidade de modificar os valores padrão para as maiores e menores janelas possíveis. Se os parâmetros para a MoveWindow função membro excederem esses valores, os valores poderão ser substituídos pelos valores mínimos ou máximos no WM_GETMINMAXINFO manipulador.

Exemplo

Veja o exemplo de CWnd::ClientToScreen.

CWnd::NotifyWinEvent

Sinaliza ao sistema que ocorreu um evento predefinido. Se algum aplicativo cliente tiver registrado uma função de gancho para o evento, o sistema chamará a função de gancho do cliente.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

Parâmetros

event
Especifica o evento que ocorreu. Esse valor deve ser uma das constantes de evento.

idObjectType
Identifica o tipo de objeto que gerou o evento. Esse valor é um dos identificadores de objeto predefinidos ou um valor de ID de objeto personalizado.

idObject
Identifica se o evento foi gerado por um objeto ou um elemento filho do objeto. Se esse valor for CHILDID_SELF, o evento foi gerado pelo próprio objeto. Caso contrário, esse valor é a ID filho do elemento que gerou o evento.

Comentários

Essa função membro emula a funcionalidade da funçãoNotifyWinEvent, conforme descrito no SDK Windows.

CWnd::OnActivate

A estrutura chama essa função de membro quando um CWnd objeto está sendo ativado ou desativado.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

Parâmetros

nState
Especifica se a origem CWnd está sendo ativada ou desativada. Pode ser um dos seguintes valores:

  • WA_INACTIVE A janela está sendo desativada.

  • WA_ACTIVE A janela está sendo ativada por meio de algum método diferente de um clique do mouse (por exemplo, pelo uso da interface do teclado para selecionar a janela).

  • WA_CLICKACTIVE A janela está sendo ativada por um clique do mouse.

pWndOther
Ponteiro para a CWnd ativação ou desativação. O ponteiro pode ser NULL, e pode ser temporário.

bMinimized
Especifica o estado minimizado do CWnd ser ativado ou desativado. Um valor de TRUE indica que a janela é minimizada.

Se TRUE, o CWnd está sendo ativado; caso contrário, desativado.

Comentários

Se o CWnd objeto for ativado com um clique do mouse, ele também receberá uma OnMouseActivate chamada de função membro.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnActivateApp

A estrutura chama essa função de membro para todas as janelas de nível superior da tarefa que está sendo ativada e para todas as janelas de nível superior da tarefa que estão sendo desativadas.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

Parâmetros

bActive
Especifica se a origem CWnd está sendo ativada ou desativada. TRUE significa que o CWnd está sendo ativado. FALSE significa que o CWnd está sendo desativado.

dwThreadID
Especifica o valor da ID do thread. Se bActive for TRUE, dwThreadID identifica o thread que possui o CWnd ser desativado. Se bActive for, dwThreadID identifica o thread que possui o CWnd que está FALSEsendo ativado.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnAmbientProperty

A estrutura chama essa função de membro para obter valores de propriedade ambiente de uma janela que contém controles OLE.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

Parâmetros

pSite
Ponteiro para o site do controle que solicitou a propriedade de ambiente.

dispid
A ID de expedição da propriedade ambiente solicitada.

pvar
Ponteiro para uma estrutura alocada por VARIANT chamador, por meio da qual o valor da propriedade ambiente será retornado.

Valor de retorno

TRUE se houver suporte para a propriedade de ambiente; FALSE se não.

Comentários

Substitua essa função para alterar os valores de propriedade ambiente padrão retornados por um contêiner de controle OLE para seus controles. Todas as solicitações de propriedade ambiente não tratadas por uma função de substituição devem ser encaminhadas para a implementação da classe base.

CWnd::OnAppCommand

A estrutura chama essa função de membro quando o usuário gera um evento de comando do aplicativo. Esse evento ocorre quando o usuário clica em um botão de comando do aplicativo ou digita uma chave de comando do aplicativo.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

Parâmetros

pWnd
[in] Ponteiro para um CWnd objeto que representa a janela em que o usuário clicou no botão de comando ou pressionou a tecla de comando. Essa janela pode ser uma janela filho da janela que recebe a mensagem.

nCmd
[in] Indica o comando do aplicativo. Para obter uma lista de valores possíveis, consulte os comandos na cmd seção do lParam parâmetro de WM_APPCOMMAND.

nDevice
[in] O dispositivo de entrada que gerou o evento de entrada. Para obter uma lista de valores possíveis, consulte os dispositivos na uDevice seção do lParam parâmetro de WM_APPCOMMAND.

nKey
[in] Indica todas as chaves virtuais que estão inativas, como a tecla CTRL ou o botão esquerdo do mouse. Para obter uma lista de valores possíveis, consulte as chaves na dwKeys seção do lParam parâmetro de WM_APPCOMMAND. Para obter mais informações, consulte a subtítulo "Parâmetros de Mensagem" em Sobre a entrada do mouse.

Comentários

Esse método recebe a WM_APPCOMMAND notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnAskCbFormatName

A estrutura chama essa função de membro quando a Área de Transferência contém um identificador de dados para o CF_OWNERDISPLAY formato (ou seja, quando o proprietário da área de transferência exibirá o conteúdo da área de transferência).

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

Parâmetros

nMaxCount
Especifica o número máximo de bytes a serem copiados.

lpszString
Aponta para o buffer em que a cópia do nome do formato deve ser armazenada.

Comentários

O proprietário da área de transferência deve fornecer um nome para seu formato.

Substitua essa função de membro e copie o nome do CF_OWNERDISPLAY formato no buffer especificado, não excedendo o número máximo de bytes especificados.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCancelMode

A estrutura chama essa função de membro para informar CWnd para cancelar qualquer modo interno.

afx_msg void OnCancelMode();

Comentários

Se o CWnd objeto tiver o foco, sua OnCancelMode função de membro será chamada quando uma caixa de diálogo ou uma caixa de mensagem for exibida. Isso dá a CWnd oportunidade de cancelar modos como a captura do mouse.

A implementação padrão responde chamando a ReleaseCapture função Windows. Substitua essa função de membro em sua classe derivada para lidar com outros modos.

CWnd::OnCaptureChanged

A estrutura chama essa função de membro para notificar a janela que está perdendo a captura do mouse.

afx_msg void OnCaptureChanged(CWnd* pWnd);

Parâmetros

pWnd
Um ponteiro para a janela para obter a captura do mouse

Comentários

Uma janela recebe essa mensagem mesmo que ela se chame ReleaseCapture . Um aplicativo não deve tentar definir a captura do mouse em resposta a essa mensagem. Quando ela recebe essa mensagem, uma janela deve ser redesenhada, se necessário, para refletir o novo estado de captura de mouse.

Consulte o SDK do Windows para obter informações sobre a ReleaseCapture função Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnChangeCbChain

A estrutura chama essa função de membro para cada janela na cadeia de visualizadores de área de transferência para notificá-la de que uma janela está sendo removida da cadeia.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

Parâmetros

hWndRemove
Especifica o identificador de janela que está sendo removido da cadeia de visualizadores de área de transferência.

hWndAfter
Especifica o identificador de janela que segue a janela que está sendo removida da cadeia de visualizadores de área de transferência.

Comentários

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 de visualizadores de área de transferência (o identificador retornado porSetClipboardViewer). Se hWndRemove for a próxima janela na cadeia, a janela especificada pela hWndAfter se tornará a próxima janela e as mensagens da Área de Transferência serão passadas para ela.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnChangeUIState

Chamado quando o estado da interface do usuário (interface do usuário) deve ser alterado.

afx_msg void OnChangeUIState(
    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 do usuário (especificado por nUIElement) deve estar oculto.

  • UIS_INITIALIZE O elemento de estado da interface do usuário (especificado por nUIElement) deve ser alterado com base no último evento de entrada. Para obter mais informações, consulte a seção Comentários de WM_CHANGEUISTATE.

  • UIS_SET O elemento de estado da interface do usuário (especificado por nUIElement) deve estar visível.

nUIElement
Especifica quais elementos de estado da interface do usuário são afetados ou o estilo do controle. Pode ser um dos seguintes valores:

  • UISF_HIDEACCEL Aceleradores de teclado.

  • UISF_HIDEFOCUS Indicadores de foco.

  • UISF_ACTIVEWindows XP: um controle deve ser desenhado no estilo usado para controles ativos.

Comentários

Essa função membro emula a funcionalidade da WM_CHANGEUISTATE mensagem, conforme descrito no SDK do Windows.

CWnd::OnChar

A estrutura chama essa função de membro quando um pressionamento de tecla é convertido em um caractere não sistema.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Contém o valor do código de caractere da chave.

nRepCnt
Contém a contagem de repetição, o número de vezes que o pressionamento de tecla é repetido quando o usuário segura a chave.

nFlags
Contém o código de verificação, o código de transição de chave, o estado da chave anterior e o código de contexto, conforme mostrado na lista a seguir:

Valor Significado
0-15 Especifica a contagem de repetição. O valor é o número de vezes que o pressionamento de tecla é repetido como resultado do usuário que mantém a chave pressionada.
16-23 Especifica o código de verificação. O valor depende do OEM (fabricante de equipamento original)
24 Especifica se a chave é uma chave estendida, como as teclas ALT e CTRL à direita que aparecem em um teclado avançado de 101 ou 102 teclas. O valor será 1 se for uma chave estendida; caso contrário, é 0.
25-28 Usado internamente por Windows.
29 Especifica o código de contexto. O valor será 1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada; caso contrário, o valor será 0.
30 Especifica o estado da chave anterior. O valor será 1 se a chave estiver inativa antes do envio da mensagem ou se for 0 se a chave estiver ativada.
31 Especifica o estado de transição. O valor será 1 se a tecla estiver sendo liberada ou se for 0 se a tecla estiver sendo pressionada.

Comentários

Essa função é chamada antes da OnKeyUp função membro e depois que a OnKeyDown função membro é chamada. OnChar contém o valor da tecla de teclado que está sendo pressionada ou liberada.

Como não há necessariamente uma correspondência um-para-um entre chaves pressionadas e OnChar chamadas geradas, as informações geralmente nFlags não são úteis para aplicativos. As informações se nFlags aplicam somente à chamada mais recente à OnKeyUp função de membro ou à OnKeyDown função de membro que precede a chamada para OnChar.

Para teclados ibm avançados de 101 e 102 teclas, as teclas aprimoradas são a ALT certa e as teclas CTRL corretas na seção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e seta nos clusters à esquerda do teclado numérico; e as teclas barra (/) e ENTER no teclado numérico. Alguns outros teclados podem dar suporte ao bit de tecla estendida em nFlags.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCharToItem

Chamado quando uma caixa de listagem com o LBS_WANTKEYBOARDINPUT estilo envia ao proprietário uma WM_CHARTOITEM mensagem 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 usuário.

pListBox
Especifica um ponteiro para a caixa de listagem. Pode ser temporário.

nIndex
Especifica a posição atual do cursor.

Valor de retorno

A estrutura chama essa função de membro para especificar a ação executada pelo aplicativo em resposta à chamada. Um valor retornado de -2 indica que o aplicativo lidou com todos os aspectos da seleção do item e não deseja mais nenhuma ação pela caixa de listagem. Um valor retornado de -1 indica que a caixa de listagem deve executar a ação padrão em resposta ao pressionamento de teclas. Um valor retornado igual a 0 ou maior especifica o índice baseado em zero de um item na caixa de listagem e indica que a caixa de listagem deve executar a ação padrão para o pressionamento de teclas no item fornecido.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnChildActivate

Se o CWnd objeto for uma janela filho de várias interfaces de documento (MDI), OnChildActivate será chamado pela estrutura quando o usuário clica na barra de título da janela ou quando a janela é ativada, movida ou dimensionada.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

Essa função de membro é chamada pela janela pai 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 Windows enviado para uma janela pai.

wParam
O wparam associado à mensagem.

lParam
O lparam associado à mensagem.

pLResult
Um ponteiro para um valor a ser retornado do procedimento de janela do pai. Esse ponteiro será NULL se nenhum valor retornado for esperado.

Valor de retorno

Não zero se essa janela for responsável por lidar com a mensagem enviada ao seu pai; caso contrário, 0.

Comentários

Nunca chame essa função de membro diretamente.

A implementação padrão dessa função de membro retorna 0, o que significa que o pai deve lidar com a mensagem.

Substitua essa função de membro para estender a maneira como um controle responde às mensagens de notificação.

CWnd::OnClipboardUpdate

A estrutura chama essa função de membro quando o conteúdo da área de transferência foi alterado.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

A estrutura chama essa função de membro como um sinal de que o aplicativo ou o CWnd aplicativo deve ser encerrado.

afx_msg void OnClose();

Comentários

As chamadas DestroyWindowde implementação padrão .

CWnd::OnColorizationColorChanged

A estrutura chama esse membro quando a política de renderização para a área nãocliente foi alterada.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

Parâmetros

dwColorizationColor
[in] Especifica a nova cor de colorização. O formato de cor é um número hexadecimal do formulário 0xAARRGGBB, em que 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
[in] TRUE se a nova cor for misturada com opacidade; FALSE se não for.

Comentários

Esse método recebe a WM_DWMNCRENDERINGCHANGED mensagem de notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCommand

A estrutura chama essa função de membro quando o usuário seleciona um item em um menu, quando um controle filho envia uma mensagem de notificação ou quando um pressionamento de tecla de acelerador é traduzido.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

wParam
A palavra de wParam baixa ordem identifica a ID de comando do item de menu, controle ou acelerador. A palavra de alta ordem especifica a mensagem de wParam notificação se a mensagem for de um controle. Se a mensagem for de um acelerador, a palavra de alta ordem será 1. Se a mensagem for de um menu, a palavra de ordem alta será 0.

lParam
Identifica o controle que envia a mensagem se a mensagem for de um controle. Caso contrário, lParam será 0.

Valor de retorno

Um aplicativo retornará diferente de zero se processar essa mensagem; caso contrário, 0.

Comentários

OnCommand processa o mapa de mensagens para notificação de controle e ON_COMMAND entradas e chama a função de membro apropriada.

Substitua essa função de membro em sua classe derivada para manipular a WM_COMMAND mensagem. Uma substituição não processará o mapa da mensagem, a menos que a classe OnCommand base seja chamada.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCompacting

A estrutura chama essa função de membro para todas as janelas de nível superior quando Windows detecta que mais de 12,5% do tempo do sistema em um intervalo de 30 a 60 segundos está sendo gasto compactando memória.

afx_msg void OnCompacting(UINT nCpuTime);

Parâmetros

nCpuTime
Especifica a taxa de tempo de CPU gasto atualmente Windows compactação de memória com o tempo de CPU gasto executando outras operações. Por exemplo, 8000h representa 50% do tempo de CPU gasto compactando a memória.

Comentários

Isso indica que a memória do sistema está baixa.

Quando um CWnd objeto recebe essa chamada, ele deve liberar o máximo de memória possível, levando em conta o nível atual de atividade do aplicativo e o número total de aplicativos em execução no Windows. O aplicativo pode chamar a função Windows para determinar quantos aplicativos estão em execução.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCompareItem

A estrutura chama essa função de membro para especificar a posição relativa de um novo item em uma caixa de listagem ou combinação de desenho de proprietário classificado filho.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

Parâmetros

nIDCtl
O identificador do controle que enviou a WM_COMPAREITEM mensagem.

lpCompareItemStruct
Contém um ponteiro longo para uma COMPAREITEMSTRUCT estrutura de dados que contém os identificadores e os dados fornecidos pelo aplicativo para dois itens na caixa de combinação ou listagem.

Valor de retorno

Indica a posição relativa dos dois itens. Pode ser qualquer um dos seguintes valores:

Valor Significado
-1 O item 1 classifica antes do item 2.
0 Item 1 e item 2 classificam o mesmo.
1 O item 1 classifica após o item 2.

Comentários

Se uma caixa de combinação ou lista for criada com o estilo ou LBS_SORT estiloCBS_SORT, Windows enviará uma mensagem ao proprietário da caixa de combinação ou da caixa de listagem WM_COMPAREITEM sempre que o aplicativo adicionar um novo item.

Dois itens na caixa de combinação ou listagem são reformados em uma COMPAREITEMSTRUCT estrutura apontada por lpCompareItemStruct. OnCompareItem deve retornar um valor que indica qual dos itens deve aparecer antes do outro. Normalmente, Windows faz essa chamada várias vezes até determinar a posição exata do novo item.

Se o hwndItem membro da COMPAREITEMSTRUCT estrutura pertencer a um CListBox objeto ou CComboBox objeto, a CompareItem função virtual da classe apropriada será chamada. Substitua CComboBox::CompareItem ou CListBox::CompareItem em sua classe ou CComboBox derivada CListBox para fazer a comparação de item.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCompositionChanged

A estrutura chama essa função de membro para todas as janelas de nível superior quando a composição do DWM (Gerenciador de Janelas da Área de Trabalho) estiver habilitada ou desabilitada.

afx_msg void OnCompositionChanged();

Comentários

Esse método recebe a WM_DWMCOMPOSITIONCHANGED notificação, que é descrita no SDK Windows.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnContextMenu

Chamado pela estrutura quando o usuário clica no botão direito do mouse (clicado com o botão direito do mouse) na janela.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

Parâmetros

pWnd
Manipule até a janela na qual o usuário clicou com o botão direito do mouse. Essa pode ser uma janela filho da janela que recebe a mensagem. Para obter mais informações sobre como processar essa mensagem, consulte a seção Comentários.

pos
Posição do cursor, nas coordenadas da tela, no momento do clique do mouse.

Comentários

Você pode processar essa mensagem exibindo um menu de contexto usando o TrackPopupMenu.

Se você não exibir um menu de contexto, deverá passar essa mensagem para a DefWindowProc função. Se a janela for uma janela filho, DefWindowProc envie a mensagem para o pai. Caso contrário, DefWindowProc exibirá um menu de contexto padrão se a posição especificada estiver na legenda da janela.

CWnd::OnCopyData

Essa função membro é chamada pela estrutura para copiar dados de um aplicativo para outro.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

Parâmetros

pWnd
Um ponteiro para um CWnd objeto que está enviando os dados.

pCopyDataStruct
Um ponteiro para uma COPYDATASTRUCT estrutura que contém os dados que estão sendo enviados.

Valor de retorno

Retorna TRUE se o aplicativo receptor aceitar os dados com êxito. Caso contrário, retorna FALSE.

Comentários

Os dados que estão sendo passados não devem conter ponteiros ou outras referências a objetos não acessíveis ao aplicativo que está recebendo os dados.

Embora os dados estejam sendo copiados, eles não devem ser alterados por outro thread do processo de envio.

O aplicativo de recebimento deve considerar os dados somente leitura. A estrutura apontada pelo parâmetro pCopyDataStruct é válida somente durante a transferência de dados; no entanto, o aplicativo de recebimento não deve liberar a memória associada à estrutura.

Se o aplicativo receptor precisar de acesso aos dados depois que essa função retornar, ele deverá copiar os dados recebidos em um buffer local.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCreate

A estrutura chama essa função de membro quando um aplicativo solicita que a janela Windows seja criada chamando a função ou CreateEx membroCreate.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

Parâmetros

lpCreateStruct
Aponta para uma CREATESTRUCT estrutura que contém informações sobre o CWnd objeto que está sendo criado.

Valor de retorno

OnCreate deve retornar 0 para continuar a criação do CWnd objeto. Se o aplicativo retornar -1, a janela será destruída.

Comentários

O CWnd objeto recebe essa chamada depois que a janela é criada, mas antes de ficar visível. OnCreate é chamado antes que a Create função ou CreateEx membro retorne.

Substitua essa função de membro para executar 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

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnCtlColor

A estrutura chama essa função de membro quando um controle 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 controle que solicita a cor. Pode ser temporário.

nCtlColor
Contém um dos seguintes valores, especificando o tipo de controle:

  • CTLCOLOR_BTN Controle de botão

  • CTLCOLOR_DLG Caixa de diálogo

  • CTLCOLOR_EDIT Editar controle

  • CTLCOLOR_LISTBOX Controle de caixa de listagem

  • CTLCOLOR_MSGBOX Caixa de mensagem

  • CTLCOLOR_SCROLLBAR Controle de barra de rolagem

  • CTLCOLOR_STATIC Controle estático

Valor de retorno

OnCtlColor deve retornar um identificador para o pincel que deve ser usado para pintar a tela de fundo do controle.

Comentários

A maioria dos controles envia essa mensagem para seus pais (geralmente uma caixa de diálogo) para preparar o pDC para desenhar o controle usando as cores corretas.

Para alterar a cor do texto, chame a SetTextColor função membro com os valores RGB (vermelho, verde e azul) desejados.

Para alterar a cor da tela de fundo de um controle de edição de linha única, defina o identificador de pincel nos CTLCOLOR_EDIT códigos e na mensagem e CTLCOLOR_MSGBOX chame a CDC::SetBkColor função em resposta ao CTLCOLOR_EDIT código.

OnCtlColor não será chamada para a caixa de listagem de uma caixa de combinação suspensa porque a caixa de listagem suspensa é, na verdade, um filho da caixa de combinação e não um filho da janela. Para alterar a cor da caixa de listagem suspensa, crie uma com uma CComboBox substituição dessa OnCtlColor verificação CTLCOLOR_LISTBOX no nCtlColor parâmetro. Neste manipulador, a SetBkColor função membro deve ser usada para definir a cor da tela de fundo do texto.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função. Para adicionar o método a seguir à classe de diálogo, use o painel de propriedades Visual Studio para adicionar um manipulador de mensagens para WM_CTLCOLOR. Como alternativa, você pode adicionar manualmente uma ON_WM_CTLCOLOR() entrada ao mapa de mensagens.

Exemplo

// 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

A estrutura chama essa função de membro quando a OnKeyUp função membro e as OnKeyDown funções membro são chamadas.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o valor do caractere de chave morta.

nRepCnt
Especifica a contagem de repetição.

nFlags
Especifica o código de verificação, o código de transição de chave, o estado da chave anterior e o código de contexto, conforme mostrado na lista a seguir:

Valor Descrição
0-7 Código de verificação (valor dependente de OEM). Byte baixo de palavra de alta ordem.
8 Chave estendida, como uma chave de função ou uma chave no teclado numérico (1 se for uma chave estendida; caso contrário, 0).
9-10 Não usado.
11-12 Usado internamente por Windows.
13 Código de contexto (1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada; caso contrário, 0).
14 Estado de chave anterior (1 se a chave estiver inativa antes da chamada, 0 se a chave estiver ativada).
15 Estado de transição (1 se a tecla estiver sendo liberada, 0 se a tecla estiver sendo pressionada).

Comentários

Essa função membro pode ser usada para especificar o valor de caractere de uma chave morta. Uma chave morta é uma chave, como o caractere umlaut (ponto duplo), que é combinado com outros caracteres para formar um caractere composto. Por exemplo, o caractere umlaut-O consiste na chave morta, umlaut e na chave O.

Um aplicativo normalmente usa para fornecer aos usuários OnDeadChar comentários sobre cada tecla pressionada. Por exemplo, um aplicativo pode exibir o destaque na posição atual do caractere sem mover o cursor.

Como não há necessariamente uma correspondência um-para-um entre chaves pressionadas e OnDeadChar chamadas, as informações geralmente nFlags não são úteis para aplicativos. As informações se nFlags aplicam somente à chamada mais recente à OnKeyUp função membro ou à OnKeyDown função membro que precede a OnDeadChar chamada.

Para teclados ibm avançados de 101 e 102 teclas, as teclas aprimoradas são a ALT certa e as teclas CTRL direitas na seção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e seta nos clusters à esquerda do teclado numérico; e as teclas barra (/) e ENTER no teclado numérico. Alguns outros teclados podem dar suporte ao bit de tecla estendida em nFlags.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnDeleteItem

A estrutura chama essa função membro para informar ao proprietário de uma caixa de listagem de desenho do proprietário ou caixa de combinação que a caixa de listagem ou caixa de combinação foi destruída ou que os itens foram removidos porCComboBox::DeleteString, CListBox::DeleteString, ou CComboBox::ResetContentCListBox::ResetContent.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

Parâmetros

nIDCtl
O identificador do controle que enviou a WM_DELETEITEM mensagem.

lpDeleteItemStruct
Especifica um ponteiro longo para uma DELETEITEMSTRUCT estrutura de dados que contém informações sobre o item da caixa de listagem excluído.

Comentários

Se o hwndItem membro da DELETEITEMSTRUCT estrutura pertencer a uma caixa de combinação ou caixa de listagem, a DeleteItem função virtual da classe apropriada será chamada. Substitua a DeleteItem função membro da classe do controle apropriado para excluir dados específicos do item.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnDestroy

A estrutura chama essa função de membro para informar o CWnd objeto de que ele está sendo destruído.

afx_msg void OnDestroy();

Comentários

OnDestroy é chamado depois que o CWnd objeto é removido da tela.

OnDestroy é chamado primeiro para o CWnd ser destruído, em seguida, para as janelas filho de CWnd como eles são destruídos. Pode-se supor que todas as janelas filho ainda existam enquanto OnDestroy são executadas.

Se o CWnd objeto que está sendo destruído faz parte da cadeia de visualizadores de área de transferência (definida chamando a SetClipboardViewer função membro), a CWnd cadeia de visualizadores de área de transferência deve ser removida chamando a ChangeClipboardChain função membro antes de retornar da OnDestroy função.

CWnd::OnDestroyClipboard

A estrutura chama essa função de membro para o proprietário da Área de Transferência quando a Área de Transferência é esvaziada por meio de uma chamada para a EmptyClipboard função Windows.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

A estrutura chama essa função membro para notificar um driver de aplicativo ou dispositivo de 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 seção Comentários para obter uma descrição dos valores disponíveis

dwData
O endereço de uma estrutura que contém dados específicos do evento. Seu significado depende do evento especificado.

Comentários

Para dispositivos que oferecem recursos controláveis por software, como ejeção e bloqueio, o sistema operacional normalmente envia uma DBT_DEVICEREMOVEPENDING mensagem para permitir que aplicativos e drivers de dispositivo terminem o uso do dispositivo normalmente.

Se o sistema operacional for removido com força de um dispositivo, ele poderá não enviar uma DBT_DEVICEQUERYREMOVE mensagem antes de fazê-lo.

O nEvent parâmetro pode ser um destes valores:

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnDevModeChange

A estrutura chama essa função de membro para todos os objetos de nível CWnd superior quando o usuário altera as configurações do modo de dispositivo.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

Parâmetros

lpDeviceName
Aponta para o nome do dispositivo especificado no arquivo WIN.INIde inicialização Windows.

Comentários

Os aplicativos que lidam com a WM_DEVMODECHANGE mensagem podem reinicializar suas configurações de modo de dispositivo. Os aplicativos que usam a função Windows ExtDeviceMode para salvar e restaurar as configurações do dispositivo normalmente não processam essa função.

Essa função não é chamada quando o usuário altera a impressora padrão de Painel de Controle. Nesse caso, a OnWinIniChange função é chamada.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnDrawClipboard

A estrutura chama essa função de membro para cada janela na cadeia de visualizadores de área de transferência quando o conteúdo da Área de Transferência é alterado.

afx_msg void OnDrawClipboard();

Comentários

Somente os aplicativos que ingressaram na cadeia de visualizadores de área de transferência chamando a SetClipboardViewer função membro precisam responder a essa 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 de visualizadores de área de transferência. O identificador da próxima janela é retornado pela SetClipboardViewer função membro; ele pode ser modificado em resposta a uma OnChangeCbChain chamada de função de membro.

CWnd::OnDrawIconicThumbnailOrLivePreview

Chamado pela estrutura quando ele precisa obter um bitmap a ser exibido na miniatura da guia Windows 7 ou no cliente para a espiada do aplicativo.

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 ser renderizada.

szRequiredThumbnailSize
Especifica o tamanho da miniatura de destino. Deve ser ignorado se bIsThumbnail for FALSE.

bIsThumbnail
Especifica se esse método é chamado para miniatura icônica ou visualização ao vivo (espiada).

bAlphaChannelSet
[out] Defina-o como TRUE se sua implementação inicializar o canal alfa de um bitmap selecionado em dc.

Comentários

Substitua esse método em uma classe derivada e desenhe no contexto do dispositivo especificado para personalizar a miniatura e espiar. Se bThumbnail for TRUE, szRequiredThumbnailSize pode ser ignorado. Nesse caso, você deve estar ciente de que desenha um bitmap de tamanho completo (ou seja, um bitmap que abrange toda a área do cliente). O contexto do dispositivo (dc) vem com o bitmap de 32 bits selecionado. A implementação padrão é enviada WM_PRINT para essa janela com PRF_CLIENTsinalizadores PRF_CHILDRENe PRF_NONCLIENT sinalizadores.

CWnd::OnDrawItem

A estrutura chama essa função de membro para o proprietário de um controle de botão de desenho do proprietário, controle de caixa de combinação, controle de caixa de listagem ou menu quando um aspecto visual do controle ou menu foi alterado.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

Parâmetros

nIDCtl
Contém o identificador do controle 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ções sobre o item a ser desenhado e o tipo de desenho necessário.

Comentários

O itemAction membro da DRAWITEMSTRUCT estrutura define a operação de desenho a ser executada. Os dados neste membro permitem que o proprietário do controle determine qual ação de desenho é necessária.

Antes de retornar do processamento dessa mensagem, um aplicativo deve garantir que o contexto do dispositivo identificado pelo hDC membro da DRAWITEMSTRUCT estrutura seja restaurado para o estado padrão.

Se o hwndItem membro pertencer a um CButtonobjeto CComboBox ou, CMenuCListBoxem seguida, a DrawItem função virtual da classe apropriada será chamada. Substitua a DrawItem função membro da classe do controle apropriado para desenhar o item.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnDropFiles

A estrutura chama essa função de membro quando o usuário libera o botão esquerdo do mouse em uma janela que se registrou como destinatário de arquivos descartados.

afx_msg void OnDropFiles(HDROP hDropInfo);

Parâmetros

hDropInfo
Um ponteiro para uma estrutura de dados interna que descreve os arquivos descartados. Esse identificador é usado pelas DragFinishfunções , DragQueryFilee DragQueryPoint Windows para recuperar informações sobre os arquivos descartados.

Comentários

Normalmente, uma classe derivada será projetada para dar suporte a arquivos descartados e se registrará durante a construção da janela.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnEnable

A estrutura chama essa função de membro quando um aplicativo altera o estado habilitado do CWnd objeto.

afx_msg void OnEnable(BOOL bEnable);

Parâmetros

bEnable
Especifica se o CWnd objeto foi habilitado ou desabilitado. Esse parâmetro será TRUE se o CWnd tiver sido habilitado; será FALSE se o CWnd tiver sido desabilitado.

Comentários

OnEnable é chamado antes que a EnableWindow função membro retorne, mas depois que o estado habilitado para a janela (WS_DISABLED bit de estilo) for alterado.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnEndSession

A estrutura chama essa função de membro depois que o CWnd objeto retorna um valor diferente de zero de uma OnQueryEndSession chamada de função de membro.

afx_msg void OnEndSession(BOOL bEnding);

Parâmetros

bEnding
Especifica se a sessão está ou não sendo encerrada. É TRUE se a sessão está sendo encerrada; caso contrário FALSE.

Comentários

A OnEndSession chamada informa ao CWnd objeto se a sessão está realmente terminando.

Se bEnding forTRUE, Windows pode terminar a qualquer momento depois que todos os aplicativos tiverem retornado do processamento dessa chamada. Consequentemente, fazer com que um aplicativo execute todas as tarefas necessárias para o encerramento dentro OnEndSession.

Você não precisa chamar a DestroyWindow função de membro ou PostQuitMessage Windows função quando a sessão estiver terminando.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnEnterIdle

A estrutura chama essa função de membro para informar o procedimento de janela principal de um aplicativo de que uma caixa de diálogo modal ou um menu está inserindo um estado ocioso.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

Parâmetros

nWhy
Especifica se a mensagem é o resultado de uma caixa de diálogo ou um menu que está sendo exibido. Esse parâmetro pode ser um dos seguintes valores:

  • MSGF_DIALOGBOX O sistema está ocioso porque uma caixa de diálogo está sendo exibida.

  • MSGF_MENU O sistema está ocioso porque um menu está sendo exibido.

pWho
Especifica um ponteiro para a caixa de diálogo (se nWhy for MSGF_DIALOGBOX) ou a janela que contém o menu exibido (se nWhy for MSGF_MENU). Esse ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

Uma caixa de diálogo ou menu modal insere um estado ocioso quando nenhuma mensagem está esperando em sua fila depois de processar uma ou mais mensagens anteriores.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnEnterMenuLoop

A estrutura chama essa função de membro quando um loop modal de menu foi inserido.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

Parâmetros

bIsTrackPopupMenu
Especifica se o menu envolvido é um menu pop-up. Tem um valor diferente de zero se a função for bem-sucedida; caso contrário, 0.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnEnterSizeMove

A estrutura chama essa função de membro uma vez após a janela afetada inserir um loop modal móvel ou de dimensionamento.

afx_msg void OnEnterSizeMove();

Comentários

Esse método recebe a WM_ENTERSIZEMOVE notificação, que é descrita no SDK do Windows.

Uma janela entra em um loop modal móvel ou de dimensionamento quando o usuário clica na barra de título ou 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

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnEraseBkgnd

A estrutura chama essa função de membro quando o plano de fundo do CWnd objeto precisa 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

Não zero se apagar o plano de fundo; caso contrário, 0.

Comentários

Ele é chamado para preparar uma região invalidada para pintura.

A implementação padrão apaga a tela de fundo usando o pincel de tela de fundo da classe de janela especificado pelo hbrBackground membro da estrutura de classe de janela.

Se o hbrBackground membro for NULL, sua versão substituída deverá apagar a cor da tela de OnEraseBkgnd fundo. Sua versão também deve alinhar a origem do pincel pretendido com as CWnd coordenadas chamando UnrealizeObject primeiro para o pincel e, em seguida, selecionando o pincel.

Um substituído OnEraseBkgnd deve retornar não zero em resposta se WM_ERASEBKGND ele processar a mensagem e apagar o plano de fundo; isso indica que nenhuma nova apagamento é necessária. Se retornar 0, a janela permanecerá marcada como precisando ser apagada. (Normalmente, isso significa que o fErase membro da PAINTSTRUCT estrutura será TRUE.)

Windows pressupõe que a tela de fundo seja calculada com o MM_TEXT modo de mapeamento. Se o contexto do dispositivo estiver usando qualquer outro modo de mapeamento, a área apagada poderá não estar dentro da parte visível da área do cliente.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnExitMenuLoop

A estrutura chama essa função de membro quando um loop modal de menu foi encerrado.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

Parâmetros

bIsTrackPopupMenu
Especifica se o menu envolvido é um menu pop-up. Tem um valor diferente de zero se a função for bem-sucedida; caso contrário, 0.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnExitSizeMove

A estrutura chama essa função de membro uma vez depois que a janela afetada sai de um loop modal móvel ou de dimensionamento.

afx_msg void OnExitSizeMove();

Comentários

Esse método recebe a WM_EXITSIZEMOVE notificação, que é descrita no SDK Windows.

Uma janela entra em um loop modal móvel ou de dimensionamento quando o usuário clica na barra de título da janela ou na borda de dimensionamento, 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

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnFontChange

Todas as janelas de nível superior no sistema recebem uma OnFontChange chamada da estrutura depois que o aplicativo altera o pool de recursos de fonte.

afx_msg void OnFontChange();

Comentários

Um aplicativo que adiciona ou remove fontes do sistema (por exemplo, por meio da AddFontResource função ou RemoveFontResource Windows) deve enviar a WM_FONTCHANGE mensagem para todas as janelas de nível superior.

Para enviar essa mensagem, use a SendMessage função Windows com o hWnd parâmetro definido como HWND_BROADCAST.

CWnd::OnGetDlgCode

Chamado para um controle para que o controle possa processar a tecla de direção e a própria entrada tab-key.

afx_msg UINT OnGetDlgCode();

Valor de retorno

Um ou mais dos seguintes valores, indicando qual tipo de entrada o aplicativo processa:

  • DLGC_BUTTON Botão (genérico).

  • DLGC_DEFPUSHBUTTON Pushbutton padrão.

  • DLGC_HASSETSELEM_SETSEL Mensagens.

  • DLGC_UNDEFPUSHBUTTON Nenhum processamento padrão de pushbutton. (Um aplicativo pode usar esse sinalizador DLGC_BUTTON para indicar que ele processa a entrada do botão, mas depende do sistema para processamento de botão padrão.)

  • DLGC_RADIOBUTTON Botão de opção.

  • DLGC_STATIC Controle estático.

  • DLGC_WANTALLKEYS Todas as entradas de teclado.

  • DLGC_WANTARROWS Setas.

  • DLGC_WANTCHARSWM_CHAR Mensagens.

  • DLGC_WANTMESSAGE Todas as entradas de teclado. O aplicativo passa essa mensagem para o controle.

  • DLGC_WANTTAB Tecla TAB.

Comentários

Normalmente, Windows manipula todas as entradas de tecla de direção e tab para um CWnd controle. Ao substituir OnGetDlgCode, um CWnd controle pode escolher um tipo específico de entrada para processar a si mesmo.

As funções padrão OnGetDlgCode para as classes de controle predefinidas retornam um código apropriado para cada classe.

CWnd::OnGetMinMaxInfo

A estrutura chama essa função de membro sempre que Windows precisa saber a posição ou dimensões maximizadas ou o tamanho mínimo ou máximo do acompanhamento.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

Parâmetros

lpMMI
Aponta para uma MINMAXINFO estrutura que contém informações sobre o tamanho e a posição maximizados de uma janela e seu tamanho mínimo e máximo de acompanhamento. Para obter mais informações sobre essa estrutura, consulte a MINMAXINFO estrutura.

Comentários

O tamanho maximizado é o tamanho da janela quando suas bordas são totalmente estendidas. O tamanho máximo de acompanhamento da janela é o maior tamanho de janela que pode ser obtido usando as bordas para dimensionar a janela. O tamanho mínimo de acompanhamento da janela é o menor tamanho de janela que pode ser obtido usando as bordas para dimensionar a janela.

Windows preenche uma matriz de pontos que especifica valores padrão para as várias posições e dimensões. O aplicativo pode alterar esses valores em OnGetMinMaxInfo.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnHelp

Manipula a Ajuda F1 dentro do aplicativo (usando o contexto atual).

afx_msg void OnHelp();

Comentários

Consulte CWinApp::OnHelp para obter mais informações.

CWnd::OnHelpFinder

Manipula os comandos e ID_DEFAULT_HELP os ID_HELP_FINDER comandos.

afx_msg void OnHelpFinder();

Comentários

Consulte CWinApp::OnHelpFinder para obter mais informações.

CWnd::OnHelpIndex

Manipula o ID_HELP_INDEX comando e fornece um tópico de Ajuda padrão.

afx_msg void OnHelpIndex();

Comentários

Consulte CWinApp::OnHelpIndex para obter mais informações.

CWnd::OnHelpInfo

Chamado pela estrutura quando o usuário pressiona a tecla F1.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

Parâmetros

lpHelpInfo
Ponteiro para uma HELPINFO estrutura que contém informações sobre o item de menu, controle, caixa de diálogo ou janela para a qual a ajuda é solicitada.

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, retornará FALSE.

Comentários

Se um menu estiver ativo quando F1 for pressionado, WM_HELP será enviado para a janela associada ao menu; caso contrário, WM_HELP será enviado para a janela que tem o foco do teclado. Se nenhuma janela tiver o foco do teclado, WM_HELP será enviada para a janela ativa no momento.

CWnd::OnHelpUsing

Manipula o comando ID_HELP_USING.

afx_msg void OnHelpUsing();

Comentários

Consulte CWinApp::OnHelpUsing para obter mais informações.

CWnd::OnHotKey

A estrutura chama essa função de membro quando o usuário pressiona uma tecla quente em todo o sistema.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

Parâmetros

nHotKeyId
[in] Identificador da chave de acesso que gerou a mensagem. Se a mensagem tiver sido gerada por uma chave de acesso definida pelo sistema, esse parâmetro será um dos seguintes valores:

  • IDHOT_SNAPDESKTOP - A tecla de acesso da área de trabalho de ajuste foi pressionada.
  • IDHOT_SNAPWINDOW - A tecla de acesso da janela de ajuste foi pressionada.

nKey1
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam as teclas que foram pressionadas em combinação com a tecla especificada pelo nKey2 parâmetro. Os valores possíveis são:

  • MOD_ALT - Qualquer chave ALT foi mantida pressionada.
  • MOD_CONTROL - Qualquer chave CTRL foi mantida pressionada.
  • MOD_SHIFT - Qualquer chave SHIFT foi mantida pressionada.
  • MOD_WIN - Qualquer chave do WINDOWS foi mantida pressionada. Essas chaves são rotuladas com o logotipo do Microsoft Windows.

nKey2
[in] O código de chave virtual da chave de acesso.

Comentários

Esse método recebe a WM_HOTKEY notificação, que é descrita no SDK do Windows. Essa mensagem é colocada na parte superior da fila de mensagens associada ao thread que registrou a chave de acesso. Use a RegisterHotKey função para registrar uma chave de acesso em todo o sistema.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnHScroll

A estrutura chama essa função de membro quando o usuário clica na barra de rolagem horizontal de uma janela.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parâmetros

nSBCode
Especifica um código de barra de rolagem que indica a solicitação de rolagem do usuário. Esse parâmetro pode ser um dos seguintes:

  • SB_LEFT Role para a esquerda.

  • SB_ENDSCROLL Rolagem final.

  • SB_LINELEFT Role para a esquerda.

  • SB_LINERIGHT Role para a direita.

  • SB_PAGELEFT Role uma página para a esquerda.

  • SB_PAGERIGHT Role uma página para a direita.

  • SB_RIGHT Role para a direita.

  • SB_THUMBPOSITION Role até a posição absoluta. A posição atual é especificada pelo nPos parâmetro.

  • SB_THUMBTRACK Arraste a caixa de rolagem para a posição especificada. A posição atual é especificada pelo nPos parâmetro.

nPos
Especifica a posição da caixa de rolagem se o código da barra de rolagem for SB_THUMBPOSITION ou SB_THUMBTRACK; caso contrário, não será usado. Dependendo do intervalo de rolagem inicial, nPos pode ser negativo e deve ser convertido em um int , se necessário.

pScrollBar
Se a mensagem de rolagem veio de um controle de barra de rolagem, contém um ponteiro para o controle. Se o usuário clicou na barra de rolagem de uma janela, esse parâmetro será NULL. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

O SB_THUMBTRACK código da barra de rolagem normalmente é usado por aplicativos que fornecem alguns comentários enquanto a caixa de rolagem está sendo arrastada.

Se um aplicativo rolar o conteúdo controlado pela barra de rolagem, ele também deverá redefinir a posição da caixa de rolagem com a SetScrollPos função de membro.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

Exemplo

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 proprietário da OnHScrollClipboard Á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 rolagem horizontal do visualizador da Área de Transferência.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parâmetros

pClipAppWnd
Especifica um ponteiro para uma janela de visualizador de área de transferência. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

nSBCode
Especifica um dos seguintes códigos de barra de rolagem na palavra de baixa ordem:

  • SB_BOTTOM Role para o canto inferior direito.

  • SB_ENDSCROLL Rolagem final.

  • SB_LINEDOWN Role uma linha para baixo.

  • SB_LINEUP Role uma linha para cima.

  • SB_PAGEDOWN Role uma página para baixo.

  • SB_PAGEUP Role uma página para cima.

  • SB_THUMBPOSITION Role até a posição absoluta. A posição atual é fornecida em nPos.

  • SB_TOP Role para o canto superior esquerdo.

nPos
Contém a posição da caixa de rolagem se o código da barra de rolagem for ; caso contrário, não será SB_THUMBPOSITIONusado.

Comentários

O proprietário deve rolar a imagem da Área de Transferência, invalidar a seção apropriada e atualizar os valores da barra de rolagem.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnIconEraseBkgnd

A estrutura chama essa função de membro para um objeto minimizado (icônico) CWnd quando a tela de fundo do ícone deve ser preenchida antes de pintar o ícone.

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 armazenado para uso posterior.

Comentários

CWnd recebe essa chamada somente 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 a tela de fundo do ícone com o pincel de fundo da janela pai.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnInitMenu

A estrutura chama essa função de membro quando um menu está prestes a ficar ativo.

afx_msg void OnInitMenu(CMenu* pMenu);

Parâmetros

pMenu
Especifica o menu a ser inicializado. Pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

OnInitMenu é chamado quando o usuário clica em um item na barra de menus ou pressiona uma tecla de menu. Substitua essa função de membro para modificar o menu antes de ser exibido.

OnInitMenu é chamado apenas uma vez, quando um menu é acessado pela primeira vez (por exemplo, quando um usuário clica em um item na barra de menus). Esse método não fornece informações sobre itens de menu. À medida que o usuário se move para itens dentro do menu (por exemplo, movendo o mouse em vários itens de menu), a função não é chamada novamente. Depois que o usuário sair do menu (por exemplo, clicando na área do cliente do aplicativo) e depois clicar em um item na barra de menus, a função será chamada novamente.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnInitMenuPopup

A estrutura chama essa função de membro quando um menu pop-up está prestes a ficar ativo.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

Parâmetros

pPopupMenu
Especifica o objeto de menu do menu pop-up. Pode ser temporário e não deve ser armazenado para uso posterior.

nIndex
Especifica o índice do menu pop-up no menu principal.

bSysMenu
TRUE se o menu pop-up for o menu Controle; caso contrário FALSE.

Comentários

Isso permite que um aplicativo modifique o menu pop-up antes de ser exibido sem alterar o menu inteiro.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnInputDeviceChange

A estrutura chama essa função de membro quando um dispositivo de E/S é adicionado ou removido do sistema.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

Parâmetros

uFlag
[in] Esse sinalizador pode conter os seguintes valores:

  • GIDC_ARRIVAL - Um novo dispositivo foi adicionado ao sistema.
  • GIDC_REMOVAL - Um dispositivo foi removido do sistema.

Comentários

Esse método recebe a WM_INPUT_DEVICE_CHANGE notificação, que é descrita no SDK do Windows. É uma mensagem de dispositivo de entrada genérica.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnInputLangChange

A estrutura chama esse membro para a janela mais afetada após a alteração do idioma de entrada de um aplicativo.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

Parâmetros

nCharSet
[in] O conjunto de caracteres da nova localidade. Para obter mais informações, consulte o lfCharSet parâmetro da LOGFONT estrutura.

nLocaleId
[in] O identificador de localidade de entrada. Para obter mais informações, consulte Constantes e cadeias de caracteres do Identificador de Idioma.

Comentários

Esse método recebe a WM_INPUTLANGCHANGE mensagem de notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnInputLangChangeRequest

A estrutura chama esse membro para janela com o foco quando o usuário escolhe um novo idioma de entrada.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

Parâmetros

nFlags
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam que a nova localidade foi selecionada na localidade anterior ou próxima na lista instalada de localidades ou que o layout do teclado da nova localidade 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
[in] O identificador de localidade de entrada. Para obter mais informações, consulte Constantes e cadeias de caracteres do Identificador de Idioma.

Comentários

Esse método recebe a WM_INPUTLANGCHANGEREQUEST mensagem de notificação, que é descrita no SDK do Windows. Essa mensagem é postada quando o usuário escolhe uma nova linguagem de entrada com uma chave de acesso especificada no aplicativo do painel de controle de teclado ou no indicador na barra de tarefas do sistema.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnKeyDown

A estrutura chama essa função de membro quando uma tecla não sistema é pressionada.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de chave virtual da chave fornecida. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

nRepCnt
Contagem de repetição (o número de vezes que o pressionamento de tecla é repetido como resultado do usuário segurando a chave).

nFlags
Especifica o código de verificação, o código de transição de chave, o estado da chave anterior e o código de contexto, conforme mostrado na lista a seguir:

Valor Descrição
0-7 Código de verificação (valor dependente de OEM).
8 Chave estendida, como uma chave de função ou uma chave no teclado numérico (1 se for uma chave estendida).
9-10 Não usado.
11-12 Usado internamente por Windows.
13 Código de contexto (1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada; caso contrário, 0).
14 Estado de chave anterior (1 se a chave estiver inativa antes da chamada, 0 se a chave estiver ativada).
15 Estado de transição (1 se a tecla estiver sendo liberada, 0 se a tecla estiver sendo 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.

Comentários

Uma tecla não sistema é uma tecla de teclado pressionada quando a tecla ALT não é pressionada ou uma tecla de teclado pressionada quando CWnd tem o foco de entrada.

Devido à repetição automática, mais de uma OnKeyDown chamada pode ocorrer antes de uma OnKeyUp chamada de função membro ser feita. O bit que indica o estado de chave anterior pode ser usado para determinar se a OnKeyDown chamada é a primeira transição para baixo ou uma transição repetida para baixo.

Para teclados ibm avançados de 101 e 102 teclas, as teclas aprimoradas são a ALT certa e as teclas CTRL corretas na seção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e seta nos clusters à esquerda do teclado numérico; e as teclas barra (/) e ENTER no teclado numérico. Alguns outros teclados podem dar suporte ao bit de tecla estendida em nFlags.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnKeyUp

A estrutura chama essa função de membro quando uma chave não sistema é liberada.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de chave virtual da chave fornecida. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

nRepCnt
Contagem de repetição (o número de vezes que o pressionamento de tecla é repetido como resultado do usuário segurando a chave).

nFlags
Especifica o código de verificação, o código de transição de chave, o estado da chave anterior e o código de contexto, conforme mostrado na lista a seguir:

Valor Descrição
0-7 Código de verificação (valor dependente de OEM). Baixo byte de palavra de alta ordem.
8 Chave estendida, como uma chave de função ou uma chave no teclado numérico (1 se for uma chave estendida; caso contrário, 0).
9-10 Não usado.
11-12 Usado internamente por Windows.
13 Código de contexto (1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada; caso contrário, 0).
14 Estado de chave anterior (1 se a chave estiver inativa antes da chamada, 0 se a chave estiver ativada).
15 Estado de transição (1 se a tecla estiver sendo liberada, 0 se a tecla estiver sendo 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.

Comentários

Uma tecla não sistema é uma tecla de teclado pressionada quando a tecla ALT não é pressionada ou uma tecla de teclado pressionada quando o CWnd foco de entrada é pressionado.

Para teclados ibm avançados de 101 e 102 teclas, as teclas aprimoradas são a ALT certa e as teclas CTRL corretas na seção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e seta nos clusters à esquerda do teclado numérico; e as teclas barra (/) e ENTER no teclado numérico. Alguns outros teclados podem dar suporte ao bit de tecla estendida em nFlags.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnKillFocus

A estrutura chama essa função de 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).

Comentários

Se o CWnd objeto estiver exibindo um careta, o careta deverá ser destruído neste momento.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnLButtonDblClk

A estrutura chama essa função de membro quando o usuário clica duas vezes no botão esquerdo do mouse.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio estiver inativo.

  • MK_RBUTTON Defina se o botão direito do mouse estiver inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Somente janelas que têm o CS_DBLCLKSWNDCLASS estilo receberão OnLButtonDblClk chamadas. Esse é o padrão para janelas de classe do Microsoft Foundation. Windows chamadas OnLButtonDblClk quando o usuário pressiona, libera e pressiona o botão esquerdo do mouse novamente dentro do limite de tempo de clique duplo do sistema. Clicar duas vezes no botão esquerdo do mouse gera quatro eventos: WM_LBUTTONDOWNWM_LBUTTONUP mensagens, chamada WM_LBUTTONDBLCLK e outra WM_LBUTTONUP mensagem quando o botão é liberado.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnLButtonDown

A estrutura chama essa função de membro quando o usuário pressiona o botão esquerdo do mouse.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio estiver inativo.

  • MK_RBUTTON Defina se o botão direito do mouse estiver inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnLButtonUp

A estrutura chama essa função de membro quando o usuário libera o botão esquerdo do mouse.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_MBUTTON Defina se o botão do mouse do meio estiver inativo.

  • MK_RBUTTON Defina se o botão direito do mouse estiver inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMButtonDblClk

A estrutura chama essa função de membro quando o usuário clica duas vezes no botão do mouse do meio.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio estiver inativo.

  • MK_RBUTTON Defina se o botão direito do mouse estiver inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Somente janelas que têm o CS_DBLCLKSWNDCLASS estilo receberão OnMButtonDblClk chamadas. Esse é o padrão para todas as janelas de classe do Microsoft Foundation. Windows gera uma OnMButtonDblClk chamada quando o usuário pressiona, libera e pressiona o botão do mouse do meio novamente dentro do limite de tempo de clique duplo do sistema. Clicar duas vezes no botão do mouse do meio gera quatro eventos: WM_MBUTTONDOWN e WM_MBUTTONUP mensagens, a WM_MBUTTONDBLCLK chamada e outra WM_MBUTTONUP mensagem.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMButtonDown

A estrutura chama essa função de membro quando o usuário pressiona o botão do mouse do meio.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio estiver inativo.

  • MK_RBUTTON Defina se o botão direito do mouse estiver inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMButtonUp

A estrutura chama essa função de membro quando o usuário libera o botão do mouse do meio.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_RBUTTON Defina se o botão direito do mouse está inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMDIActivate

A estrutura chama essa função de membro para a janela filho que está sendo desativada e a janela filho sendo ativada.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

Parâmetros

bActivate
TRUE se a criança estiver sendo ativada e FALSE se estiver sendo desativada.

pActivateWnd
Contém um ponteiro para a janela filho do MDI a ser ativada. Quando recebido por uma janela filho MDI, pActivateWnd contém um ponteiro para a janela filho que está sendo ativada. Esse ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

pDeactivateWnd
Contém um ponteiro para a janela filho do MDI que está sendo desativada. Esse ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

Uma janela filho MDI é ativada independentemente da janela de quadro MDI. Quando o quadro se torna ativo, a janela filho que foi ativada pela última vez com uma OnMDIActivate chamada recebe uma WM_NCACTIVATE mensagem para desenhar um quadro de janela ativo e uma barra de legendas, mas não recebe outra OnMDIActivate chamada.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMeasureItem

A estrutura chama essa função de membro pela estrutura para o proprietário de um botão de desenho do proprietário, caixa de combinação, caixa de listagem ou item de menu quando o controle é 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 controle owner-draw.

Comentários

Substitua essa função de membro e preencha a MEASUREITEMSTRUCT estrutura de dados apontada por lpMeasureItemStruct e retorne; isso informa Windows das dimensões do controle e permite que Windows processem a interação do usuário com o controle corretamente.

Se uma caixa de listagem ou caixa de combinação for criada com o estilo ou CBS_OWNERDRAWVARIABLE o LBS_OWNERDRAWVARIABLE estilo, a estrutura chamará essa função para o proprietário de cada item no controle; caso contrário, essa função será chamada uma vez.

Windows inicia a chamada para OnMeasureItem o proprietário de caixas de combinação e caixas de listagem criadas com o OWNERDRAWFIXED estilo antes de enviar a WM_INITDIALOG mensagem. Como resultado, quando o proprietário recebe essa chamada, Windows ainda não determinou a altura e a largura da fonte usada no controle; chamadas de função e cálculos que exigem esses valores devem ocorrer na função principal do aplicativo ou biblioteca.

Se o item que está sendo medido for um objeto ou um CMenuobjetoCListBox, a MeasureItem função virtual da classe CComboBox apropriada será chamada. Substitua a MeasureItem função membro da classe do controle apropriado para calcular e definir o tamanho de cada item.

OnMeasureItemserá chamado somente se a classe do controle for criada em tempo de execução ou for criada com o estilo ou CBS_OWNERDRAWVARIABLE o LBS_OWNERDRAWVARIABLE estilo. Se o controle for criado pelo editor de diálogo, OnMeasureItem não será chamado. Isso ocorre porque a WM_MEASUREITEM mensagem é enviada no início do processo de criação do controle. Se você subclasse usando DDX_Control, SubclassDlgItemou SubclassWindow, a subclasse geralmente ocorre após o processo de criação. Portanto, não há como lidar com a WM_MEASUREITEM mensagem na função do OnChildNotify controle, que é o mecanismo que o MFC usa para implementar ON_WM_MEASUREITEM_REFLECT.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMenuChar

A estrutura chama essa função de membro quando o usuário pressiona um caractere mnemônico de 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 configurações de build, especifica o caractere ANSI ou Unicode que o usuário pressionou.

nFlags
Contém o MF_POPUP sinalizador se o menu for um menu pop-up. Ele conterá o MF_SYSMENU sinalizador se o menu for um menu controle.

pMenu
Contém um ponteiro para o selecionado CMenu. O ponteiro pode ser temporário e não deve ser armazenado.

Valor de retorno

A palavra de alta ordem do valor retornado deve conter um dos seguintes códigos de comando:

Valor Descrição
0 Informa Windows descartar o caractere que o usuário pressionou e cria um bipe curto no alto-falante do sistema.
1 Informa Windows fechar o menu atual.
2 Informa Windows que a palavra de baixa ordem do valor retornado contém o número do item para um item específico. Este item é selecionado por Windows.

A palavra de baixa ordem será ignorada se a palavra de alta ordem contiver 0 ou 1. Os aplicativos devem processar essa mensagem quando chaves de acelerador (atalho) são usadas para selecionar bitmaps colocados em um menu.

Comentários

Ele é enviado para o CWnd proprietário do menu. OnMenuChar também é chamado quando o usuário pressiona ALT e qualquer outra tecla, mesmo que a tecla não corresponda a um caractere mnemônico. Nesse caso, pMenu aponta para o menu de propriedade do CWnd, e nFlags é 0.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMenuDrag

A estrutura chama essa função membro do menu de arrastar e soltar atual quando o usuário começa a arrastar um item de menu.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

Parâmetros

nPos
[in] A posição do índice do item de menu quando a operação de arrastar começa.

pMenu
[in] Ponteiro para o CMenu objeto que contém o item de menu.

Valor Retornado

Valor Retornado Significado
MND_CONTINUE O menu deve permanecer ativo. Se o mouse for liberado, ele deverá ser ignorado.
MND_ENDMENU O menu deve ser encerrado.

Comentários

Esse método recebe a WM_MENUDRAG notificação, que é descrita no SDK Windows.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMenuGetObject

A estrutura chama essa função membro do menu de arrastar e soltar atual quando o cursor do mouse insere um item de menu ou se move do centro do item para a parte superior ou inferior do item.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

Parâmetros

pMenu
[in] Ponteiro para uma MENUGETOBJECTINFO estrutura que contém informações sobre o menu arrastar e soltar em que o cursor do mouse está ativado.

Valor Retornado

Valor Retornado Significado
MNGO_NOERROR Um ponteiro de interface que dá suporte a operações de drop-and-drag é retornado no pvObj membro da MENUGETOBJECTINFO estrutura. Atualmente, há suporte apenas para a IDropTarget interface.
MNGO_NOINTERFACE Não há suporte para nenhuma interface drop-and-drag.

Comentários

Esse método recebe a WM_MENUGETOBJECT notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMenuRButtonUp

A estrutura chama essa função de membro quando o usuário libera o botão direito do mouse enquanto o cursor está em um item de menu.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

Parâmetros

nPos
[in] A posição do índice do item de menu quando o botão direito do mouse foi liberado.

pMenu
[in] Ponteiro para o CMenu objeto que contém o item de menu.

Comentários

Esse método recebe a WM_MENURBUTTONUP notificação, que é descrita no SDK do Windows. A WM_MENURBUTTONUP mensagem permite que um aplicativo forneça um menu com diferenciação de contexto para o item de menu especificado na mensagem.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMenuSelect

Se o CWnd objeto estiver associado a um menu, OnMenuSelect será chamado pela estrutura quando o usuário seleciona um item de 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 de menu, nItemID conterá a ID do item de menu. Se o item selecionado contiver um menu pop-up, nItemID conterá o índice de menu pop-up e hSysMenu conterá o identificador do menu principal (clicado).

nFlags
Contém uma combinação dos seguintes sinalizadores de menu:

  • MF_BITMAP O item é um bitmap.

  • MF_CHECKED O item está marcado.

  • MF_DISABLED O item está desabilitado.

  • MF_GRAYED O item está esmaecido.

  • MF_MOUSESELECT O item foi selecionado com um mouse.

  • MF_OWNERDRAW O item é um item de desenho do proprietário.

  • MF_POPUP O item contém um menu pop-up.

  • MF_SEPARATOR O item é um separador de item de menu.

  • MF_SYSMENU O item está contido no menu Controle.

hSysMenu
Se nFlags contiver MF_SYSMENU, identificará o menu associado à mensagem. Se nFlags contiver MF_POPUP, identificará o identificador do menu principal. Se nFlags não contiver nem MF_SYSMENUMF_POPUP, ele não será utilizado.

Comentários

Se nFlags contiver 0xFFFF e hSysMenu contiver 0, Windows fechou o menu porque o usuário pressionou a tecla ESC ou clicou fora do menu.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMouseActivate

A estrutura chama essa função de membro quando o cursor está em uma janela inativa e o usuário pressiona um botão do mouse.

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 armazenado.

nHitTest
Especifica o código da área de teste de ocorrência . Um teste de ocorrência é um teste que determina o local do cursor.

message
Especifica o número da mensagem do mouse.

Valor de retorno

Especifica se o CWnd evento do mouse deve ser ativado e se deve ser descartado. Ele deve ser um dos seguintes valores:

  • MA_ACTIVATE Ativar CWnd objeto.

  • MA_NOACTIVATE Não ativar CWnd objeto.

  • MA_ACTIVATEANDEAT Ative o CWnd objeto e descarte o evento do mouse.

  • MA_NOACTIVATEANDEAT Não ative o CWnd objeto e descarte o evento do mouse.

Comentários

A implementação padrão passa essa mensagem para a janela pai antes de qualquer processamento ocorrer. Se a janela pai retornar TRUE, o processamento será interrompido.

Para obter uma descrição dos códigos de área de teste de ocorrência individuais, consulte a OnNcHitTest função de membro

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

Exemplo

// 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

A estrutura chama essa função de membro quando o cursor passa o mouse sobre a área do cliente da janela pelo período de tempo especificado em uma chamada anterior para TrackMouseEvent.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam quais teclas modificadoras são pressionadas. Por exemplo, o MK_CONTROL sinalizador indica que a tecla CTRL é pressionada.

point
[in] Um CPoint objeto que especifica o x cursor e y as coordenadas do cursor em relação ao canto superior esquerdo da área do cliente.

Comentários

Esse 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 a seguir. Para obter mais informações, consulte Sobre a entrada do mouse.

Chave modificadora Descrição
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do mouse foi pressionado.
MK_MBUTTON O botão do meio do mouse é pressionado.
MK_RBUTTON O botão direito do mouse é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do mouse do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do mouse do Microsoft IntelliMouse é pressionado.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMouseHWheel

A estrutura chama esse membro quando a roda de rolagem horizontal do mouse é inclinada ou girada.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

Parâmetros

nFlags
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam quais teclas modificadoras são pressionadas. Por exemplo, o MK_CONTROL sinalizador indica que a tecla CTRL é pressionada. Para obter uma lista de sinalizadores, consulte o subtítulo "Parâmetros de Mensagem" na entrada sobre o mouse.

zDelta
[in] Indica a distância em que a roda é girada, expressa em múltiplos ou divisões de WHEEL_DELTA, que é 120. Um valor positivo indica que a roda foi girada para a direita; um valor negativo indica que a roda foi girada para a esquerda.

pt
[in] Um CPoint objeto que especifica as coordenadas e y o x cursor relativos ao canto superior esquerdo da área do cliente.

Comentários

Esse método recebe a WM_MOUSEHWHEEL mensagem de notificação, que é descrita no SDK Windows. Essa mensagem é enviada para a janela que tem o foco quando a roda de rolagem horizontal do mouse é inclinada ou girada.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMouseLeave

A estrutura chama essa função de membro quando o cursor deixa a área do cliente da janela especificada em uma chamada anterior para TrackMouseEvent.

afx_msg void OnMouseLeave();

Comentários

Esse método recebe a WM_MOUSELEAVE notificação, que é descrita no SDK Windows.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMouseMove

A estrutura chama essa função de membro quando o cursor do mouse se move.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio está inativo.

  • MK_RBUTTON Defina se o botão direito do mouse está inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Se o mouse não for capturado, a WM_MOUSEMOVE mensagem será recebida pelo CWnd objeto abaixo do cursor do mouse; caso contrário, a mensagem irá para a janela que capturou o mouse.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMouseWheel

A estrutura chama essa função de membro quando um usuário gira a roda do mouse 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. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio está inativo.

  • MK_RBUTTON Defina se o botão direito do mouse está inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

zDelta
Indica a distância girada. O zDelta valor é expresso em múltiplos ou divisões de WHEEL_DELTA, que é 120. Um valor menor que zero indica a rotação para trás (em direção ao usuário), enquanto um valor maior que zero indica a rotação para a frente (longe do usuário). O usuário pode reverter essa resposta alterando a configuração roda no software do mouse. Consulte as Observações para obter mais informações sobre esse parâmetro.

pt
Especifica a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Valor de retorno

Não zero se a rolagem da roda do mouse estiver habilitada; caso contrário, 0.

Comentários

A menos que substituído, OnMouseWheel chama o padrão de WM_MOUSEWHEEL. Windows roteia automaticamente a mensagem para o controle ou a janela filho que tem o foco. A função DefWindowProc Win32 propaga a mensagem até a cadeia pai para a janela que a processa.

O zDelta parâmetro é um múltiplo, WHEEL_DELTAque é definido como 120. Esse valor é o limite para uma ação a ser executada e uma dessas ações (por exemplo, rolando para frente um entalhe) deve ocorrer para cada delta.

WHEEL_DELTA foi definido como 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, adicione os valores de entrada zDelta até WHEEL_DELTA que seja atingido (para que você obtenha a mesma resposta para uma determinada rotação delta) ou role linhas parciais em resposta às mensagens mais frequentes. Você também pode escolher uma granularidade de rolagem e acumular deltas até WHEEL_DELTA ser atingido.

Substitua essa função de membro para fornecer seu próprio comportamento de rolagem da roda do mouse.

Observação

OnMouseWheelmanipula mensagens para Windows NT 4.0 e versões posteriores. Para Windows tratamento de mensagens 95/98 ou Windows NT 3.51, use OnRegisteredMouseWheel.

CWnd::OnMove

A estrutura chama essa função de membro depois que o CWnd objeto é movido.

afx_msg void OnMove(
    int x,
    int y);

Parâmetros

x
Especifica o novo local de coordenada x do canto superior esquerdo da área do cliente. Esse novo local é dado em coordenadas de tela para janelas pop-up e sobrepostas e coordenadas pai-cliente para janelas filho.

y
Especifica o novo local de coordenadas y do canto superior esquerdo da área do cliente. Esse novo local é dado em coordenadas de tela para janelas pop-up e sobrepostas e coordenadas pai-cliente para janelas filho.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnMoving

A estrutura chama essa função de membro enquanto um usuário está movendo 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 estrutura ou RECT que CRect conterá as coordenadas do item.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcActivate

A estrutura chama essa função de membro quando a área nãocliente precisa 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 ser alterado para indicar um estado ativo ou inativo. O bActive parâmetro será TRUE se uma legenda ou ícone ativo deve ser desenhado. É FALSE para uma legenda ou ícone inativo.

Valor de retorno

Não zero se Windows deve continuar com o processamento padrão; 0 para impedir que a barra de legenda ou ícone seja desativado.

Comentários

A implementação padrão desenha a barra de título e o texto da barra de título em suas cores ativas, se bActive estiver TRUE e em suas cores inativas, se bActive for FALSE.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcCalcSize

A estrutura chama essa função de membro quando o tamanho e a posição da área do cliente precisam ser calculados.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

Parâmetros

bCalcValidRects
Especifica se o aplicativo deve especificar qual parte da área do cliente contém informações válidas. Windows copiará as informações válidas para a área especificada dentro da nova área do cliente. Se esse parâmetro for TRUE, o aplicativo deverá especificar qual parte da área do cliente é válida.

lpncsp
Aponta para uma NCCALCSIZE_PARAMS estrutura de dados que contém informações que um aplicativo pode usar para calcular o novo tamanho e a posição do CWnd retângulo (incluindo área do cliente, bordas, legenda, barras de rolagem e assim por diante).

Comentários

Ao processar essa mensagem, um aplicativo pode controlar o conteúdo da área do cliente da janela quando o tamanho ou a posição da janela for alterado.

Independentemente do valor de bCalcValidRects, o primeiro retângulo na matriz especificada pelo rgrc membro da estrutura contém NCCALCSIZE_PARAMS as coordenadas da janela. Para uma janela filho, as coordenadas são relativas à área de cliente da janela pai. Para janelas de nível superior, as coordenadas são coordenadas de tela. Um aplicativo 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 somente se bCalcValidRects for TRUE. Nesse caso, o rgrc[1] retângulo contém as coordenadas da janela antes de ser movido ou redimensionado. O rgrc[2] retângulo contém as coordenadas da área de cliente da janela antes da janela ser movida. Todas as coordenadas são relativas à janela ou tela pai.

A implementação padrão calcula o tamanho da área do cliente com base nas características da janela (presença de barras de rolagem, menu e assim por diante) e coloca o resultado em lpncsp.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcCreate

A estrutura chama essa função de 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 estrutura de CREATESTRUCT dados para CWnd.

Valor de retorno

Não zero se a área nãocliente for criada. Será 0 se ocorrer um erro; a Create função retornará failure nesse caso.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcDestroy

Chamada pela estrutura quando a área nãocliente está sendo destruída e é a última função membro chamada quando a janela Windows é destruída.

afx_msg void OnNcDestroy();

Comentários

A implementação padrão executa alguma limpeza e chama a função PostNcDestroyde membro virtual.

Substitua PostNcDestroy se você quiser executar sua própria limpeza, como uma delete this operação. Se você substituir OnNcDestroy, deverá chamar OnNcDestroy sua classe base para garantir que qualquer memória alocada internamente para a janela seja liberada.

CWnd::OnNcHitTest

A estrutura chama essa função de membro para o CWnd objeto que contém o cursor (ou o CWnd objeto que usou a SetCapture função membro para capturar a entrada do mouse) sempre que o mouse é movido.

afx_msg LRESULT OnNcHitTest(CPoint point);

Parâmetros

point
Contém as coordenadas x e y do cursor. Essas coordenadas são sempre coordenadas de tela.

Valor de retorno

Um dos valores enumerados do mouse hit-test. Consulte WM_NCHITTEST a lista de valores.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcLButtonDblClk

A estrutura chama essa função de membro quando o usuário clica duas vezes no botão esquerdo do mouse enquanto o cursor está dentro de uma área nãocliente de CWnd.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor. Consulte WM_NCHITTEST a lista de valores.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Se apropriado, a WM_SYSCOMMAND mensagem é enviada.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcLButtonDown

A estrutura chama essa função de membro quando o usuário pressiona o botão esquerdo do mouse enquanto o cursor está dentro de uma área nãocliente do CWnd objeto.

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor. Consulte WM_NCHITTEST a lista de valores.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Se apropriado, o WM_SYSCOMMAND é enviado.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcLButtonUp

A estrutura chama essa função de membro quando o usuário libera o botão esquerdo do mouse enquanto o cursor está dentro de uma área nãocliente.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor. Consulte WM_NCHITTEST a lista de valores.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Se apropriado, WM_SYSCOMMAND é enviado.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcMButtonDblClk

A estrutura chama essa função de membro quando o usuário clica duas vezes no botão do mouse do meio enquanto o cursor está dentro de uma área nãocliente.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcMButtonDown

A estrutura chama essa função de membro quando o usuário pressiona o botão do mouse do meio enquanto o cursor está dentro de uma área nãocliente.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcMButtonUp

A estrutura chama essa função de membro quando o usuário libera o botão do mouse do meio enquanto o cursor está dentro de uma área nãocliente.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcMouseHover

A estrutura chama essa função de membro quando o cursor passa o mouse sobre a área nãocliente da janela pelo período de tempo especificado em uma chamada anterior para TrackMouseEvent.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
[in] O valor de teste de ocorrência retornado pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

point
[in] Um CPoint objeto que especifica as coordenadas x e y do cursor em relação ao canto superior esquerdo da tela.

Comentários

Esse método recebe a WM_NCMOUSEHOVER notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcMouseLeave

A estrutura chama essa função de membro quando o cursor deixa a área nãocliente da janela especificada em uma chamada anterior para TrackMouseEvent.

afx_msg void OnNcMouseLeave();

Comentários

Esse método recebe a WM_NCMOUSELEAVE notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcMouseMove

A estrutura chama essa função de membro quando o cursor é movido dentro de uma área nãocliente.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Se apropriado, a WM_SYSCOMMAND mensagem é enviada.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcPaint

A estrutura chama essa função de membro quando a área nãocliente precisa ser pintada.

afx_msg void OnNcPaint();

Comentários

A implementação padrão pinta o quadro da janela.

Um aplicativo pode substituir essa chamada e pintar seu próprio quadro de janela personalizado. A região de recorte é sempre retangular, mesmo que a forma do quadro seja alterada.

CWnd::OnNcRButtonDblClk

A estrutura chama essa função de membro quando o usuário clica duas vezes no botão direito do mouse enquanto o cursor está dentro de uma área nãocliente de CWnd.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcRButtonDown

A estrutura chama essa função de membro quando o usuário pressiona o botão direito do mouse enquanto o cursor está dentro de uma área nãocliente.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcRButtonUp

A estrutura chama essa função de membro quando o usuário libera o botão direito do mouse enquanto o cursor está dentro de uma área nãocliente.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

Parâmetros

nHitTest
Especifica o código de teste de ocorrência. Um teste de ocorrência é um teste que determina o local do cursor.

point
Especifica um CPoint objeto que contém as coordenadas de tela x e y da posição do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da tela.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcRenderingChanged

A estrutura chama esse membro quando a política de renderização para a área nãocliente foi alterada.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

Parâmetros

bIsRendering
[in] TRUE se a renderização do DWM (Gerenciador de Janelas da Área de Trabalho) estiver habilitada para a área nãocliente da janela; FALSE se a renderização estiver desabilitada.

Comentários

Esse método recebe a WM_DWMNCRENDERINGCHANGED notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcXButtonDblClk

A estrutura chama essa função de membro quando o usuário clica XBUTTON1 duas vezes ou XBUTTON2 enquanto o cursor está na área nãocliente de uma janela.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parâmetros

nHitTest
[in] O valor de teste de ocorrência retornado pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

nButton
[in] Um valor de XBUTTON1 se o primeiro botão Microsoft Intellimouse X for clicado duas vezes ou XBUTTON2 se o segundo botão X for clicado duas vezes.

point
[in] Um CPoint objeto que especifica o x cursor e y as coordenadas do cursor em relação ao canto superior esquerdo da área do cliente.

Comentários

Esse método recebe a WM_XBUTTONDBLCLK notificação, que é descrita no SDK Windows. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcXButtonDown

A estrutura chama essa função de membro quando o usuário pressiona XBUTTON1 ou XBUTTON2 do mouse enquanto o cursor está na área nãocliente de uma janela.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parâmetros

nHitTest
[in] O valor de teste de ocorrência retornado pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

nButton
[in] Um valor de XBUTTON1 se o primeiro botão X do mouse estiver pressionado ou XBUTTON2 se o segundo botão X estiver pressionado.

point
[in] Um CPoint objeto que especifica as coordenadas e y o x cursor em relação ao canto superior esquerdo da tela.

Comentários

Esse método recebe a WM_NCXBUTTONDOWN notificação, que é descrita no SDK Windows. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNcXButtonUp

A estrutura chama essa função de membro quando o usuário libera XBUTTON1 ou XBUTTON2 do mouse enquanto o cursor está na área nãocliente de uma janela.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

Parâmetros

nHitTest
[in] O valor de teste de ocorrência retornado pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.

nButton
[in] Um valor de XBUTTON1 se o primeiro botão X do mouse for liberado ou XBUTTON2 se o segundo botão X for liberado.

point
[in] Um CPoint objeto que especifica as coordenadas x e y do cursor em relação ao canto superior esquerdo da tela.

Comentários

Esse método recebe a WM_NCXBUTTONUP notificação, que é descrita no SDK Windows. Esta mensagem é postada na janela que contém o cursor. Se uma janela tiver capturado o mouse, essa mensagem não será postada.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNextMenu

A estrutura chama essa função de membro quando a tecla de seta para a direita ou esquerda é usada para alternar entre a barra de menus e o menu do sistema.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

Parâmetros

nKey
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam quais teclas modificadoras são pressionadas. Por exemplo, o MK_CONTROL sinalizador indica que a tecla CTRL está pressionada. Para obter uma lista de sinalizadores, consulte a subtítula "Parâmetros de Mensagem" na entrada sobre o mouse.

lpMdiNextMenu
[in] Ponteiro para uma MDINEXTMENU estrutura que contém informações sobre o menu a ser ativado.

Comentários

Esse método recebe a WM_UNINITMENUPOPUP notificação, que é descrita no SDK Windows. Em resposta a essa mensagem, seu aplicativo pode definir o hmenuNext membro da MDINEXTMENU estrutura para especificar o menu para o qual alternar e o hwndNext membro para especificar a janela para receber mensagens de notificação de menu.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnNotify

A estrutura chama essa função de membro para informar a janela pai de um controle de que um evento ocorreu no controle ou que o controle requer algum tipo de informação.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parâmetros

wParam
Identifica o controle que envia a mensagem se a mensagem for de um controle. Caso contrário, wParam será 0.

lParam
Ponteiro 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, esse parâmetro aponta para uma estrutura maior que tem a NMHDR estrutura como seu primeiro membro.

pResult
Ponteiro para uma LRESULT variável na qual armazenar o código de resultado se a mensagem for manipulada.

Valor de retorno

Um aplicativo retornará não zero se processar essa mensagem; caso contrário, 0.

Comentários

OnNotify processa o mapa de mensagens para notificação de controle.

Substitua essa função de membro em sua classe derivada para manipular a WM_NOTIFY mensagem. Uma substituição não processará o mapa de mensagens, a menos que a classe OnNotify base seja chamada.

Para obter mais informações sobre a WM_NOTIFY mensagem, consulte a Nota Técnica 61 (TN061) ON_NOTIFY e WM_NOTIFY as mensagens. Você também pode estar interessado nos tópicos relacionados descritos nos Tópicos de Controle e no TN062, Reflexão de Mensagens para controles de Windows.

CWnd::OnNotifyFormat

A estrutura chama essa função de 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
[in] Um ponteiro para um CWnd objeto que representa a janela que envia a WM_NOTIFY mensagem. Esse parâmetro é o ponteiro para um controle se o nCommand parâmetro for NF_QUERY, ou o ponteiro para a janela pai de um controle, se nCommand for NF_REQUERY.

nCommand
[in] Um valor de comando especializado na WM_NOTIFY mensagem. Os valores possíveis são:

  • NF_QUERY - A mensagem é uma consulta para determinar se as estruturas ANSI ou Unicode devem ser usadas em WM_NOTIFY mensagens. Essa mensagem é enviada de um controle para sua janela pai durante a criação de um controle e em resposta à NF_REQUERY forma dessa mensagem.
  • NF_REQUERY - A mensagem é uma solicitação para que um controle envie a NF_QUERY forma dessa mensagem para sua janela pai. Essa solicitação é enviada da janela pai e solicita ao controle para requerer o pai sobre o tipo de estrutura a ser usada nas WM_NOTIFY mensagens. Se o nCommand parâmetro for NF_REQUERY, o valor retornado será o resultado da operação requery.

Valor retornado

Valor retornado Significado
NFR_ANSI As estruturas ANSI devem ser usadas em WM_NOTIFY mensagens enviadas pelo controle.
NFR_UNICODE Estruturas Unicode devem ser usadas em WM_NOTIFY mensagens enviadas pelo controle.
0 Ocorreu um erro.

Comentários

Esse método recebe a WM_NOTIFYFORMAT notificação, que é descrita no SDK Windows. WM_NOTIFY as mensagens são enviadas de um controle comum para a janela pai e da janela pai para o controle comum.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnPaint

A estrutura chama essa função de membro quando Windows ou um aplicativo faz uma solicitação para repintar uma parte da janela de um aplicativo.

afx_msg void OnPaint();

Comentários

A WM_PAINT mensagem é enviada quando a UpdateWindow função ou RedrawWindow membro é chamada.

Uma janela pode receber mensagens de pintura internas como resultado da chamada da RedrawWindow função membro com o conjunto de RDW_INTERNALPAINT sinalizadores. Nesse caso, a janela pode não ter uma região de atualização. Um aplicativo deve chamar a GetUpdateRect função membro para determinar se a janela tem uma região de atualização. Se GetUpdateRect retornar 0, o aplicativo não deve chamar as funções e EndPaint membroBeginPaint.

É responsabilidade do aplicativo verificar se há qualquer repositório interno ou atualização necessário examinando suas estruturas de dados internas para cada WM_PAINT mensagem porque uma WM_PAINT mensagem pode ter sido causada por uma área inválida e uma chamada para a RedrawWindow função membro com o conjunto de RDW_INTERNALPAINT sinalizadores.

Uma mensagem interna WM_PAINT é enviada apenas uma vez por Windows. Depois que uma mensagem interna WM_PAINT for enviada para uma janela pela UpdateWindow função membro, nenhuma mensagem adicional WM_PAINT será enviada ou postada até que a janela seja invalidada ou até que a RedrawWindow função membro seja chamada novamente com o RDW_INTERNALPAINT sinalizador definido.

Para obter informações sobre como renderizar uma imagem em aplicativos de documento/exibição, consulte CView::OnDraw.

Para obter mais informações sobre como usarWM_Paint, consulte os seguintes tópicos no SDK do Windows:

CWnd::OnPaintClipboard

A função membro do proprietário de uma área de OnPaintClipboard transferência é chamada por um visualizador da Área de Transferência quando o proprietário da Área de Transferência coloca dados na Área de Transferência no CF_OWNERDISPLAY formato e a área de cliente do visualizador da Área de Transferência precisa ser repintada.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

Parâmetros

pClipAppWnd
Especifica um ponteiro para a janela área de transferência do aplicativo. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

hPaintStruct
Identifica uma PAINTSTRUCT estrutura de dados que define qual parte da área do cliente pintar.

Comentários

Para determinar se toda a área do cliente ou apenas uma parte dela precisa ser repintado, o proprietário da Área de Transferência deve comparar as dimensões da área de desenho fornecidas no rcpaint membro da PAINTSTRUCT estrutura com as dimensões fornecidas na chamada de função membro mais recente OnSizeClipboard .

OnPaintClipboarddeve 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 sair.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnPaletteChanged

A estrutura chama essa função de membro para todas as janelas de nível superior depois que a janela com foco de entrada percebeu 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 fez com que a paleta do sistema mudasse. O ponteiro pode ser temporário e não deve ser armazenado.

Comentários

Essa chamada permite uma janela sem o foco de entrada que usa uma paleta de cores para realizar suas paletas lógicas e atualizar sua área de cliente.

A OnPaletteChanged função membro é chamada para todas as janelas de nível superior e sobrepostas, incluindo a que alterou a paleta do sistema e fez com que a WM_PALETTECHANGED mensagem fosse enviada. Se qualquer janela filho usar uma paleta de cores, essa mensagem deverá ser transmitida a ela.

Para evitar um loop infinito, a janela não deve realizar sua paleta, a menos que determine que pFocusWnd não contém um ponteiro para si mesma.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnPaletteIsChanging

A estrutura chama essa função de membro para informar aos aplicativos que um aplicativo vai realizar sua paleta lógica.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

Parâmetros

pRealizeWnd
Especifica a janela que está prestes a realizar sua paleta lógica.

Comentários

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnParentNotify

A função de membro pai OnParentNotify é chamada pela estrutura quando sua janela filho é criada ou destruída, ou quando o usuário clica em um botão do mouse enquanto o cursor está sobre a janela filho.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

Parâmetros

message
Especifica o evento para o qual o pai está sendo notificado e o identificador da janela filho. O evento é a palavra de baixa ordem de message. Se o evento for WM_CREATE ou WM_DESTROY, a palavra de message alta ordem for o identificador da janela filho; caso contrário, a palavra de alta ordem será indefinida. O evento (palavra de baixa ordem) messagepode ser qualquer um desses valores:

  • WM_CREATE A janela filho está sendo criada.

  • WM_DESTROY A janela filho está sendo destruída.

  • WM_LBUTTONDOWN O usuário colocou o cursor do mouse sobre a janela filho e clicou no botão esquerdo do mouse.

  • WM_MBUTTONDOWN O usuário colocou o cursor do mouse sobre a janela filho e clicou no botão do mouse do meio.

  • WM_RBUTTONDOWN O usuário colocou o cursor do mouse sobre a janela filho e clicou no botão direito do mouse.

lParam
Se o evento (palavra de baixa ordem) message for WM_CREATE ou WM_DESTROY, lParam especificar o identificador de janela da janela filho; caso contrário lParam , conterá as coordenadas x e y do cursor. A coordenada x está na palavra de baixa ordem e a coordenada y está na palavra de alta ordem.

Comentários

Quando a janela filho está sendo criada, o sistema chama OnParentNotify pouco antes da Create função membro que cria a janela retornar. Quando a janela filho está sendo destruída, o sistema chama OnParentNotify antes que qualquer processamento ocorra para destruir a janela.

OnParentNotify é chamado para todas as janelas ancestrais da janela filho, incluindo a janela de nível superior.

Todas as janelas filho, exceto aquelas que têm o WS_EX_NOPARENTNOTIFY estilo, enviam essa mensagem para suas janelas pai. Por padrão, janelas filho em uma caixa de diálogo têm o WS_EX_NOPARENTNOTIFY estilo, a menos que a janela filho tenha sido criada sem esse estilo chamando a CreateEx função membro.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnPowerBroadcast

A estrutura chama essa função de membro quando ocorre um evento de gerenciamento de energia.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

Parâmetros

nPowerEvent
[in] O evento de gerenciamento de energia.

nEventData
[in] Dados específicos do evento.

Valor de retorno

Se o evento for uma solicitação, retorne TRUE para conceder a solicitação ou BROADCAST_QUERY_DENY negar a solicitação.

Comentários

Esse método recebe a WM_POWERBROADCAST mensagem, que é descrita no SDK Windows.

O nPowerEvent parâmetro especifica que eventos como a energia da bateria são baixos, o status de energia foi alterado, a permissão para suspender a operação é solicitada ou negada, uma operação é retomada automaticamente após um evento, o sistema está suspendendo a operação ou uma operação é retomada após a suspensão. O nEventData parâmetro normalmente não é usado. Para obter mais informações, consulte os parâmetros e lParam os wParam parâmetros da WM_POWERBROADCAST mensagem.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnQueryDragIcon

A estrutura chama essa função de membro por uma janela minimizada (icônica) que não tem um ícone definido para sua classe.

afx_msg HCURSOR OnQueryDragIcon();

Valor de retorno

Um valor de palavra dupla que contém um identificador de cursor ou ícone na palavra de baixa ordem. O cursor ou ícone deve ser compatível com a resolução do driver de exibição. Se o aplicativo retornar NULL, o sistema exibirá o cursor padrão. O valor de retorno padrão é NULL.

Comentários

O sistema faz essa chamada para obter o cursor a ser exibido enquanto o usuário arrasta a janela minimizada. Se um aplicativo retornar o identificador de um ícone ou cursor, o sistema o converterá em preto e branco. Se um aplicativo retornar um identificador, o identificador deverá identificar um cursor monocromático ou ícone compatível com a resolução do driver de exibição. O aplicativo pode chamar as CWinApp::LoadCursor funções ou CWinApp::LoadIcon membro para carregar um cursor ou ícone dos recursos em seu arquivo executável e obter esse identificador.

CWnd::OnQueryEndSession

A estrutura chama essa função de membro quando o usuário escolhe encerrar a sessão Windows ou quando um aplicativo chama a ExitWindows função Windows.

afx_msg BOOL OnQueryEndSession();

Valor de retorno

Não zero se um aplicativo puder ser desligado convenientemente; caso contrário, 0.

Comentários

Se qualquer aplicativo retornar 0, a sessão Windows não será encerrada. Windows para de chamar OnQueryEndSession assim que um aplicativo retorna 0 e envia a WM_ENDSESSION mensagem com um valor de FALSE parâmetro para qualquer aplicativo que já tenha retornado não zero.

CWnd::OnQueryNewPalette

A estrutura chama essa função de membro quando o CWnd objeto está prestes a receber o foco de entrada, dando a CWnd oportunidade de realizar sua paleta lógica quando ele recebe o foco.

afx_msg BOOL OnQueryNewPalette();

Valor de retorno

Não zero se o CWnd perceber sua paleta lógica; caso contrário, 0.

CWnd::OnQueryOpen

A estrutura chama essa função de membro quando o CWnd objeto é minimizado e o usuário solicita que ele CWnd seja restaurado para seu tamanho e posição preminimizados.

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.

Comentários

Enquanto estiver dentro OnQueryOpen, CWnd não deve executar nenhuma ação que cause uma ativação ou alteração de foco (por exemplo, criar uma caixa de diálogo).

CWnd::OnQueryUIState

Chamado para recuperar o estado da interface do usuário para uma janela.

afx_msg UINT OnQueryUIState();

Valor de retorno

O valor retornado será NULL se os indicadores de foco e os aceleradores de teclado estiverem visíveis. Caso contrário, o valor retornado pode ser um ou mais dos seguintes valores:

  • UISF_HIDEFOCUS Os indicadores de foco estão ocultos.

  • UISF_HIDEACCEL Os aceleradores de teclado estão ocultos.

  • UISF_ACTIVEWindows XP: um controle deve ser desenhado no estilo usado para controles ativos.

Comentários

Essa função membro emula a funcionalidade da WM_QUERYUISTATE mensagem, conforme descrito no SDK do Windows.

CWnd::OnRawInput

A estrutura chama essa função de membro quando a janela atual obtém entrada bruta.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

Parâmetros

nInputCode
[in] Código de entrada que indica se a entrada ocorreu enquanto o aplicativo estava em primeiro plano ou não. Em ambos os casos, o aplicativo deve chamar CWnd::DefWindowProc para que o sistema possa executar a limpeza. Esse parâmetro pode ser um dos seguintes valores:

  • RIM_INPUT - A entrada ocorreu enquanto o aplicativo estava em primeiro plano.
  • RIM_INPUTSINK - A entrada ocorreu enquanto o aplicativo não estava em primeiro plano.

hRawInput
[in] Manipule para uma RAWINPUT estrutura que contém a entrada bruta do dispositivo.

Comentários

Esse método recebe a WM_INPUT notificação, que é descrita no SDK Windows.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnRButtonDblClk

A estrutura chama essa função de membro quando o usuário clica duas vezes no botão direito do mouse.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio está inativo.

  • MK_RBUTTON Defina se o botão direito do mouse está inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica as coordenadas x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Somente janelas que têm o estilo CS_DBLCLKS WNDCLASS podem receber OnRButtonDblClk chamadas. Esse é o padrão para janelas na Biblioteca de Classes do Microsoft Foundation. Windows chamadas OnRButtonDblClk quando o usuário pressiona, libera e, em seguida, pressiona novamente o botão direito do mouse dentro do limite de tempo de clique duplo do sistema. Clicar duas vezes no botão direito do mouse gera quatro eventos: WM_RBUTTONDOWN e WM_RBUTTONUP mensagens, a OnRButtonDblClk chamada e outra WM_RBUTTONUP mensagem quando o botão é liberado.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnRButtonDown

A estrutura chama essa função de membro quando o usuário pressiona o botão direito do mouse.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio está inativo.

  • MK_RBUTTON Defina se o botão direito do mouse está inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica as coordenadas x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnRButtonUp

A estrutura chama essa função de membro quando o usuário libera o botão direito do mouse.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

Parâmetros

nFlags
Indica se várias chaves virtuais estão inativas. Esse parâmetro pode ser qualquer combinação dos seguintes valores:

  • MK_CONTROL Defina se a chave CTRL está inativa.

  • MK_LBUTTON Defina se o botão esquerdo do mouse estiver inativo.

  • MK_MBUTTON Defina se o botão do mouse do meio está inativo.

  • MK_SHIFT Defina se a chave SHIFT está inativa.

point
Especifica as coordenadas x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela.

Comentários

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnRegisteredMouseWheel

A estrutura chama essa função de membro quando um usuário gira a roda do mouse e encontra o próximo entalhe da roda.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

wParam
Posição horizontal do ponteiro.

lParam
Posição vertical do ponteiro.

Valor de retorno

Insignificante neste momento. Sempre zero.

Comentários

A menos que seja substituída, OnRegisteredMouseWheel encaminhe a mensagem para a janela apropriada (a janela pai com foco) e chame o WM_MOUSEWHEEL manipulador para essa janela.

Substitua essa função de membro para fornecer seu próprio roteamento de mensagem ou para alterar o comportamento de rolagem da roda do mouse.

Observação

OnRegisteredMouseWheelmanipula mensagens para Windows 95/98 e Windows NT 3.51. Para Windows NT tratamento de mensagens 4.0, use OnMouseWheel.

CWnd::OnRenderAllFormats

A função membro do proprietário da Área de OnRenderAllFormats Transferência é chamada pela estrutura quando o aplicativo proprietário está sendo destruído.

afx_msg void OnRenderAllFormats();

Comentários

O proprietário da Área de Transferência deve renderizar os dados em todos os formatos que ele é capaz de gerar e passar um identificador de dados para cada formato para a Área de Transferência chamando a SetClipboardData função Windows. Isso garante que a Área de Transferência contenha dados válidos, embora o aplicativo que renderiza os dados seja destruído. O aplicativo deve chamar a OpenClipboard função membro antes de chamar a SetClipboardData função Windows e chamar a CloseClipboard função Windows posteriormente.

CWnd::OnRenderFormat

A função membro do proprietário da Área de OnRenderFormat Transferência é chamada pela estrutura quando um formato específico com renderização atrasada precisa ser renderizado.

afx_msg void OnRenderFormat(UINT nFormat);

Parâmetros

nFormat
Especifica o formato da Área de Transferência.

Comentários

O receptor 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 de membro ou a CloseClipboard função Windows de dentroOnRenderFormat.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSessionChange

A estrutura chama essa função de membro para notificar um aplicativo de uma alteração no estado da sessão.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

Parâmetros

nSessionState
[in] Um código de status descreve a alteração do estado da sessão.

nId
[in] Um identificador de sessão.

Comentários

Esse método recebe a WM_WTSSESSION_CHANGE notificação, que é descrita no SDK Windows.

O nSessionState parâmetro especifica que uma sessão está conectada ou desconectada do console ou de um terminal remoto, um usuário conectado ou desativado, uma sessão está bloqueada ou desbloqueada ou uma sessão foi alterada para o status de controle remoto. Para obter mais informações, consulte o wParam parâmetro da WM_WTSSESSION_CHANGE mensagem.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSetCursor

A estrutura chamará essa função de membro se a entrada do mouse não for capturada e o mouse causar movimento de 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 armazenado para uso posterior.

nHitTest
Especifica o código da área de teste de ocorrência . O teste de ocorrência determina o local do cursor.

message
Especifica o número da mensagem do mouse.

Valor de retorno

Não é possível interromper o processamento adicional ou 0 para continuar.

Comentários

A implementação padrão chama a janela pai antes do OnSetCursor processamento. Se a janela pai retornar TRUE, o processamento adicional será interrompido. Chamar a janela pai fornece o controle da janela pai sobre a configuração do cursor em uma janela filho.

A implementação padrão define o cursor como uma seta se ela não estiver na área do cliente ou para o cursor de classe registrada, se estiver.

Se nHitTest for HTERROR e message for uma mensagem de botão para baixo do mouse, a MessageBeep função membro será chamada.

O parâmetro de mensagem é 0 quando CWnd entra no modo de menu.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSetFocus

A estrutura chama essa função de membro depois de 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 armazenado para uso posterior.

Comentários

Para exibir um cursor, CWnd deve chamar as funções de cuidado apropriadas neste momento.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSettingChange

A estrutura exige OnSettingChange todas as janelas de nível superior quando a função Win32 SystemParametersInfo altera uma configuração em todo o sistema.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

Parâmetros

uFlags
Quando o sistema envia a mensagem como resultado de uma SystemParametersInfo chamada, esse parâmetro é um sinalizador que indica o parâmetro do sistema que foi alterado. Para obter uma lista de valores, consulte SystemParametersInfo o SDK do Windows. Quando um aplicativo envia a mensagem, esse parâmetro deve ser 0.

lpszSection
Aponta para uma cadeia de caracteres que especifica o nome da seção que foi alterada. (A cadeia de caracteres não inclui os colchetes que incluem o nome da seção.)

Comentários

Um aplicativo deve enviar a mensagem para todas as janelas de nível superior quando fizer alterações nos parâmetros do sistema e Windows enviará a mensagem se o usuário alterar as configurações por meio do Painel de Controle.

A ON_WM_SETTINGCHANGE mensagem é semelhante à ON_WM_WININICHANGE mensagem, com a seguinte diferença:

  • Use ON_WM_SETTINGCHANGE ao executar Windows NT 4.0 ou mais recente ou em Windows 95/98.

  • Use ON_WININICHANGE ao executar Windows NT 3,51 ou mais. Esta mensagem agora está obsoleta.

Você deve ter apenas uma dessas macros no mapa de mensagens. Para escrever um programa que funcione para Windows 95/98 e Windows NT 4.0, escreva um manipulador para ON_WM_SETTINGCHANGE. Em Windows NT 3.51, o manipulador será chamado OnSettingChange e uFlags sempre será zero.

CWnd::OnShowWindow

A estrutura chama essa função de membro quando o CWnd objeto está prestes a ser oculto ou mostrado.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

Parâmetros

bShow
Especifica se uma janela está sendo mostrada. TRUE É se a janela está sendo mostrada; é FALSE se a janela está sendo ocultada.

nStatus
Especifica o status da janela que está sendo mostrada. Será 0 se a mensagem for enviada devido a uma ShowWindow chamada de função membro; caso contrário nStatus , será uma das seguintes:

  • SW_PARENTCLOSING A janela pai está fechando (sendo tornada icônica) ou uma janela pop-up está sendo ocultada.

  • SW_PARENTOPENING A janela pai está abrindo (sendo exibida) ou uma janela pop-up está sendo mostrada.

Comentários

Uma janela é oculta ou mostrada quando a ShowWindow função membro é chamada, quando uma janela sobreposta é maximizada ou restaurada, ou quando uma janela pop-up ou sobreposta é fechada (tornada icônica) ou aberta (exibida na tela). Quando uma janela sobreposta é fechada, todas as janelas pop-up associadas a essa janela ficam ocultas.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSize

A estrutura chama essa função de membro depois que o tamanho da janela é alterado.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

Parâmetros

nType
Especifica o tipo de redimensionamento solicitado. Esse 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 nem SIZE_MINIMIZEDSIZE_MAXIMIZED se aplica.

  • SIZE_MAXHIDE A mensagem é enviada para todas as janelas pop-up quando alguma outra janela é maximizada.

  • SIZE_MAXSHOW A mensagem é enviada para todas as janelas pop-up quando alguma outra janela foi restaurada para seu tamanho anterior.

cx
Especifica a nova largura da área do cliente.

cy
Especifica a nova altura da área do cliente.

Comentários

Se a função ou membro SetScrollPos for chamada para uma janela filho, OnSizeo bRedraw parâmetro de SetScrollPos ou MoveWindow não deve ser zero para fazer com que ela CWnd seja repintada.MoveWindow

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

Exemplo

// 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 proprietário da Área de OnSizeClipboard Transferência é chamada pelo visualizador da Área de Transferência quando a Área de Transferência contém dados com o CF_OWNERDISPLAY atributo e o tamanho da área do cliente da janela visualizador de área de transferência foi alterado.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

Parâmetros

pClipAppWnd
Identifica a janela Área de Transferência-aplicativo. O ponteiro pode ser temporário e não deve ser armazenado.

hRect
Identifica um objeto de memória global. O objeto memory contém uma RECT estrutura de dados que especifica a área para o proprietário da Área de Transferência pintar.

Comentários

A OnSizeClipboard função membro é chamada com um retângulo nulo (0,0,0,0,0) como o novo tamanho quando o aplicativo de área de transferência está prestes a ser destruído ou minimizado. Isso permite que o proprietário da Área de Transferência libere seus recursos de exibição.

DentroOnSizeClipboard, um aplicativo deve usar a GlobalLock função Windows para bloquear a memória que contém a estrutura de RECT dados. Faça com que o aplicativo desbloqueie essa memória com a GlobalUnlock função Windows antes de gerar ou retornar o controle.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSizing

A estrutura chama essa função de membro para indicar que o usuário está redimensionando 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 estrutura ou RECT do CRect endereço que conterá as coordenadas do item.

Comentários

Ao processar essa mensagem, um aplicativo pode monitorar o tamanho e a posição do retângulo de arrastar e, se necessário, alterar seu tamanho ou posição.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

Exemplo

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

A estrutura chama essa função de membro do Gerenciador de Impressão sempre que um trabalho é adicionado ou removido da fila do Gerenciador de Impressão.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

Parâmetros

nStatus
Especifica o SP_JOBSTATUS sinalizador.

nJobs
Especifica o número de trabalhos restantes na fila do Gerenciador de Impressão.

Comentários

Essa chamada é somente para fins informativos.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnStyleChanged

A estrutura chama essa função de membro depois que a SetWindowLong função tiver alterado um ou mais estilos da janela.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parâmetros

nStyleType
Especifica se os estilos estendidos ou inexistentes da janela foram alterados. Esse parâmetro pode ser uma combinação dos seguintes valores:

  • GWL_EXSTYLE Os estilos estendidos da janela foram alterados.

  • GWL_STYLE Os estilos não pretendidos da janela foram alterados.

lpStyleStruct
Aponta para uma STYLESTRUCT estrutura que contém os novos estilos da janela. Um aplicativo pode examinar os estilos, mas não pode alterá-los.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnStyleChanging

A estrutura chama essa função de membro quando a SetWindowLong função está prestes a alterar um ou mais estilos da janela.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

Parâmetros

nStyleType
Especifica se os estilos estendidos ou inexistentes da janela foram alterados. Esse parâmetro pode ser uma combinação dos seguintes valores:

  • GWL_EXSTYLE Os estilos estendidos da janela foram alterados.

  • GWL_STYLE Os estilos não pretendidos da janela foram alterados.

lpStyleStruct
Aponta para uma STYLESTRUCT estrutura que contém os novos estilos da janela. Um aplicativo pode examinar os estilos e alterá-los.

Comentários

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSysChar

A estrutura chama essa função de membro se CWnd tiver o foco de entrada e as WM_SYSKEYUP mensagens e WM_SYSKEYDOWN as mensagens forem traduzidas.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de chave de caractere ASCII de uma chave de menu de controle.

nRepCnt
Especifica a contagem de repetição, ou seja, o número de vezes que o pressionamento de tecla é repetido como resultado do usuário segurando a chave.

nFlags
O nFlags parâmetro pode ter estes valores:

Valor Significado
0-15 Especifica a contagem de repetição. O valor é o número de vezes que o pressionamento de tecla é repetido como resultado do usuário que mantém a chave pressionada.
16-23 Especifica o código de verificação. O valor depende do OEM (fabricante de equipamento original)
24 Especifica se a chave é uma chave estendida, como as teclas ALT e CTRL à direita que aparecem em um teclado avançado de 101 ou 102 teclas. O valor será 1 se for uma chave estendida; caso contrário, é 0.
25-28 Usado internamente por Windows.
29 Especifica o código de contexto. O valor será 1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada; caso contrário, o valor será 0.
30 Especifica o estado da chave anterior. O valor será 1 se a chave estiver inativa antes do envio da mensagem ou se for 0 se a chave estiver ativada.
31 Especifica o estado de transição. O valor será 1 se a tecla estiver sendo liberada ou se for 0 se a tecla estiver sendo pressionada.

Comentários

Ele especifica o código de chave virtual da chave de menu Controle. (Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h)

Quando o código de contexto é 0, WM_SYSCHAR pode passar a WM_SYSCHAR mensagem para a TranslateAccelerator função Windows, que tratará como se fosse uma mensagem de chave normal em vez de uma chave de caractere do sistema. Isso permite que as teclas de acelerador sejam usadas com a janela ativa, mesmo que a janela ativa não tenha o foco de entrada.

Para teclados ibm avançados de 101 e 102 teclas, as teclas aprimoradas são a ALT certa e as teclas CTRL corretas na seção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e seta nos clusters à esquerda do teclado numérico; e as teclas barra (/) e ENTER no teclado numérico. Alguns outros teclados podem dar suporte ao bit de tecla estendida em nFlags.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSysColorChange

A estrutura chama essa função de membro para todas as janelas de nível superior quando uma alteração é feita na configuração de cor do sistema.

afx_msg void OnSysColorChange();

Comentários

Windows chamadas OnSysColorChange para qualquer janela afetada por uma alteração de cor do sistema.

Os aplicativos que têm pincéis que usam as cores existentes do sistema devem excluir esses pincéis e criá-los novamente com as novas cores do sistema.

CWnd::OnSysCommand

A estrutura chama essa função de membro quando o usuário seleciona um comando no menu Controle ou quando o usuário 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. Esse parâmetro pode ser qualquer um dos seguintes valores:

  • SC_CLOSE Feche o CWnd objeto.

  • SC_HOTKEY Ative o CWnd objeto associado à chave de acesso especificada pelo aplicativo. A palavra de lParam baixa ordem identifica a HWND janela a ser ativada.

  • SC_HSCROLL Role horizontalmente.

  • SC_KEYMENU Recupere um menu por meio de um pressionamento de tecla.

  • SC_MAXIMIZE (ou SC_ZOOM) Maximize o CWnd objeto.

  • SC_MINIMIZE (ou SC_ICON) Minimize o CWnd objeto.

  • SC_MOUSEMENU Recupere um menu por meio de um clique do mouse.

  • SC_MOVE Mova o CWnd objeto.

  • SC_NEXTWINDOW Vá para a próxima janela.

  • SC_PREVWINDOW Mover para a janela anterior.

  • SC_RESTORE Restaurar a janela para a posição e o tamanho normais.

  • SC_SCREENSAVE Executa o aplicativo de salvamento de tela especificado na seção [inicialização] do SYSTEM.INI arquivo.

  • SC_SIZE Dimensione o CWnd objeto.

  • SC_TASKLISTExecute ou ative o aplicativo Windows Task Manager.

  • SC_VSCROLL Role verticalmente.

lParam
Se um comando de menu controle for escolhido com o mouse, lParam conterá as coordenadas do cursor. A palavra de baixa ordem contém a coordenada x e a palavra de alta ordem contém a coordenada y. Caso contrário, esse parâmetro não será usado.

  • SC_HOTKEY Ative a janela associada à chave de acesso especificada pelo aplicativo. A palavra de lParam baixa ordem identifica a janela a ser ativada.

  • SC_SCREENSAVEExecute o aplicativo de salvamento de tela especificado na seção Desktop do Painel de Controle.

Comentários

Por padrão, OnSysCommand executa a solicitação de menu controle para as ações predefinidas especificadas na tabela anterior.

Nas WM_SYSCOMMAND mensagens, os quatro bits de baixa ordem do nID parâmetro são usados internamente por Windows. Quando um aplicativo testa o valor de nID, ele deve combinar o valor 0xFFF0 com o nID valor usando o operador bit a bit AND para obter o resultado correto.

Os itens de menu em um menu De controle podem ser modificados com as GetSystemMenufunções de membro e , AppendMenuInsertMenue ModifyMenu Os aplicativos que modificam o menu Controle devem processar WM_SYSCOMMAND mensagens e todas WM_SYSCOMMAND as mensagens não manipuladas pelo aplicativo devem ser passadas para OnSysCommand. Todos os valores de comando adicionados por um aplicativo devem ser processados pelo aplicativo e não podem ser passados para OnSysCommand.

Um aplicativo pode executar qualquer comando do sistema a qualquer momento passando uma WM_SYSCOMMAND mensagem para OnSysCommand.

Os pressionamentos de tecla acelerador (atalho) definidos para selecionar itens no menu Controle são traduzidos em OnSysCommand chamadas; todos os outros pressionamentos de teclas de acelerador são traduzidos em WM_COMMAND mensagens.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSysDeadChar

A estrutura chamará essa função de membro se o CWnd objeto tiver o foco de entrada quando a função ou OnSysKeyDown membro OnSysKeyUp for chamada.

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o valor do caractere de chave morta.

nRepCnt
Especifica a contagem de repetição.

nFlags
Especifica o código de verificação, o código de transição de chave, o estado da chave anterior e o código de contexto, conforme mostrado na lista a seguir:

Valor Significado
0-7 Código de verificação (valor dependente de OEM). Baixo byte de palavra de alta ordem.
8 Chave estendida, como uma chave de função ou uma chave no teclado numérico (1 se for uma chave estendida; caso contrário, 0).
9-10 Não usado.
11-12 Usado internamente por Windows.
13 Código de contexto (1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada; caso contrário, 0).
14 Estado de chave anterior (1 se a chave estiver inativa antes da chamada, 0 se a chave estiver ativada).
15 Estado de transição (1 se a tecla estiver sendo liberada, 0 se a tecla estiver sendo pressionada).

Comentários

Especifica o valor de caractere de uma chave morta.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSysKeyDown

Se o CWnd objeto tiver o foco de entrada, a OnSysKeyDown função membro será chamada pela estrutura quando o usuário segurar a tecla ALT e pressionar outra tecla.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de chave virtual da tecla que está sendo pressionada. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

nRepCnt
Especifica a contagem de repetição.

nFlags
Especifica o código de verificação, o código de transição de chave, o estado da chave anterior e o código de contexto, conforme mostrado na lista a seguir:

Valor Significado
0-7 Código de verificação (valor dependente de OEM). Baixo byte de palavra de alta ordem.
8 Chave estendida, como uma chave de função ou uma chave no teclado numérico (1 se for uma chave estendida; caso contrário, 0).
9-10 Não usado.
11-12 Usado internamente por Windows.
13 Código de contexto (1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada, caso contrário).
14 Estado de chave anterior (1 se a chave estiver inativa antes do envio da mensagem, 0 se a chave estiver ativada).
15 Estado de transição (1 se a tecla estiver sendo liberada, 0 se a tecla estiver sendo pressionada).

Para OnSysKeyDown chamadas, o bit de transição de chave (bit 15) é 0. O bit de código de contexto (bit 13) será 1 se a tecla ALT estiver inativa enquanto a tecla for pressionada; será 0 se a mensagem for enviada para a janela ativa porque nenhuma janela tem o foco de entrada.

Comentários

Se nenhuma janela tiver o foco de entrada no momento, a função de membro da OnSysKeyDown janela ativa será chamada. O CWnd objeto que recebe a mensagem pode distinguir entre esses dois contextos verificando o código de contexto em nFlags.

Quando o código de contexto for 0, a WM_SYSKEYDOWN mensagem recebida por OnSysKeyDown ele poderá ser passada para a TranslateAccelerator função Windows, que tratará como se fosse uma mensagem-chave normal em vez de uma mensagem de chave do sistema. Isso permite que as teclas de acelerador sejam usadas com a janela ativa, mesmo que a janela ativa não tenha o foco de entrada.

Devido à repetição automática, mais de uma OnSysKeyDown chamada pode ocorrer antes que a WM_SYSKEYUP mensagem seja recebida. O estado de chave anterior (bit 14) pode ser usado para determinar se a OnSysKeyDown chamada indica a primeira transição para baixo ou uma transição repetida para baixo.

Para teclados ibm avançados de 101 e 102 teclas, as teclas aprimoradas são a ALT certa e as teclas CTRL corretas na seção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e seta nos clusters à esquerda do teclado numérico; e as teclas barra (/) e ENTER no teclado numérico. Alguns outros teclados podem dar suporte ao bit de tecla estendida em nFlags.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnSysKeyUp

Se o CWnd objeto tiver o foco, a OnSysKeyUp função de membro será chamada pela estrutura quando o usuário liberar uma tecla que foi pressionada enquanto a tecla ALT foi mantida pressionada.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

Parâmetros

nChar
Especifica o código de chave virtual da tecla que está sendo pressionada. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

nRepCnt
Especifica a contagem de repetição.

nFlags
Especifica o código de verificação, o código de transição de chave, o estado da chave anterior e o código de contexto, conforme mostrado na lista a seguir:

Valor Significado
0-7 Código de verificação (valor dependente de OEM). Baixo byte de palavra de alta ordem.
8 Chave estendida, como uma chave de função ou uma chave no teclado numérico (1 se for uma chave estendida; caso contrário, 0).
9-10 Não usado.
11-12 Usado internamente por Windows.
13 Código de contexto (1 se a tecla ALT for mantida pressionada enquanto a tecla for pressionada, caso contrário).
14 Estado de chave anterior (1 se a chave estiver inativa antes do envio da mensagem, 0 se a chave estiver ativada).
15 Estado de transição (1 se a tecla estiver sendo liberada, 0 se a tecla estiver sendo pressionada).

Para OnSysKeyUp chamadas, o bit de transição de chave (bit 15) é 1. O bit de código de contexto (bit 13) será 1 se a tecla ALT estiver inativa enquanto a tecla for pressionada; será 0 se a mensagem for enviada para a janela ativa porque nenhuma janela tem o foco de entrada.

Comentários

Se nenhuma janela tiver o foco de entrada no momento, a função de membro da OnSysKeyUp janela ativa será chamada. O CWnd objeto que recebe a chamada pode distinguir entre esses dois contextos verificando o código de contexto em nFlags.

Quando o código de contexto for 0, a WM_SYSKEYUP mensagem recebida por OnSysKeyUp ele poderá ser passada para a TranslateAccelerator função Windows, que tratará como se fosse uma mensagem-chave normal em vez de uma mensagem de chave do sistema. Isso permite que as teclas de acelerador (atalho) sejam usadas com a janela ativa, mesmo que a janela ativa não tenha o foco de entrada.

Para teclados ibm avançados de 101 e 102 teclas, as teclas aprimoradas são a ALT certa e as teclas CTRL corretas na seção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e seta nos clusters à esquerda do teclado numérico; e as teclas barra (/) e ENTER no teclado numérico. Alguns outros teclados podem dar suporte ao bit de tecla estendida em nFlags.

Para não-EUA. Teclados avançados de 102 teclas, a tecla ALT direita é tratada como a combinação de teclas CTRL+ALT. O seguinte mostra a sequência de mensagens e chamadas que resultam quando o usuário pressiona e libera esta chave:

Sequência Função Acessada Mensagem Passada
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnTCard

A estrutura chama essa função de membro quando o usuário clica em um botão autorizável.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

Parâmetros

idAction
Indica a ação que o usuário tomou. Esse parâmetro pode ser um destes valores:

  • IDABORT O usuário clicou em um botão Abortar autorizável.

  • IDCANCEL O usuário clicou em um botão Cancelar autorizável.

  • IDCLOSE O usuário fechou o cartão de treinamento.

  • IDHELPO usuário clicou em um botão de ajuda de Windows autor.

  • IDIGNORE O usuário clicou em um botão Ignorar autorizável.

  • IDOK O usuário clicou em um botão OK autorizável.

  • IDNO O usuário clicou em um botão Não autorizável.

  • IDRETRY O usuário clicou em um botão de repetição autorizável.

  • HELP_TCARD_DATA O usuário clicou em um botão autorizável. O dwActionData parâmetro contém um inteiro longo especificado pelo autor da ajuda.

  • HELP_TCARD_NEXT O usuário clicou em um botão Avançar autorizável.

  • HELP_TCARD_OTHER_CALLER Outro aplicativo solicitou cartões de treinamento.

  • IDYES O usuário clicou em um botão Sim autorizável.

dwActionData
Se idAction especificar HELP_TCARD_DATA, esse parâmetro será um inteiro longo especificado pelo autor da ajuda. Caso contrário, esse parâmetro será zero.

Comentários

Essa função é chamada somente quando um aplicativo inicia um cartão de treinamento com Windows Ajuda. Um aplicativo inicia um cartão de treinamento especificando o HELP_TCARD comando em uma chamada para a WinHelp função.

CWnd::OnTimeChange

A estrutura chama essa função de membro depois que o tempo do sistema é alterado.

afx_msg void OnTimeChange();

Comentários

Tenha qualquer aplicativo que altere a hora do sistema para enviar essa mensagem para todas as janelas de nível superior. Para enviar a WM_TIMECHANGE mensagem para todas as janelas de nível superior, um aplicativo pode usar a SendMessage função Windows com seu hwnd parâmetro definido como HWND_BROADCAST.

CWnd::OnTimer

A estrutura chama essa função de 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.

Comentários

A DispatchMessage função Windows envia uma WM_TIMER mensagem quando nenhuma outra mensagem está na fila de mensagens do aplicativo.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

Exemplo

Consulte o exemplo em CWnd::SetTimer.

CWnd::OnToolHitTest

A estrutura chama essa função de 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 a coordenada x e y do cursor. Essas coordenadas são sempre relativas ao canto superior esquerdo da janela

pTI
Um ponteiro para uma TOOLINFO estrutura. Os seguintes valores de estrutura são definidos por padrão:

  • hwnd = m_hWnd Manipular para uma janela

  • uId = (UINT)hWndChild Manipular para uma janela filho

  • uFlags |= TTF_IDISHWND Identificador da ferramenta

  • lpszText = LPSTR_TEXTCALLBACK Ponteiro para a cadeia de caracteres que será exibida na janela especificada

Valor de retorno

Se o controle de dica de ferramenta foi encontrado, a ID do controle de janela. Se o controle de dica de ferramenta não foi encontrado, -1.

Comentários

Se o ponto estiver no retângulo, ele recuperará informações sobre a ferramenta.

Se a área com a qual a dica de ferramenta está associada não for um botão, OnToolHitTest defina os sinalizadores de estrutura como TTF_NOTBUTTON e TTF_CENTERTIP.

Substitua OnToolHitTest para fornecer informações diferentes do padrão fornecido.

ConsulteTOOLINFO, no SDK do Windows, para obter mais informações sobre a estrutura.

CWnd::OnTouchInput

Processe a entrada única de Windows toque.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

Parâmetros

pt
Ponto em que a tela foi tocada (nas coordenadas do cliente).

nInputNumber
Número de entrada por toque.

nInputsCount
Número total de entradas por toque.

pInput
Ponteiro para a estrutura TOUCHINPUT.

Valor de retorno

TRUEse o aplicativo processar Windows entrada por toque; caso contrárioFALSE.

Comentários

CWnd::OnTouchInputs

Processa entradas de Windows toque.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

Parâmetros

nInputsCount
Número total de entradas por toque Windows.

pInputs
Matriz de TOUCHINPUT.

Valor de retorno

TRUEse o aplicativo processar Windows entradas por toque; caso contrárioFALSE.

Comentários

CWnd::OnUniChar

A estrutura chama essa função de 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
[in] Especifica o código de caractere da tecla pressionada.

nRepCnt
[in] Especifica a contagem de repetição para a mensagem atual. O valor é o número de vezes que o pressionamento de tecla é autorepeado como resultado do usuário segurando a chave. Se o pressionamento de teclas for mantido por tempo suficiente, várias mensagens serão enviadas. No entanto, a contagem de repetições não é cumulativa.

nFlags
[in] Sinalizadores que especificam o código de verificação, a chave estendida, o código de contexto, o estado de chave anterior e o estado de transição, conforme mostrado na tabela a seguir:

Bits de sinalizador Descrição
0-7 Especifica o código de verificação. O valor depende do OEM (fabricante de equipamento original).
8 Especifica uma tecla estendida, como as teclas ALT e CTRL à direita que aparecem em um teclado avançado de 101 ou 102 teclas. O sinalizador será 1 se a chave for uma chave estendida; caso contrário, é 0.
9-12 Usado internamente por Windows.
13 Especifica o código de contexto. O sinalizador será 1 se a tecla ALT estiver pressionada enquanto a tecla for pressionada; caso contrário, o valor será 0.
14 Especifica o estado de chave anterior. O sinalizador será 1 se a chave estiver inativa antes do envio da mensagem ou 0 se a chave estiver ativada.
15 Especifica o estado de transição. O sinalizador será 1 se a tecla estiver sendo liberada ou 0 se a tecla estiver sendo pressionada.

Comentários

Esse método recebe a WM_UNICHAR notificação, que é descrita no SDK do Windows. A WM_UNICHAR mensagem foi projetada para enviar ou postar caracteres Unicode para janelas ANSI. É equivalente à WM_CHAR mensagem, mas usa a codificação UTF-32 (Unicode Transformation Format-32), enquanto a WM_CHAR mensagem usa UTF-16.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnUnInitMenuPopup

A estrutura chama essa função de membro quando um menu suspenso ou submenu foi destruído.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

Parâmetros

pMenu
[in] Ponteiro para o CMenu objeto que representa o menu ou submenu.

nFlags
[in] O menu que foi destruído. Atualmente, ele só pode ser o menu da janela. MF_SYSMENU

Comentários

Esse método recebe a WM_UNINITMENUPOPUP notificação, que é descrita no SDK do Windows.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnUpdateUIState

Chamado para alterar o estado da interface do usuário para a janela especificada e todas as janelas filho.

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 do usuário (especificado por nUIElement) deve estar oculto.

  • UIS_INITIALIZE O elemento de estado da interface do usuário (especificado por nUIElement) deve ser alterado com base no último evento de entrada. Para obter mais informações, consulte a seção Comentários de WM_UPDATEISTATE.

  • UIS_SET O elemento de estado da interface do usuário (especificado por nUIElement) deve estar visível.

nUIElement
Especifica quais elementos de estado da interface do usuário são afetados ou o estilo do controle. Pode ser um dos seguintes valores:

  • UISF_HIDEACCEL Aceleradores de teclado.

  • UISF_HIDEFOCUS Indicadores de foco.

  • UISF_ACTIVEWindows XP: um controle deve ser desenhado no estilo usado para controles ativos.

Comentários

Essa função membro emula a funcionalidade da WM_UPDATEUISTATE mensagem, conforme descrito no SDK do Windows.

CWnd::OnUserChanged

A estrutura chama esse membro para todas as janelas depois que o usuário faz logon ou desativa.

afx_msg void OnUserChanged();

Comentários

Esse método recebe a WM_USERCHANGED mensagem de notificação, que é descrita no SDK do Windows. Quando o usuário faz logon ou desativa, o sistema operacional atualiza as configurações específicas do usuário. O sistema envia essa mensagem imediatamente após atualizar as configurações.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnVKeyToItem

Se o CWnd objeto possuir uma caixa de listagem com o LBS_WANTKEYBOARDINPUT estilo, a caixa de listagem 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 chave virtual da chave que o usuário pressionou. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h

pListBox
Especifica um ponteiro para a caixa de listagem. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

nIndex
Especifica a posição atual do cursor.

Valor de retorno

Especifica a ação executada pelo aplicativo em resposta à mensagem. Um valor retornado de -2 indica que o aplicativo lidou com todos os aspectos da seleção do item e não requer nenhuma ação adicional pela caixa de listagem. Um valor retornado de -1 indica que a caixa de listagem deve executar a ação padrão em resposta ao pressionamento de teclas. Um valor retornado igual a 0 ou maior especifica o índice baseado em zero de um item na caixa de listagem e indica que a caixa de listagem deve executar a ação padrão para o pressionamento de teclas no item fornecido.

Comentários

Essa função de membro é chamada pela estrutura apenas para caixas de listagem que têm o LBS_HASSTRINGS estilo.

Observação

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem de Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnVScroll

A estrutura chama essa função de membro quando o usuário clica na barra de rolagem vertical da janela.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

Parâmetros

nSBCode
Especifica um código de barra de rolagem que indica a solicitação de rolagem do usuário. Esse parâmetro pode ser um dos seguintes:

  • SB_BOTTOM Role para baixo.

  • SB_ENDSCROLL Rolagem final.

  • SB_LINEDOWN Role uma linha para baixo.

  • SB_LINEUP Role uma linha para cima.

  • SB_PAGEDOWN Role uma página para baixo.

  • SB_PAGEUP Role uma página para cima.

  • SB_THUMBPOSITION Role até a posição absoluta. A posição atual é fornecida em nPos.

  • SB_THUMBTRACK Arraste a caixa de rolagem para a posição especificada. A posição atual é fornecida em nPos.

  • SB_TOP Role para cima.

nPos
Contém a posição atual da caixa de rolagem se o código da barra de rolagem for ouSB_THUMBTRACK; caso contrário, não será SB_THUMBPOSITION usado. Dependendo do intervalo de rolagem inicial, nPos pode ser negativo e deve ser convertido em um int , se necessário.

pScrollBar
Se a mensagem de rolagem veio de um controle de barra de rolagem, contém um ponteiro para o controle. Se o usuário clicou na barra de rolagem de uma janela, esse parâmetro será NULL. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

OnVScroll normalmente é usado por aplicativos que fornecem alguns comentários enquanto a caixa de rolagem está sendo arrastada.

Se OnVScroll rolar o conteúdo do CWnd objeto, ele também deverá redefinir a posição da caixa de rolagem com a SetScrollPos função membro.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnVScrollClipboard

A função membro do proprietário da Área de OnVScrollClipboard 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 rolagem vertical do visualizador da Área de Transferência.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

Parâmetros

pClipAppWnd
Especifica um ponteiro para uma janela de visualizador de área de transferência. O ponteiro pode ser temporário e não deve ser armazenado para uso posterior.

nSBCode
Especifica um dos seguintes valores de barra de rolagem:

  • SB_BOTTOM Role para baixo.

  • SB_ENDSCROLL Rolagem final.

  • SB_LINEDOWN Role uma linha para baixo.

  • SB_LINEUP Role uma linha para cima.

  • SB_PAGEDOWN Role uma página para baixo.

  • SB_PAGEUP Role uma página para cima.

  • SB_THUMBPOSITION Role até a posição absoluta. A posição atual é fornecida em nPos.

  • SB_TOP Role para cima.

nPos
Contém a posição da caixa de rolagem se o código da barra de rolagem for SB_THUMBPOSITION; caso contrário nPos , não será usado.

Comentários

O proprietário deve rolar a imagem da Área de Transferência, invalidar a seção apropriada e atualizar os valores da barra de rolagem.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnWindowMaximizedChanged

A estrutura chama esse membro quando a janela atual é maximizada e a janela é composta pelo DWM (Gerenciador de Janelas da Área de Trabalho).

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

Parâmetros

bIsMaximized
[in] TRUE se a janela atual for maximizada e FALSE se não estiver.

Comentários

Esse método recebe a WM_DWMWINDOWMAXIMIZEDCHANGE mensagem de notificação, que é descrita no SDK Windows.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnWindowPosChanged

A estrutura chama essa função de membro quando o tamanho, a posição ou a ordem Z são alterados como resultado de uma chamada para a SetWindowPos função membro ou outra função de gerenciamento de janela.

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 a posição da janela.

Comentários

A implementação padrão envia e WM_SIZEWM_MOVE as mensagens para a janela. Essas mensagens não serão enviadas se um aplicativo manipular a OnWindowPosChanged chamada sem chamar sua classe base. É mais eficiente executar qualquer processamento de alteração de movimento ou tamanho durante a chamada OnWindowPosChanged sem chamar sua classe base.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnWindowPosChanging

A estrutura chama essa função de membro quando o tamanho, a posição ou a ordem Z estão prestes a ser alterados como resultado de uma chamada para a SetWindowPos função membro ou outra função de gerenciamento de janela.

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 a posição da janela.

Comentários

Um aplicativo pode impedir alterações na janela definindo ou desmarcando os bits apropriados no flags membro da WINDOWPOS estrutura.

Para uma janela com o estilo ou WS_THICKFRAME o WS_OVERLAPPED estilo, a implementação padrão envia uma WM_GETMINMAXINFO mensagem para a janela. Isso é feito para validar o novo tamanho e a posição da janela e para impor os estilos e CS_BYTEALIGN clienteCS_BYTEALIGNCLIENT. Um aplicativo pode substituir essa funcionalidade não chamando sua classe base.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnWinIniChange

A estrutura chama essa função de membro depois que uma alteração é feita no arquivo de inicialização Windows. WIN.INI

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

Parâmetros

lpszSection
Aponta para uma cadeia de caracteres que especifica o nome da seção que foi alterada. (A cadeia de caracteres não inclui os colchetes que incluem o nome da seção.)

Comentários

A SystemParametersInfo função Windows chama OnWinIniChange depois que um aplicativo usa a função para alterar uma configuração no WIN.INI arquivo.

Para enviar a WM_WININICHANGE mensagem para todas as janelas de nível superior, um aplicativo pode usar a SendMessage função Windows com seu hwnd parâmetro definido como HWND_BROADCAST.

Se um aplicativo alterar muitas seções WIN.INI diferentes ao mesmo tempo, o aplicativo deverá enviar uma WM_WININICHANGE mensagem com lpszSection definido como NULL. Caso contrário, um aplicativo deve enviar WM_WININICHANGE cada vez que fizer uma alteração para WIN.INI.

Se um aplicativo receber uma OnWinIniChange chamada com lpszSection o conjunto definido, NULLo aplicativo deverá verificar todas as seções em WIN.INI que afetam o aplicativo.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnWndMsg

Essa 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 ser enviada.

wParam
Especifica informações adicionais dependentes de mensagens.

lParam
Especifica informações adicionais dependentes de mensagens.

pResult
O valor retornado de WindowProc. Depende da mensagem; pode ser NULL.

Valor de retorno

TRUE se a mensagem foi manipulada; caso contrário, FALSE.

Comentários

OnWndMsg determina o tipo de mensagem e chama a função de estrutura apropriada (por exemplo, OnCommand para WM_COMMAND) ou localiza a mensagem apropriada no mapa da mensagem.

Para obter mais informações sobre reflexão de mensagens, consulte Como lidar com mensagens refletidas.

CWnd::OnXButtonDblClk

A estrutura chama essa função de membro quando o usuário clica XBUTTON1 duas vezes 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
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam quais teclas modificadoras são pressionadas. Por exemplo, o MK_CONTROL sinalizador indica que a tecla CTRL está pressionada.

nButton
[in] Um valor de XBUTTON1 se o primeiro botão Microsoft Intellimouse X for clicado duas vezes ou XBUTTON2 se o segundo botão X for clicado duas vezes.

point
[in] Um CPoint objeto que especifica as coordenadas e y o x cursor relativos ao canto superior esquerdo da área do cliente.

Comentários

Esse método recebe a WM_XBUTTONDBLCLK notificação, que é descrita no SDK Windows. Se o mouse não for capturado, a mensagem será postada na janela abaixo 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 a seguir. Para obter mais informações, consulte Sobre a entrada do mouse.

Chave do modificador Descrição
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do mouse foi pressionado.
MK_MBUTTON O botão do meio do mouse é pressionado.
MK_RBUTTON O botão direito do mouse é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do mouse do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do mouse do Microsoft IntelliMouse é pressionado.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnXButtonDown

A estrutura chama essa função de membro quando o usuário pressiona XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parâmetros

nFlags
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam quais teclas modificadoras são pressionadas. Por exemplo, o MK_CONTROL sinalizador indica que a tecla CTRL está pressionada.

nButton
[in] Um valor de XBUTTON1 se o primeiro botão Microsoft Intellimouse X foi clicado ou XBUTTON2 se o segundo botão X foi clicado.

point
[in] Um CPoint objeto que especifica as coordenadas e y o x cursor relativos ao canto superior esquerdo da área do cliente.

Comentários

Esse método recebe a WM_XBUTTONDOWN notificação, que é descrita no SDK Windows. Se o mouse não for capturado, a mensagem será postada na janela abaixo 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 a seguir. Para obter mais informações, consulte Sobre a entrada do mouse.

Chave do modificador Descrição
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do mouse foi pressionado.
MK_MBUTTON O botão do meio do mouse é pressionado.
MK_RBUTTON O botão direito do mouse é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do mouse do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do mouse do Microsoft IntelliMouse é pressionado.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OnXButtonUp

A estrutura chama essa função de membro quando o usuário é liberado XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

Parâmetros

nFlags
[in] Uma combinação bit a bit (OR) de sinalizadores que indicam quais teclas modificadoras são pressionadas. Por exemplo, o MK_CONTROL sinalizador indica que a tecla CTRL está pressionada.

nButton
[in] Um valor de XBUTTON1 se o primeiro botão Microsoft Intellimouse X foi clicado duas vezes ou XBUTTON2 se o segundo botão X foi clicado duas vezes.

point
[in] Um CPoint objeto que especifica as coordenadas e y o x cursor relativos ao canto superior esquerdo da área do cliente.

Comentários

Esse método recebe a WM_XBUTTONUP notificação, que é descrita no SDK Windows. Se o mouse não for capturado, a mensagem será postada na janela abaixo 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 a seguir. Para obter mais informações, consulte Sobre a entrada do mouse.

Chave do modificador Descrição
MK_CONTROL A tecla CTRL é pressionada.
MK_LBUTTON O botão esquerdo do mouse foi pressionado.
MK_MBUTTON O botão do meio do mouse é pressionado.
MK_RBUTTON O botão direito do mouse é pressionado.
MK_SHIFT A tecla SHIFT é pressionada.
MK_XBUTTON1 O XBUTTON1 botão do mouse do Microsoft IntelliMouse é pressionado.
MK_XBUTTON2 O XBUTTON2 botão do mouse do Microsoft IntelliMouse é pressionado.

Observação

Essa função membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem Windows. Os parâmetros passados para sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi recebida. Se você chamar a implementação de classe base dessa função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros fornecidos para a função.

CWnd::OpenClipboard

Abre a área de transferência.

BOOL OpenClipboard();

Valor de retorno

Não zero se a Área de Transferência for aberta por meio CWndou 0 se outro aplicativo ou janela tiver a Área de Transferência aberta.

Comentários

Outros aplicativos não poderão modificar a Área de Transferência 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.

Exemplo

//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 esse operador para obter o identificador para o CWnd objeto.

operator HWND() const;

CWnd::operator !=

Compara dois CWnd objetos para determinar se eles 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

Nonzero se igual; caso contrário, 0.

CWnd::operator ==

Compara dois CWnd objetos para determinar se eles 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

Nonzero se igual; caso contrário, 0.

CWnd::PaintWindowlessControls

Desenha controles sem janelas no contêiner de controle.

BOOL PaintWindowlessControls(CDC* pDC);

Parâmetros

pDC
O contexto do dispositivo no qual desenhar os controles sem janelas.

Valor de retorno

Retorna TRUE se houver um contêiner de controle e os controles sem janelas forem desenhados com êxito, caso contrário FALSE.

CWnd::PostMessage

Coloca uma mensagem na fila de mensagens da janela e retorna sem aguardar a janela correspondente processar a mensagem.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parâmetros

message
Especifica a mensagem a ser postada.

wParam
Especifica informações adicionais da mensagem. O conteúdo desse parâmetro depende da mensagem que está sendo postada.

lParam
Especifica informações adicionais da mensagem. O conteúdo desse parâmetro depende da mensagem que está sendo postada.

Valor de retorno

Não zero se a mensagem for postada; caso contrário, 0.

Comentários

As mensagens em uma fila de mensagens são recuperadas por chamadas para a GetMessage função ou PeekMessage Windows.

A função Windows PostMessage pode ser usada para acessar outro aplicativo.

Exemplo

Consulte o exemplo de AfxGetMainWnd.

CWnd::PostNcDestroy

Chamado pela função de membro padrão OnNcDestroy após a janela ter sido destruída.

virtual void PostNcDestroy();

Comentários

Classes derivadas podem usar essa função para limpeza personalizada, como a exclusão do this ponteiro.

CWnd::PreCreateWindow

Chamado pela estrutura antes da criação da janela Windows anexada a esse CWnd objeto.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

Parâmetros

cs
Uma estrutura CREATESTRUCT.

Valor de retorno

Não zero se a criação da janela deve continuar; 0 para indicar falha de criação.

Comentários

Aviso

CWnd::PreCreateWindow agora atribui o membro hMenu ao csthis ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para a funcionalidade adequada, verifique se o controle de diálogo tem uma ID que não NULLé .

Essa alteração corrige uma falha em cenários de interoperabilidade gerenciados/nativos. Uma TRACE instrução em CWnd::Create alertas para o desenvolvedor do problema.

Nunca chame essa função diretamente.

A implementação padrão dessa função verifica o nome de uma NULL classe de janela e substitui um padrão apropriado. Substitua essa função de membro para modificar a CREATESTRUCT estrutura antes que a janela seja criada.

Cada classe derivada de CWnd adiciona sua própria funcionalidade à sua substituição de PreCreateWindow. Por design, essas derivações de PreCreateWindow não são documentadas. Para determinar os estilos apropriados para cada classe e as interdependências entre os estilos, você pode examinar o código-fonte MFC para a classe base do aplicativo. Se você optar por substituir PreCreateWindow, , poderá determinar se os estilos usados na classe base do aplicativo fornecem a funcionalidade necessária usando informações coletadas do código-fonte MFC.

Para obter mais informações sobre como alterar estilos de janela, consulte a alteração dos estilos de uma janela criada pelo MFC.

Exemplo

// 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

Essa função de membro é chamada pela estrutura para permitir que outras subclasses necessárias ocorram antes que a janela seja subclasse.

virtual void PreSubclassWindow();

Comentários

Substituir essa função de membro permite a subclasse dinâmica de controles. É uma substituição avançada.

CWnd::PreTranslateMessage

Usado por classe CWinApp para traduzir mensagens de janela antes de serem enviadas para as TranslateMessage funções e DispatchMessage Windows.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parâmetros

pMsg
Aponta para uma MSG estrutura que contém a mensagem a ser processada.

Valor de retorno

Não zero se a mensagem foi traduzida e não deve ser expedida; 0 se a mensagem não foi traduzida e deve ser enviada.

CWnd::Print

Chame essa função de membro para desenhar a janela atual no contexto do dispositivo especificado, que é mais comumente em um contexto de 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. Esse parâmetro pode ser um ou mais desses sinalizadores:

  • PRF_CHECKVISIBLE Desenhe a janela somente se ela estiver visível.

  • PRF_CHILDREN Desenhe todas as janelas filhos visíveis.

  • PRF_CLIENT Desenhe a área do cliente da janela.

  • PRF_ERASEBKGND Apago o plano de fundo antes de desenhar a janela.

  • PRF_NONCLIENT Desenhe a área nãocliente da janela.

  • PRF_OWNED Desenhe todas as janelas de propriedade.

Comentários

CWnd::DefWindowProc a função processa essa mensagem com base em qual opção de desenho é especificada:

  • Se PRF_CHECKVISIBLE for especificado e a janela não estiver visível, não faça nada.

  • Se PRF_NONCLIENT for especificado, desenhe a área nãocliente no contexto de dispositivo fornecido.

  • 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 para cada janela filho visível.

  • Se PRF_OWNED estiver definido, envie uma WM_PRINT mensagem para cada janela de propriedade visível.

CWnd::PrintClient

Chame essa função de membro para desenhar qualquer janela no contexto do dispositivo especificado (geralmente 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 as opções de desenho. Esse parâmetro pode ser um ou mais desses sinalizadores:

  • PRF_CHECKVISIBLE Desenhe a janela somente se ela estiver visível.

  • PRF_CHILDREN Desenhe todas as janelas filhos visíveis.

  • PRF_CLIENT Desenhe a área do cliente da janela.

  • PRF_ERASEBKGND Apago o plano de fundo antes de desenhar a janela.

  • PRF_NONCLIENT Desenhe a área nãocliente da janela.

  • PRF_OWNED Desenhe todas as janelas de propriedade.

CWnd::PrintWindow

Copia uma janela visual para o contexto do dispositivo especificado, normalmente um DC de impressora.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

Parâmetros

pDC
Um ponteiro para o contexto do dispositivo a ser impresso.

nFlags
Especifica as opções de desenho. Para obter uma lista de valores possíveis, consulte PrintWindow.

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoPrintWindow, conforme descrito no SDK do Windows.

CWnd::RedrawWindow

Atualiza o retângulo ou a região especificados na área de cliente da janela determinada.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Parâmetros

lpRectUpdate
Aponta para uma RECT estrutura que contém as coordenadas do retângulo de atualização. Esse parâmetro será ignorado se prgnUpdate contiver um identificador de região válido.

prgnUpdate
Identifica a região de atualização. Se ambos prgnUpdate e lpRectUpdate estiverem NULL, toda a área do cliente será adicionada à região de atualização.

flags
Os sinalizadores a seguir são usados para invalidar a janela:

  • RDW_ERASE Faz com que a janela receba uma WM_ERASEBKGND mensagem quando a janela é repintada. O RDW_INVALIDATE sinalizador também deve ser especificado; caso contrário, RDW_ERASE não terá efeito.

  • RDW_FRAME Faz com que qualquer parte da área nãocliente da janela que cruze a região de atualização receba uma WM_NCPAINT mensagem. O RDW_INVALIDATE sinalizador também deve ser especificado; caso contrário RDW_FRAME , não terá efeito.

  • RDW_INTERNALPAINT Faz com que uma WM_PAINT mensagem seja postada na janela, independentemente de a janela conter uma região inválida.

  • RDW_INVALIDATE Invalidar lpRectUpdate ou prgnUpdate (apenas um pode não NULLser). Se ambos estiverem NULL, a janela inteira será invalidada.

Os sinalizadores a seguir são usados para validar a janela:

  • RDW_NOERASE Suprime todas as mensagens pendentes WM_ERASEBKGND .

  • RDW_NOFRAME Suprime todas as mensagens pendentes WM_NCPAINT . Esse sinalizador deve ser usado e RDW_VALIDATE normalmente é usado com RDW_NOCHILDREN. Essa opção deve ser usada com cuidado, pois pode impedir que partes de uma janela sejam pintadas corretamente.

  • RDW_NOINTERNALPAINT Suprime todas as mensagens internas WM_PAINT pendentes. Esse sinalizador não afeta WM_PAINT as mensagens resultantes de áreas inválidas.

  • RDW_VALIDATElpRectUpdate Valida ou prgnUpdate (apenas um pode não NULLser). Se ambos estiverem NULL, a janela inteira será validada. Esse sinalizador não afeta mensagens internas WM_PAINT .

O controle de sinalizadores a seguir durante a repintação ocorre. A pintura não é executada pela função, RedrawWindow a menos que um desses bits seja especificado.

  • RDW_ERASENOWFaz com que as janelas afetadas (conforme especificado pelo e sinalizadoresRDW_ALLCHILDREN) recebam WM_NCPAINT e WM_ERASEBKGND mensagens, se necessário, antes que a função retorne.RDW_NOCHILDREN WM_PAINT as mensagens são adiadas.

  • RDW_UPDATENOWFaz com que as janelas afetadas (conforme especificado pelo e sinalizadoresRDW_ALLCHILDREN) recebamWM_NCPAINT, WM_ERASEBKGNDe WM_PAINT as mensagens, se necessário, antes que a função RDW_NOCHILDREN retorne.

Por padrão, as janelas afetadas pela RedrawWindow função dependem se a janela especificada tem o WS_CLIPCHILDREN estilo. As janelas filho das WS_CLIPCHILDREN janelas não são afetadas. No entanto, as janelas que não WS_CLIPCHILDREN são janelas são validadas recursivamente ou invalidadas até que uma WS_CLIPCHILDREN janela seja encontrada. Os sinalizadores a seguir controlam quais janelas são afetadas pela RedrawWindow função:

  • RDW_ALLCHILDREN Inclui janelas filho, se houver, na operação de repinção.

  • RDW_NOCHILDREN Exclui janelas filho, se houver, da operação de repinto.

Valor de retorno

Não zero se a janela foi redesenhada com êxito; caso contrário, 0.

Comentários

Quando a RedrawWindow função membro é usada para invalidar parte da janela da área de trabalho, essa janela não recebe uma WM_PAINT mensagem. Para repintizar a área de trabalho, um aplicativo deve usarCWnd::ValidateRgn, CWnd::InvalidateRgnou CWnd::UpdateWindowRedrawWindow

CWnd::ReflectChildNotify

Essa função de mensagem é chamada pela estrutura de OnChildNotify.

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

Parâmetros

message
Especifica a mensagem a ser refletida.

wParam
Especifica informações adicionais dependentes de mensagens.

lParam
Especifica informações adicionais dependentes de mensagens.

pResult
O resultado gerado pela janela filho a ser retornado pela janela pai. Pode ser NULL.

Valor de retorno

TRUE se a mensagem foi refletida; caso contrário FALSE.

Comentários

É uma função auxiliar que reflete message à sua origem.

As mensagens refletidas são enviadas diretamente para CWnd::OnWndMsg ou CCmdTarget::OnCmdMsg.

Para obter mais informações sobre a reflexão de mensagens, consulte Como lidar com mensagens refletidas.

CWnd::ReflectLastMsg

Essa função de membro é chamada pela estrutura para refletir a última mensagem para a janela filho.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

Parâmetros

hWndChild
Um identificador para uma janela filho.

pResult
O resultado gerado pela janela filho a ser retornado pela janela pai. Pode ser NULL.

Valor de retorno

Não zero se a mensagem foi tratada; caso contrário, 0.

Comentários

Essa função membro chama SendChildNotifyLastMsg se a janela identificada por hWndChild um controle OLE ou uma janela no mapa permanente.

Para obter mais informações sobre a reflexão de mensagens, consulte Como lidar com mensagens refletidas.

CWnd::ReleaseDC

Libera um contexto de dispositivo, liberando-o para uso por outros aplicativos.

int ReleaseDC(CDC* pDC);

Parâmetros

pDC
Identifica o contexto do dispositivo a ser liberado.

Valor de retorno

Não zero se tiver êxito; caso contrário, 0.

Comentários

O efeito da ReleaseDC função membro depende do tipo de contexto do dispositivo.

O aplicativo deve chamar a ReleaseDC função de membro para cada chamada para a GetWindowDC função membro e para cada chamada para a GetDC função membro.

CWnd::RepositionBars

Chamado para reposicionar e redimensionar barras de controle 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
A ID do primeiro em um intervalo de barras de controle para reposicionar e redimensionar.

nIDLast
A ID da última em um intervalo de barras de controle para reposicionar e redimensionar.

nIDLeftOver
Especifica a ID do painel que preenche o restante da área do cliente.

nFlag
Pode ter um dos seguintes valores:

  • CWnd::reposDefault Executa o layout das barras de controle. lpRectParam não é usado e pode ser NULL.

  • CWnd::reposQuery O layout das barras de controle não é feito; em vez disso lpRectParam , é inicializado com o tamanho da área do cliente, como se o layout tivesse sido realmente feito.

  • CWnd::reposExtra Adiciona os valores da lpRectParam área do nIDLast cliente e também executa o layout.

lpRectParam
Aponta para uma RECT estrutura; o uso do qual depende do valor de nFlag.

lpRectClient
Aponta para uma RECT estrutura que contém a área de cliente disponível. Se NULL, a área de cliente da janela será usada.

bStretch
Indica se a barra deve ser estendida até o tamanho do quadro.

Comentários

O nIDFirst e nIDLast os parâmetros definem um intervalo de IDs de barra de controle a serem reposicionadas na área do cliente. O nIDLeftOver parâmetro especifica a ID da janela filho (normalmente a exibição) que é reposicionada e redimensionada para preencher o restante da área do cliente não preenchida por barras de controle.

CWnd::RunModalLoop

Chame essa função de membro para recuperar, traduzir ou expedir mensagens até ContinueModal retornar FALSE.

int RunModalLoop(DWORD dwFlags = 0);

Parâmetros

dwFlags
Especifica a mensagem Windows a ser enviada. Pode ser um dos seguintes valores:

  • MLF_NOIDLEMSG Não envie WM_ENTERIDLE mensagens para o pai.

  • MLF_NOKICKIDLE Não envie WM_KICKIDLE mensagens para a janela.

  • MLF_SHOWONIDLE Mostre a janela quando a fila de mensagens ficar ociosa.

Valor de retorno

Especifica o valor do nResult parâmetro passado para a EndModalLoop função membro, que é usada para encerrar o loop modal.

Comentários

Por padrão, ContinueModal retorna FALSE após EndModalLoop ser chamado. Retorna o valor fornecido quanto nResult a EndModalLoop.

CWnd::ScreenToClient

Converte as coordenadas de tela de um determinado ponto ou retângulo na exibição em 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 de tela a serem convertidas.

lpRect
Aponta para um CRect objeto ou RECT estrutura que contém as coordenadas de tela a serem convertidas.

Comentários

A ScreenToClient função membro substitui as coordenadas de tela fornecidas dentro lpPoint ou lpRect por coordenadas do cliente. As novas coordenadas são relativas ao canto superior esquerdo da área do CWnd cliente.

Exemplo

Consulte o exemplo de CListCtrl::GetItemRect.

CWnd::ScrollWindow

Rola o conteúdo da área do 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, da rolagem horizontal. Esse parâmetro deve ser um valor negativo para rolar para a esquerda.

yAmount
Especifica a quantidade, em unidades de dispositivo, da rolagem vertical. Esse parâmetro deve ser um valor negativo para rolar para cima.

lpRect
Aponta para um CRect objeto ou RECT estrutura que especifica a parte da área do cliente a ser rolada. Se lpRect for NULL, toda a área do cliente será rolada. O cursor será reposicionado se o retângulo do cursor cruzar o retângulo de rolagem.

lpClipRect
Aponta para um CRect objeto ou RECT estrutura que especifica o retângulo de recorte a ser rolado. Somente os bits dentro desse retângulo são rolados. Bits fora desse retângulo não são afetados mesmo que estejam no lpRect retângulo. Se lpClipRect for NULL, nenhum recorte é executado no retângulo de rolagem.

Comentários

Se o cursor estiver sendo CWnd rolado, ScrollWindow ocultará automaticamente o cursor para evitar que ele seja apagado e restaure o careta após a conclusão da rolagem. A posição de cuidado é ajustada adequadamente.

A área descoberta pela ScrollWindow função membro não é repintada, mas é combinada na região de atualização do objeto atual CWnd . O aplicativo eventualmente receberá uma WM_PAINT mensagem notificando-a de que a região precisa ser repintificada. Para repintar a área descoberta ao mesmo tempo em que a rolagem é feita, chame a UpdateWindow função de membro imediatamente após a chamada ScrollWindow.

Se lpRect forNULL, as posições de qualquer janela filho na janela são compensadas pelo valor especificado eyAmount, e quaisquer áreas inválidas xAmount (não pagas) no CWnd também são compensadas. ScrollWindow é mais rápido quando lpRect é NULL.

Se lpRect não NULLestiver, as posições das janelas filho não serão alteradas e as áreas CWnd inválidas não serão deslocadas. Para evitar problemas de atualização quando lpRect não NULLestiver, chame a UpdateWindow função membro para repintação CWnd antes de chamar ScrollWindow.

CWnd::ScrollWindowEx

Rola o conteúdo da área de 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, da rolagem horizontal. Esse parâmetro deve ter um valor negativo para rolar para a esquerda.

dy
Especifica a quantidade, em unidades de dispositivo, da rolagem vertical. Esse parâmetro deve ter um valor negativo para rolar para cima.

lpRectScroll
Aponta para uma RECT estrutura que especifica a parte da área do cliente a ser rolada. Se esse parâmetro for NULL, toda a área do cliente será rolada.

lpRectClip
Aponta para uma RECT estrutura que especifica o retângulo de recorte a ser rolado. Essa estrutura tem precedência sobre o retângulo apontado por lpRectScroll. Somente os bits dentro desse retângulo são rolados. Bits fora desse retângulo não são afetados mesmo que estejam no lpRectScroll retângulo. Se esse parâmetro for NULL, nenhum recorte será executado no retângulo de rolagem.

prgnUpdate
Identifica a região modificada para manter a região invalidada pela rolagem. Esse parâmetro pode ser NULL.

lpRectUpdate
Aponta para uma RECT estrutura que receberá os limites do retângulo invalidados pela rolagem. Esse 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 após prgnUpdate a rolagem.

  • SW_SCROLLCHILDREN Rola todas as janelas filho que cruzam o retângulo apontado pelo lpRectScroll número de pixels especificados em dx e dy. Windows envia uma WM_MOVE mensagem para todas as janelas filho que se cruzamlpRectScroll, mesmo que elas não se movam. O cursor é reposicionado quando uma janela filho é rolada e o retângulo do cursor cruza o retângulo de rolagem.

Valor de retorno

O valor retornado é 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 retornado será ERROR.

Comentários

Essa função é semelhante à ScrollWindow função, com alguns recursos adicionais.

Se SW_INVALIDATE e SW_ERASE não forem especificados, a ScrollWindowEx função membro não invalida a área da qual é rolada. Se qualquer um desses sinalizadores estiver definido, ScrollWindowEx invalide essa área. A área não é atualizada até que o aplicativo chame a UpdateWindow função membro, chame a RedrawWindow função de membro (especificando RDW_UPDATENOW ou RDW_ERASENOW) ou recupere a WM_PAINT mensagem da fila do aplicativo.

Se a janela tiver o WS_CLIPCHILDREN estilo, as áreas retornadas especificadas e prgnUpdatelpRectUpdate representarão a área total da janela rolada que deve ser atualizada, incluindo quaisquer áreas em janelas filho que precisem ser atualizadas.

Se o SW_SCROLLCHILDREN sinalizador for especificado, Windows não atualizará corretamente a tela se parte de uma janela filho for rolada. A parte da janela filho rolada que fica fora do retângulo de origem não será apagada e não será redesenhada corretamente em seu novo destino. Use a DeferWindowPos função Windows para mover janelas filho que não estão completamente dentro do lpRectScroll retângulo. O cursor será reposicionado se o SW_SCROLLCHILDREN sinalizador estiver definido e o retângulo de careta cruzar o retângulo de rolagem.

Todas as coordenadas de entrada e saída (para lpRectScroll, lpRectClipe prgnUpdatelpRectUpdate) são consideradas coordenadas do cliente, independentemente de a janela ter o CS_OWNDC estilo ou CS_CLASSDC a classe. Use as LPtoDP funções e DPtoLP Windows para converter de e para coordenadas lógicas, se necessário.

CWnd::SendChildNotifyLastMsg

Essa função de membro é chamada pela estrutura para fornecer uma mensagem de notificação para uma janela filho, da janela pai, para que a janela filho possa manipular uma tarefa.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

Parâmetros

pResult
O resultado gerado pela janela filho a ser retornado pela janela pai.

Valor de retorno

Diferente de zero se a janela filho tiver manipulado a mensagem enviada ao pai; caso contrário, 0.

Comentários

SendChildNotifyLastMsg envie a mensagem atual para a origem se ela for uma mensagem refletida.

Para obter mais informações sobre a reflexão de mensagens, consulte Como lidar com mensagens refletidas.

CWnd::SendDlgItemMessage

Envia uma mensagem para um controle.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

Parâmetros

nID
Especifica o identificador do controle de diálogo que receberá a mensagem.

message
Especifica a mensagem a ser enviada.

wParam
Especifica informações adicionais dependentes de mensagens.

lParam
Especifica informações adicionais dependentes de mensagens.

Valor de retorno

Especifica o valor retornado pelo procedimento de janela do controle ou 0 se o controle não foi encontrado.

Comentários

A SendDlgItemMessage função membro não retorna até que a mensagem tenha sido processada.

O uso SendDlgItemMessage é idêntico à obtenção de um CWnd* para o controle determinado e chamar a SendMessage função de membro.

Exemplo

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 ser enviada.

wParam
Especifica informações adicionais dependentes de mensagens.

lParam
Especifica informações adicionais dependentes de mensagens.

Valor de retorno

O resultado do processamento da mensagem; seu valor depende da mensagem enviada.

Comentários

A SendMessage função membro chama o procedimento de janela diretamente e não retorna até que o procedimento da janela tenha processado a mensagem. Isso contrasta com a PostMessage função de membro, que coloca a mensagem na fila de mensagens da janela e retorna imediatamente.

Exemplo

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 essa função de membro para enviar a mensagem de 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 ser enviada.

wParam
Especifica informações adicionais dependentes de mensagens.

lParam
Especifica informações adicionais dependentes de mensagens.

bDeep
Especifica o nível para o qual pesquisar. Se TRUE, recursivamente, pesquisar todas as crianças; se FALSE, pesquisar somente crianças imediatas.

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 obter mais informações sobre janelas temporárias, consulte a Observação Técnica 3.

Comentários

Se bDeep for FALSE, a mensagem será enviada apenas para os filhos imediatos da janela; caso contrário, a mensagem será enviada para todas as janelas descendentes.

Se bDeep e bOnlyPerm estiverem TRUE, a pesquisa continuará abaixo das janelas temporárias. Nesse caso, somente janelas permanentes encontradas durante a pesquisa recebem a mensagem. Se bDeep for FALSE, a mensagem será enviada somente para os filhos imediatos da janela.

Exemplo

// 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 ser enviada.

wParam
Especifica informações adicionais dependentes de mensagens.

lParam
Especifica informações adicionais dependentes de mensagens.

Valor de retorno

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

Comentários

Se a janela foi criada pelo thread de chamada, 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; ela não aguarda o procedimento da janela concluir o processamento da mensagem.

CWnd::SetActiveWindow

Torna CWnd a janela ativa.

CWnd* SetActiveWindow();

Valor de retorno

A janela que estava ativa anteriormente.

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

Comentários

A SetActiveWindow função membro deve ser usada com cuidado, pois permite que um aplicativo assuma arbitrariamente a janela ativa e o foco de entrada. Normalmente, Windows cuida de toda a ativação.

CWnd::SetCapture

Faz com que todas as entradas subsequentes do mouse sejam enviadas para o objeto atual CWnd , independentemente da posição do cursor.

CWnd* SetCapture();

Valor de retorno

Um ponteiro para o objeto de janela que recebeu anteriormente todas as entradas do mouse. É NULL se não há essa janela. O ponteiro retornado pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

Quando CWnd não precisar mais de todas as entradas do mouse, o aplicativo deve chamar a ReleaseCapture função para que outras janelas possam receber a entrada do mouse.

Enquanto a entrada do mouse é capturada, nenhuma WM_NCHITTEST ou WM_SETCURSOR mensagens são enviadas para a janela ativa.

CWnd::SetCaretPos

Define a posição do cursor.

static void PASCAL SetCaretPos(POINT point);

Parâmetros

point
Especifica as novas coordenadas x e y (nas coordenadas do cliente) do caret.

Comentários

A SetCaretPos função membro moverá o cursor somente se ele pertencer a uma janela na tarefa atual. SetCaretPos move o caret se o caret está oculto ou não.

O cursor é um recurso compartilhado. Uma janela não deve mover o careta se ele não possui o caret.

Exemplo

// 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 essa janela à cadeia de janelas que são notificadas (por meio da WM_DRAWCLIPBOARD mensagem) sempre que o conteúdo da Área de Transferência é alterado.

HWND SetClipboardViewer();

Valor de retorno

Um identificador para a próxima janela na cadeia de visualizadores de área de transferência, se bem-sucedido. Os aplicativos devem salvar esse identificador (ele pode ser armazenado como uma variável de membro) e usá-lo ao responder a mensagens de cadeia de visualizadores de área de transferência.

Comentários

Uma janela que faz parte da cadeia de visualizadores de área de transferência deve responder WM_DRAWCLIPBOARDe WM_CHANGECBCHAINWM_DESTROY enviar mensagens e passar a mensagem para a próxima janela da cadeia.

Essa função membro envia uma WM_DRAWCLIPBOARD mensagem para a janela. Como o identificador para a próxima janela na cadeia de visualizadores de área de transferência ainda não foi retornado, o aplicativo não deve passar a WM_DRAWCLIPBOARD mensagem que recebe durante a chamada para SetClipboardViewer.

Para se remover da cadeia de visualizadores de área de transferência, um aplicativo deve chamar a ChangeClipboardChain função membro.

CWnd::SetDlgCtrlID

Define a ID da janela ou a ID de controle da janela como um novo valor.

int SetDlgCtrlID(int nID);

Parâmetros

nID
O novo valor a ser definido para o identificador do controle.

Valor de retorno

O identificador anterior da janela, se tiver êxito; caso contrário, 0.

Comentários

A janela pode ser qualquer janela filho, não apenas um controle em uma caixa de diálogo. A janela não pode ser uma janela de nível superior.

CWnd::SetDlgItemInt

Define o texto de um determinado controle em uma caixa de diálogo para a representação de cadeia de caracteres de um valor inteiro especificado.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

Parâmetros

nID
Especifica a ID de inteiro do controle a ser alterado.

nValue
Especifica o valor inteiro usado para gerar o texto do item.

bSigned
Especifica se o valor inteiro está assinado ou não assinado. Se esse parâmetro for TRUE, nValue será assinado. Se esse parâmetro for TRUE e nValue for menor que 0, um sinal de menos será colocado antes do primeiro dígito na cadeia de caracteres. Se esse parâmetro for FALSE, nValue não será assinado.

Comentários

SetDlgItemInt envia uma WM_SETTEXT mensagem para o controle especificado.

Exemplo

Veja o exemplo de CWnd::SetDlgItemText.

CWnd::SetDlgItemText

Define a legenda ou o texto de um controle pertencente a uma janela ou caixa de diálogo.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

Parâmetros

nID
Identifica o controle cujo texto deve ser definido.

lpszString
Aponta para um CString objeto ou cadeia de caracteres com término nulo que contém o texto a ser copiado para o controle.

Comentários

SetDlgItemText envia uma WM_SETTEXT mensagem para o controle especificado.

Exemplo

// 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 thread 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.

Comentários

A entrada do teclado é direcionada para a janela e várias indicações visuais são alteradas para o usuário. A janela em primeiro plano é a janela com a qual o usuário está trabalhando no momento. A janela de primeiro plano se aplica apenas a janelas de nível superior (janelas de quadro ou caixas de diálogo).

Exemplo

Veja o exemplo de CWnd::FindWindow.

CWnd::SetFocus

Declara o foco de entrada.

CWnd* SetFocus();

Valor de retorno

Um ponteiro para o objeto de janela que anteriormente tinha o foco de entrada. É NULL se não há essa janela. O ponteiro retornado pode ser temporário e não deve ser armazenado.

Comentários

O foco de entrada direciona todas as entradas de teclado subsequentes para essa janela. Qualquer janela que anteriormente tinha o foco de entrada a perde.

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. Ele também ativa a janela ou seu pai.

Se a janela atual estiver ativa, mas não tiver o foco (ou seja, nenhuma janela tem o foco), qualquer tecla pressionada produzirá as mensagens WM_SYSCHARWM_SYSKEYDOWNou 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 CFont objeto.

bRedraw
TRUE para que a janela seja redesenhada imediatamente após processar a WM_SETFONT mensagem; caso contrário FALSE.

Comentários

Esse método não tem efeito, a menos que a janela processe a WM_SETFONT mensagem. Muitas classes MFC derivam do CWnd processo dessa mensagem porque estão anexadas a uma classe de janela predefinida que inclui um manipulador de mensagens para a WM_SETFONT mensagem. Para usar esse método, as classes das quais você deriva devem definir um manipulador de CWnd métodos para a WM_SETFONT mensagem.

CWnd::SetIcon

Chame essa função de membro para definir o identificador como um ícone específico, conforme identificado por hIcon.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

Parâmetros

hIcon
Um identificador para um ícone anterior.

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

Valor de retorno

Um identificador para um ícone.

Comentários

Quando a classe de janela é registrada, ela seleciona um ícone.

Exemplo

Veja o exemplo de CWnd::GetSystemMenu.

CWnd::SetLayeredWindowAttributes

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

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

Parâmetros

crKey
Ponteiro para um COLORREF valor que especifica a chave de cor de transparência a ser usada ao redigir a janela em camadas. Todos os pixels pintados pela janela nessa 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 obter mais informações, consulte o SourceConstantAlpha membro da BLENDFUNCTION estrutura. Quando bAlpha é 0, a janela é completamente transparente. Quando bAlpha é 255, a janela é opaca.

dwFlags
Especifica uma ação a ser tomada. Esse parâmetro pode ser um ou mais dos seguintes valores. Para obter uma lista de valores possíveis, consulte SetLayeredWindowAttributes.

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoSetLayeredWindowAttributes, conforme descrito no SDK Windows.

CWnd::SetMenu

Define o menu atual para o menu especificado.

BOOL SetMenu(CMenu* pMenu);

Parâmetros

pMenu
Identifica o novo menu. Se esse parâmetro for NULL, o menu atual será removido.

Valor de retorno

Não zero se o menu for alterado; caso contrário, 0.

Comentários

Faz com que a janela seja redesenhada para refletir a alteração do menu.

SetMenu não destruirá um menu anterior. Um aplicativo deve chamar a CMenu::DestroyMenu função membro para realizar essa tarefa.

Exemplo

Veja o exemplo de CMenu::LoadMenu.

CWnd::SetOwner

Define o proprietário da janela atual como o objeto de janela especificado.

void SetOwner(CWnd* pOwnerWnd);

Parâmetros

pOwnerWnd
Identifica o novo proprietário do objeto window. Se esse parâmetro for NULL, o objeto window não terá proprietário.

Comentários

Esse proprietário pode receber mensagens de comando do objeto de janela atual. Por padrão, o pai da janela atual é seu proprietário.

Geralmente, é útil estabelecer conexões entre objetos de janela que não estão relacionados à hierarquia de janelas. Por exemplo, CToolBar envia notificações para seu proprietário em vez de para seu pai. Isso permite que a barra de ferramentas se torne o filho de uma janela (como uma janela de aplicativo de contêiner OLE) ao enviar notificações para outra janela (como a janela de quadro no local). Além disso, quando uma janela do servidor é desativada ou ativada durante a edição in-loco, qualquer janela pertencente à janela de quadro fica oculta ou mostrada. Essa propriedade é definida explicitamente com uma chamada para SetOwner.

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

CWnd::SetParent

Altera a janela pai de uma janela filho.

CWnd* SetParent(CWnd* pWndNewParent);

Parâmetros

pWndNewParent
Identifica a nova janela pai.

Valor de retorno

Um ponteiro para o objeto anterior da janela pai, se bem-sucedido. O ponteiro retornado pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

Se a janela filho estiver visível, Windows executará o redesenho e o repositório apropriados.

CWnd::SetProperty

Chame essa função de membro para definir a propriedade de controle OLE especificada por dwDispID.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parâmetros

dwDispID
Identifica a propriedade a ser definida.

vtProp
Especifica o tipo da propriedade a ser definida. Para obter valores possíveis, consulte a seção Comentários para COleDispatchDriver::InvokeHelper.

...
Um único parâmetro do tipo especificado por vtProp.

Comentários

Observação

Essa função deve ser chamada somente em um CWnd objeto que representa um controle OLE.

Para obter mais informações sobre como usar essa função membro com contêineres de controle OLE, consulte o artigo ActiveX Contêineres de Controle: Programando controles de ActiveX em um contêiner de controle de ActiveX.

CWnd::SetRedraw

Um aplicativo chama SetRedraw para permitir que as alterações sejam redesenhadas ou para impedir que as alterações sejam redesenhadas.

void SetRedraw(BOOL bRedraw = TRUE);

Parâmetros

bRedraw
Especifica o estado do sinalizador de redesenhamento. Se esse parâmetro for TRUE, o sinalizador de redraw será definido; se FALSE, o sinalizador estiver limpo.

Comentários

Essa função membro define ou limpa o sinalizador de redesenhamento. Enquanto o sinalizador de redesenhamento estiver limpo, o conteúdo não será atualizado após cada alteração e não será repintado até que o sinalizador de redesenhecimento seja definido. Por exemplo, um aplicativo que precisa adicionar vários itens a uma caixa de listagem pode limpar o sinalizador de redraw, adicionar os itens e, em seguida, definir o sinalizador de redraw. Por fim, o aplicativo pode chamar a Invalidate função ou InvalidateRect membro para fazer com que a caixa de listagem seja repintada.

Exemplo

// 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 essa função de membro para definir as informações que a SCROLLINFO estrutura mantém sobre uma barra de rolagem.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

Parâmetros

nBar
Especifica se a barra de rolagem é um controle ou parte da área nãocliente de uma janela. Se fizer parte da área nãocliente, nBar também indicará se a barra de rolagem está posicionada horizontalmente, verticalmente ou ambas. Deve ser um dos seguintes:

  • SB_CTL Contém os parâmetros de um controle de barra de rolagem. O m_hWnd membro de dados deve ser o identificador do controle de barra de rolagem.

  • SB_HORZ Especifica que a janela é uma barra de rolagem horizontal.

  • SB_VERT Especifica que a janela é uma barra de rolagem vertical.

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

bRedraw
Especifica se a barra de rolagem deve ser redesenhada para refletir a nova posição. Se bRedraw for TRUE, a barra de rolagem será redesenhada. Se for FALSE, não será redesenhado. A barra de rolagem é redesenhada por padrão.

Valor de retorno

Se tiver êxito, o retorno será TRUE. Caso contrário, será FALSE.

Comentários

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

O MFC Windows manipuladores de mensagens que indicam a posição CWnd::OnHScroll da barra de rolagem e CWnd::OnVScrollfornecem apenas 16 bits de dados de posição. GetScrollInfo e SetScrollInfo forneça 32 bits de dados de posição da barra de rolagem. Assim, um aplicativo pode chamar GetScrollInfo durante o CWnd::OnHScroll processamento ou CWnd::OnVScroll obter dados de posição da barra de rolagem de 32 bits.

Observação

CWnd::GetScrollInfo permite que os aplicativos usem posições de barra de rolagem de 32 bits.

CWnd::SetScrollPos

Define a posição atual de uma caixa de rolagem e, se solicitada, redesenha a barra de rolagem para refletir a nova posição da caixa de rolagem.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

Parâmetros

nBar
Especifica a barra de rolagem a ser definida. Esse parâmetro pode ser um dos seguintes:

  • SB_HORZ Define a posição da caixa de rolagem na barra de rolagem horizontal da janela.

  • SB_VERT Define a posição da caixa de rolagem na barra de rolagem vertical da janela.

nPos
Especifica a nova posição da caixa de rolagem. Ele deve estar dentro do intervalo de rolagem.

bRedraw
Especifica se a barra de rolagem deve ser repintada para refletir a nova posição da caixa de rolagem. Se esse parâmetro for TRUE, a barra de rolagem será repintada; se FALSEa barra de rolagem não for repintada.

Valor de retorno

A posição anterior da caixa de rolagem.

Comentários

A FALSE configuração bRedraw é útil sempre que a barra de rolagem será redesenhada por uma chamada subsequente para outra função.

CWnd::SetScrollRange

Define valores mínimos e máximos de posição para a barra de rolagem determinada.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

Parâmetros

nBar
Especifica a barra de rolagem a ser definida. Esse parâmetro pode ser um dos seguintes valores:

  • SB_HORZ Define o intervalo da barra de rolagem horizontal da janela.

  • SB_VERT Define o intervalo da barra de rolagem vertical da janela.

nMinPos
Especifica a posição de rolagem mínima.

nMaxPos
Especifica a posição máxima de rolagem.

bRedraw
Especifica se a barra de rolagem deve ser redesenhada para refletir a alteração. Se bRedraw for TRUE, a barra de rolagem será redesenhada; se FALSEa barra de rolagem não for redesenhada.

Comentários

Ele também pode ser usado para ocultar ou mostrar barras de rolagem padrão.

Um aplicativo não deve chamar essa função para ocultar uma barra de rolagem ao processar uma mensagem de notificação da barra de rolagem.

Se a chamada para SetScrollRange seguir imediatamente uma chamada para a SetScrollPos função membro, o bRedraw parâmetro na SetScrollPos função membro deverá ser 0 para impedir que a barra de rolagem seja desenhada duas vezes.

O intervalo padrão para uma barra de rolagem padrão é de 0 a 100. O intervalo padrão para um controle de barra de rolagem está vazio (tanto o quanto nMaxPos os nMinPos valores são 0). A diferença entre os valores especificados e nMinPosnMaxPos não deve 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 não zero. Se o identificador do temporizador for exclusivo, esse mesmo valor será retornado por SetTimer. Caso contrário, SetTimer determina um novo valor exclusivo e retorna isso. Para um temporizador de janela (que tem uma NULL função de retorno de chamada), o valor deve ser exclusivo apenas para outros temporizadores do Windows associados à janela atual. Para um temporizador de retorno de chamada, o valor deve ser exclusivo para todos os temporizadores em todos os processos. Portanto, quando você cria um temporizador de retorno de chamada, é mais provável que o valor retornado seja diferente do valor especificado.

nElapse
Especifica o valor de tempo limite, ou intervalo, em milissegundos.

lpfnTimer
Especifica o endereço da função de retorno de chamada fornecida pelo aplicativo que processa TimerProc as WM_TIMER mensagens. Se esse parâmetro for NULL, as WM_TIMER mensagens serão colocadas na fila de mensagens do aplicativo e manipuladas pelo CWnd objeto.

Valor de retorno

O identificador do temporizador do novo temporizador se a função for bem-sucedida. Esse valor pode ou não ser igual ao valor passado por meio do nIDEvent parâmetro. Um aplicativo deve sempre passar o valor retornado para a KillTimer função membro para eliminar o temporizador. Não zero se tiver êxito; caso contrário, 0.

Comentários

Um valor de intervalo é especificado e sempre que o intervalo passa, o sistema posta uma WM_TIMER mensagem na fila de mensagens de instalação do aplicativo de instalação ou passa a mensagem para uma função de retorno de chamada definida pelo TimerProc aplicativo.

A lpfnTimer função de retorno de chamada não precisa ser nomeada TimerProc, mas deve ser declarada como estática e definida da seguinte maneira.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

Exemplo

Este exemplo usa CWnd::SetTimere CWnd::OnTimerCWnd::KillTimer para manipular WM_TIMER mensagens. O primeiro temporizador é configurado para enviar uma WM_TIMER mensagem para a janela do quadro principal a cada 2 segundos.OnStartTimer O OnTimer manipulador de eventos manipula mensagens WM_TIMER para a janela de quadro principal. Esse método faz com que o alto-falante do computador bipe a cada 2 segundos. O segundo temporizador envia uma mensagem para a função de retorno de chamada a cada 3,75 segundos. OnStopTimer interromperá os dois temporizadores chamando 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 essa função de membro para associar um identificador de contexto de ajuda à janela especificada.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

Parâmetros

dwContextHelpId
O identificador de contexto de ajuda.

Valor de retorno

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

Comentários

Se uma janela filho não tiver um identificador de contexto de ajuda, ela herdará o identificador da janela pai. Da mesma forma, se uma janela de propriedade não tiver um identificador de contexto de ajuda, ela herdará o identificador de sua janela de proprietário. Essa herança de identificadores de contexto de ajuda permite que um aplicativo defina apenas um identificador para uma caixa de diálogo e todos os seus controles.

Exemplo

// 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 do show 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 e as posições do show.

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 filho, pop-up e de 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 precederá (ser maior que) esse CWnd objeto na ordem Z. Esse parâmetro pode ser um ponteiro para um CWnd ou um ponteiro para um dos seguintes valores:

  • wndBottom Coloca a janela na parte inferior da ordem Z. Se essa CWnd for uma janela superior, a janela perderá seu status superior; o sistema coloca a janela na parte inferior de todas as outras janelas.

  • wndTop Coloca a janela na parte superior da ordem Z.

  • wndTopMost Coloca a janela acima de todas as janelas não superiores. A janela mantém sua posição superior mesmo quando está desativada.

  • wndNoTopMost Reposiciona a janela para a parte superior de todas as janelas não superiores (ou seja, atrás de todas as janelas mais altas). Esse sinalizador não terá efeito se a janela já for uma janela não superior.

Para obter regras sobre como usar esse parâmetro, consulte a seção "Comentários" deste tópico.

x
Especifica a nova posição do lado esquerdo da janela.

y
Especifica a nova posição da parte superior da janela.

cx
Especifica a nova largura da janela.

cy
Especifica a nova altura da janela.

nFlags
Especifica as opções de dimensionamento e posicionamento. Esse parâmetro pode ser uma combinação dos seguintes sinalizadores:

  • SWP_DRAWFRAME Desenha um quadro (definido quando a janela foi criada) ao redor da janela.

  • SWP_FRAMECHANGED Envia uma WM_NCCALCSIZE mensagem para a janela, mesmo que o tamanho da janela não esteja sendo alterado. Se esse sinalizador não for especificado, WM_NCCALCSIZE será enviado somente quando o tamanho da janela estiver sendo alterado.

  • SWP_HIDEWINDOW Oculta a janela.

  • SWP_NOACTIVATE Não ativa a janela. Se esse sinalizador não estiver definido, a janela será ativada e movida para a parte superior do grupo superior ou não superior (dependendo da configuração do pWndInsertAfter parâmetro).

  • SWP_NOCOPYBITS Descarta todo o conteúdo da área do cliente. Se esse sinalizador não for especificado, o conteúdo válido da área do cliente será salvo e copiado de volta para a área do cliente depois que a janela for dimensionada ou reposicionada.

  • SWP_NOMOVERetém a posição atual (ignora o parâmetro e y os x parâmetros).

  • SWP_NOOWNERZORDER Não altera a posição da janela do proprietário na ordem Z.

  • SWP_NOREDRAW Não redesenhe as alterações. Se esse sinalizador estiver definido, nenhum repositório de nenhum tipo ocorrerá. Isso se aplica à área do cliente, à área nãocliente (incluindo as barras de título e rolagem) e a qualquer parte da janela pai descoberta como resultado da janela movida. Quando esse sinalizador é definido, o aplicativo deve invalidar ou redesenhar explicitamente todas as partes da janela e da janela pai que devem ser redesenhadas.

  • SWP_NOREPOSITION Igual a SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Impede que a janela receba a WM_WINDOWPOSCHANGING mensagem.

  • SWP_NOSIZERetém o tamanho atual (ignora o e cy os cx parâmetros).

  • SWP_NOZORDER Retém a ordenação atual (ignora pWndInsertAfter).

  • SWP_SHOWWINDOW Exibe a janela.

Valor de retorno

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

Comentários

Windows são ordenadas na tela de acordo com sua ordem Z; a janela na parte superior da ordem Z aparece na parte superior de todas as outras janelas da ordem.

Todas as coordenadas para janelas filho são coordenadas do cliente (em relação ao canto superior esquerdo da área do cliente da janela pai).

Uma janela pode ser movida para a parte superior da ordem Z definindo o pWndInsertAfter parâmetro e garantindo que o SWP_NOZORDER sinalizador não esteja definido ou definindo a ordem Z de uma janela para &wndTopMost que ela esteja acima de qualquer janela superior existente. Quando uma janela não superior é feita na parte superior, suas janelas de propriedade também são mais altas. Seus proprietários não são alterados.

Uma janela superior não será mais superior se for reposicionada para a parte inferior (&wndBottom) da ordem Z ou depois de qualquer janela não superior. Quando uma janela superior é feita não superior, todos os seus proprietários e suas janelas de propriedade também são feitas janelas não superiores.

Se nem SWP_NOACTIVATE for SWP_NOZORDER especificado (ou seja, quando o aplicativo solicitar que uma janela seja ativada e colocada simultaneamente na ordem Z especificada), o valor especificado pWndInsertAfter será usado somente nas seguintes circunstâncias:

  • Nem &wndTopMost nem &wndNoTopMost é especificado no pWndInsertAfter parâmetro.

  • Essa janela não é a janela ativa.

Um aplicativo não pode ativar uma janela inativa sem também trazê-la para a parte superior da ordem Z. Os aplicativos podem alterar a ordem Z de uma janela ativada sem restrições.

Uma janela não superior pode ter uma janela superior, mas não vice-versa. Qualquer janela (por exemplo, uma caixa de diálogo) de propriedade de uma janela superior é feita em si uma janela superior para garantir que todas as janelas de propriedade permaneçam acima de seu proprietário.

Com Windows versões 3.1 e posteriores, as janelas podem ser movidas para a parte superior da ordem Z e bloqueadas lá definindo seus WS_EX_TOPMOST estilos. Essa janela superior mantém sua posição superior mesmo quando desativada. Por exemplo, selecionar o comando WinHelp Always On Top torna a janela da Ajuda mais alta e, em seguida, permanece visível quando você retorna ao seu aplicativo.

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 qualquer janela com o WS_EX_TOPMOST estilo, uma janela movida com o &wndTopMost valor será colocada na parte superior de todas as janelas não superiores, mas abaixo de qualquer janela superior. Quando um aplicativo 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 for chamado quando o pWndInsertAfter parâmetro for &wndBottom e CWnd for uma janela superior, a janela perderá seu status superior (WS_EX_TOPMOST está desmarcada) e o sistema colocará a janela na parte inferior da ordem Z.

Exemplo

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 essa função de membro para definir a região de uma janela.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

Parâmetros

hRgn
Um identificador para uma região.

bRedraw
Se TRUEo sistema operacional redesenhar a janela depois de definir a região; caso contrário, ela não o fará. Normalmente, defina bRedraw como TRUE se a janela estiver visível. Se definido como TRUE, o sistema envia e WM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGED as mensagens para a janela.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será diferente de zero. Se a função falhar, o valor retornado será zero.

Comentários

As coordenadas da região da janela de uma janela são relativas ao canto superior esquerdo da janela, não à área do cliente da janela.

Após uma chamada bem-sucedida, SetWindowRgno sistema operacional é proprietário da região especificada pelo identificador hRgnde região. O sistema operacional não faz uma cópia da região, portanto, não faça mais chamadas de função com esse identificador de região e não feche esse identificador de região.

CWnd::SetWindowText

Define o título da janela como o texto especificado.

void SetWindowText(LPCTSTR lpszString);

Parâmetros

lpszString
Aponta para um CString objeto ou cadeia de caracteres terminada em nulo a ser usada como o novo título ou texto de controle.

Comentários

Se a janela for um controle, o texto dentro do controle será definido.

Essa função faz com que uma WM_SETTEXT mensagem seja enviada para esta janela.

Exemplo

// 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 careta na tela na posição atual do cursor.

void ShowCaret();

Comentários

Uma vez mostrado, o cursor começa a piscar automaticamente.

A ShowCaret função membro mostra o cuidado somente se ele tiver uma forma atual e não tiver sido ocultado duas ou mais vezes consecutivamente. Se o caret não pertencer a esta janela, o ponto não será mostrado.

Ocultar o ponto de cuidado é cumulativo. Se a HideCaret função membro tiver sido chamada cinco vezes consecutivamente, ShowCaret deverá ser chamada cinco vezes para mostrar o cursor.

O caret é um recurso compartilhado. A janela deve mostrar o cuidado somente quando ele tem o foco de entrada ou está ativo.

Exemplo

Consulte o exemplo de CWnd::CreateCaret.

CWnd::ShowOwnedPopups

Mostra ou oculta todas as janelas pop-up pertencentes a esta janela.

void ShowOwnedPopups(BOOL bShow = TRUE);

Parâmetros

bShow
Especifica se janelas pop-up devem ser mostradas ou ocultas. Se esse parâmetro for TRUE, todas as janelas pop-up ocultas serão mostradas. Se esse parâmetro for FALSE, todas as janelas pop-up visíveis estarão ocultas.

Exemplo

Consulte o exemplo de CWnd::SetWindowPos.

CWnd::ShowScrollBar

Mostra ou oculta uma barra de rolagem.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

Parâmetros

nBar
Especifica se a barra de rolagem é um controle ou parte da área nãocliente de uma janela. Se faz parte da área nãocliente, nBar também indica se a barra de rolagem está posicionada horizontalmente, verticalmente ou ambas. Deve ser um dos seguintes:

  • SB_BOTH Especifica as barras de rolagem horizontal e vertical da janela.

  • SB_HORZ Especifica que a janela é uma barra de rolagem horizontal.

  • SB_VERT Especifica que a janela é uma barra de rolagem vertical.

bShow
Especifica se Windows mostra ou oculta a barra de rolagem. Se esse parâmetro for TRUE, a barra de rolagem será mostrada; caso contrário, a barra de rolagem ficará oculta.

Comentários

Um aplicativo não deve chamar ShowScrollBar para ocultar uma barra de rolagem durante o processamento de uma mensagem de notificação da barra de rolagem.

CWnd::ShowWindow

Define o estado de visibilidade da janela.

BOOL ShowWindow(int nCmdShow);

Parâmetros

nCmdShow
Especifica como a CWnd origem deve ser mostrada. Ele deve ser um dos seguintes valores:

  • SW_HIDE Oculta essa 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 exibe a janela. Se a janela for minimizada ou maximizada, Windows restaurá-la para seu tamanho e posição originais.

  • SW_SHOW Ativa a janela e a exibe em seu tamanho e posição atuais.

  • SW_SHOWMAXIMIZED Ativa a janela e a exibe como uma janela maximizada.

  • SW_SHOWMINIMIZED Ativa a janela e a exibe como um ícone.

  • SW_SHOWMINNOACTIVE Exibe a janela como um ícone. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNA Exibe a janela em seu estado atual. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNOACTIVATE Exibe a janela em seu tamanho e posição mais recentes. A janela que está ativa no momento permanece ativa.

  • SW_SHOWNORMAL Ativa e exibe a janela. Se a janela for minimizada ou maximizada, Windows restaurá-la para seu tamanho e posição originais.

Valor de retorno

Diferente de zero se a janela estivesse visível anteriormente; 0 se o CWnd estava oculto anteriormente.

Comentários

ShowWindow deve ser chamado apenas uma vez por aplicativo para a janela principal com CWinApp::m_nCmdShow. As chamadas subsequentes devem ShowWindow usar um dos valores listados acima em vez do especificado por CWinApp::m_nCmdShow.

Exemplo

Consulte o exemplo de CWnd::CalcWindowRect.

CWnd::SubclassDlgItem

Chame essa função de membro para "subclasse dinamicamente" um controle criado a partir de um modelo de caixa de diálogo e anexe-a a esse CWnd objeto.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

Parâmetros

nID
A ID do controle.

pParent
O pai do controle (geralmente uma caixa de diálogo).

Valor de retorno

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

Comentários

Quando um controle é subclasse dinamicamente, as CWndmensagens do Windows rotearão pelo mapa de mensagens e chamarão manipuladores de mensagens na CWndclasse 's primeiro. As mensagens passadas para a classe base serão passadas para o manipulador de mensagens padrão no controle.

Essa função membro anexa o controle Windows a um CWnd objeto e substitui o controle WndProc e AfxWndProc as funções. A função armazena o antigo WndProc no local retornado pela GetSuperWndProcAddr função membro.

Exemplo

// 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 essa função de membro para "subclasse dinamicamente" uma janela e anexe-a a esse CWnd objeto.

BOOL SubclassWindow(HWND hWnd);

Parâmetros

hWnd
Um identificador para a janela.

Valor de retorno

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

Comentários

Quando uma janela é subclasse dinamicamente, as CWndmensagens do Windows rotearão pelo mapa de mensagens e chamarão manipuladores de mensagens na CWndclasse 's primeiro. As mensagens passadas para a classe base serão passadas para o manipulador de mensagens padrão na janela.

Essa função membro anexa o controle Windows a um CWnd objeto e substitui as funções e AfxWndProc a WndProc janela. A função armazena um ponteiro para o antigo WndProc no CWnd objeto.

Observação

A janela ainda não deve ser anexada a um objeto MFC quando essa função é chamada.

Exemplo

// 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 essa função de membro para desbloquear uma janela que foi bloqueada com CWnd::LockWindowUpdate.

void UnlockWindowUpdate();

Comentários

Somente uma janela por vez pode ser bloqueada usando LockWindowUpdate. Consulte CWnd::LockWindowUpdate ou a função LockWindowUpdate Win32 para obter mais informações sobre como bloquear janelas.

CWnd::UnsubclassWindow

Chame essa função de membro para definir WndProc de volta para seu valor original e desanexar a janela identificada pelo HWND do CWnd objeto.

HWND UnsubclassWindow();

Valor de retorno

Um identificador para a janela não classificada.

Exemplo

Consulte o exemplo de CWnd::SubclassWindow.

CWnd::UpdateData

Chame essa função de membro para inicializar dados em uma caixa de diálogo ou para recuperar e validar dados de diálogo.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

Parâmetros

bSaveAndValidate
Sinalizador que indica se a caixa de diálogo está sendo inicializada (FALSE) ou se os dados estão sendo recuperados (TRUE).

Valor de retorno

Não zero se a operação for bem-sucedida; caso contrário, 0. Se bSaveAndValidate for TRUE, então um valor retornado de não zero significa que os dados são validados com êxito.

Comentários

A estrutura chama UpdateData automaticamente com bSaveAndValidate definido quando FALSE uma caixa de diálogo modal é criada na implementação padrão de CDialog::OnInitDialog. A chamada ocorre antes que a caixa de diálogo esteja visível. A implementação padrão de CDialog::OnOK chamadas dessa função membro com bSaveAndValidate o conjunto para TRUE recuperar os dados e, se bem-sucedido, fechará a caixa de diálogo. (Se o botão Cancelar for clicado na caixa de diálogo, a caixa de diálogo será fechada sem que os dados sejam recuperados.)

CWnd::UpdateDialogControls

Chame essa função de membro para atualizar o estado dos botões de diálogo e outros controles em uma caixa de diálogo ou janela que usa o ON_UPDATE_COMMAND_UI mecanismo de retorno de chamada.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

Parâmetros

pTarget
Aponta para a janela de quadro principal do aplicativo e é usado para roteamento de mensagens de atualização.

bDisableIfNoHndler
Sinalizador que indica se um controle que não tem nenhum manipulador de atualização deve ser exibido automaticamente como desabilitado.

Comentários

Se um controle filho não tiver um manipulador e bDisableIfNoHndler for TRUE, o controle filho será desabilitado.

A estrutura chama essa função de membro para controles em barras de diálogo ou barras de ferramentas como parte do processamento ocioso do aplicativo.

CWnd::UpdateLayeredWindow

Atualiza a posição, o tamanho, a forma, o conteúdo e a translucência 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 ponteiro para um contexto de dispositivo para a tela. Ele é usado para correspondência de cores de paleta quando o conteúdo da janela é atualizado. Se pDCDst for NULL, a paleta padrão será usada.

Se pDCSrc for NULL, pDCDst deve ser NULL.

pptDst
Um ponteiro para uma POINT estrutura que especifica a nova posição da tela da janela em camadas. Se a posição atual não estiver mudando, pptDst poderá ser NULL.

psize
Ponteiro para uma SIZE estrutura que especifica o novo tamanho da janela em camadas. Se o tamanho da janela não estiver mudando, psize poderá 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 mudando, pDCSrc poderá ser NULL.

pptSrc
Ponteiro para uma POINT estrutura que especifica o local da camada no contexto do dispositivo.

Se pDCSrc for NULL, pptSrc deve ser NULL.

crKey
Ponteiro para um COLORREF valor que especifica a chave de cor de transparência a ser usada ao redigir a janela em camadas. Todos os pixels pintados pela janela nessa cor serão transparentes. Para gerar um COLORREF, use a macro RGB.

pblend
Ponteiro para uma BLENDFUNCTION estrutura que especifica o valor de transparência a ser usado ao redigir a janela em camadas.

dwFlags
Especifica uma ação a ser tomada. Esse parâmetro pode ser um ou mais dos valores a seguir. Para obter uma lista de valores possíveis, consulte UpdateLayeredWindow.

Valor de retorno

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

Comentários

Essa função membro emula a funcionalidade da funçãoUpdateLayeredWindow, 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();

Comentários

A UpdateWindow função membro envia uma WM_PAINT mensagem diretamente, ignorando a fila do aplicativo. Se a região de atualização estiver vazia, WM_PAINT não será enviada.

Exemplo

// 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 especificado 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 do cliente do retângulo a ser removido da região de atualização. Se lpRect for NULL, a janela inteira será validada.

Comentários

A BeginPaint função membro valida automaticamente toda a área do cliente. Nem a ValidateRect função nem o ValidateRgn membro devem ser chamados se uma parte da região de atualização precisar ser validada antes WM_PAINT da próxima geração.

Windows continua gerando WM_PAINT mensagens até que a região de atualização atual seja validada.

CWnd::ValidateRgn

Valida a área do cliente dentro da região fornecida removendo a região da região de atualização atual da janela.

void ValidateRgn(CRgn* pRgn);

Parâmetros

pRgn
Um ponteiro para um CRgn objeto que identifica uma região que define a área a ser removida da região de atualização. Se esse parâmetro for NULL, toda a área do cliente será removida.

Comentários

A região fornecida deve ter sido criada anteriormente por uma função de região. As coordenadas da região são consideradas coordenadas do cliente.

A BeginPaint função membro valida automaticamente toda a área do cliente. Nem a ValidateRect função nem o ValidateRgn membro devem ser chamados se uma parte da região de atualização precisar ser validada antes que a próxima WM_PAINT mensagem seja gerada.

CWnd::WindowFromPoint

Recupera a janela que contém o ponto especificado; point deve especificar as coordenadas de tela de um ponto na tela.

static CWnd* PASCAL WindowFromPoint(POINT point);

Parâmetros

point
Especifica um CPoint objeto ou POINT estrutura de dados que define o ponto a ser verificado.

Valor de retorno

Um ponteiro para o objeto de janela no qual o ponto está. NULL É se nenhuma janela existe no ponto determinado. O ponteiro retornado pode ser temporário e não deve ser armazenado para uso posterior.

Comentários

WindowFromPoint não recupera uma janela oculta ou desabilitada, mesmo que o ponto esteja dentro da janela. Um aplicativo deve usar a ChildWindowFromPoint função membro para uma pesquisa não mestrictiva.

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 Windows a ser processada.

wParam
Fornece informações adicionais usadas no processamento da mensagem. O valor do parâmetro depende da mensagem.

lParam
Fornece informações adicionais usadas no processamento da mensagem. O valor do parâmetro depende da mensagem.

Valor de retorno

O valor retornado depende da mensagem.

Comentários

Ele envia mensagens pelo mapa de mensagens da janela.

CWnd::WinHelp

Chamado para iniciar o aplicativo WinHelp.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

Parâmetros

dwData
Especifica dados adicionais. O valor usado depende do valor do nCmd parâmetro.

nCmd
Especifica o tipo de ajuda solicitada. Para obter uma lista de valores possíveis e como eles afetam o dwData parâmetro, consulte a WinHelp função Windows no SDK Windows.

Comentários

Consulte CWinApp::WinHelp para obter mais informações.

CWnd::RegisterTouchWindow

Registra ou cancela o registro Windows suporte a toque.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

Parâmetros

bRegister
TRUEindica registrar Windows suporte ao toque; FALSE caso contrário.

ulFlags
Um conjunto de sinalizadores de bits que especificam modificações opcionais. Esse campo pode conter 0 ou um dos seguintes valores: TWF_FINETOUCH, TWF_WANTPALM.

Valor de retorno

TRUE caso bem-sucedido; caso contrário, FALSE.

Comentários

CWnd::ResizeDynamicLayout

Chamado pela estrutura quando o tamanho da janela for alterado para ajustar o layout das janelas filho, se o layout dinâmico estiver habilitado para a janela.

virtual void ResizeDynamicLayout();

Comentários

Confira também

CCmdTarget Classe
Gráfico de Hierarquia
CFrameWnd Classe
CView Classe