Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Fornece a funcionalidade base de todas as classes de janelas na Microsoft Foundation Class Library.
Sintaxe
class CWnd : public CCmdTarget
Membros
Construtores Públicos
| Nome | Description |
|---|---|
CWnd::CWnd |
Constrói um CWnd objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
CWnd::accDoDefaultAction |
Chamado pelo framework para realizar a ação padrão do objeto. |
CWnd::accHitTest |
Chamado pela estrutura para recuperar o elemento filho ou objeto filho em um determinado ponto na tela. |
CWnd::accLocation |
Chamado pela estrutura para recuperar o local da tela atual do objeto especificado. |
CWnd::accNavigate |
Chamado pelo framework para percorrer até outro elemento da interface de utilizador dentro de um contentor e, se possível, recuperar o objeto. |
CWnd::accSelect |
Chamado pela estrutura para modificar a seleção ou mover o foco do teclado do objeto especificado. |
CWnd::AnimateWindow |
Anima o objeto janela associado. |
CWnd::ArrangeIconicWindows |
Organiza todas as janelas filhos minimizadas (icónicas). |
CWnd::Attach |
Anexa um handle do Windows a um CWnd objeto. |
CWnd::BeginModalState |
Chame essa função de membro para criar uma janela de quadro modal. |
CWnd::BeginPaint |
Prepara-se CWnd para pintar. |
CWnd::BindDefaultProperty |
Vincula a propriedade simples predefinida do objeto chamante, conforme marcada na biblioteca de tipos, a um cursor associado a um controlo de fonte de dados. |
CWnd::BindProperty |
Associa uma propriedade limitada por cursor num controlo ligado a dados a um controlo de fonte de dados e regista essa relação com o gestor de ligação MFC. |
CWnd::BringWindowToTop |
Leva CWnd para o topo de uma pilha de janelas sobrepostas. |
CWnd::CalcWindowRect |
Chamado para calcular o retângulo de janela a partir do retângulo cliente. |
CWnd::CancelToolTips |
Desativa o controlo da tooltip. |
CWnd::CenterWindow |
Centra uma janela em relação ao seu progenitor. |
CWnd::ChangeClipboardChain |
Remove CWnd da cadeia de visualizadores do Quadro de Transferências. |
CWnd::CheckDlgButton |
Coloca uma marca ao lado ou remove uma marca de um controlo de botão. |
CWnd::CheckRadioButton |
Verifica o botão de rádio especificado e remove a marca de verificação de todos os outros botões do grupo de botões especificado. |
CWnd::ChildWindowFromPoint |
Determina qual, se alguma, das janelas filhas contém o ponto especificado. |
CWnd::ClientToScreen |
Converte as coordenadas do cliente de um dado ponto ou retângulo no ecrã em coordenadas do ecrã. |
CWnd::CloseWindow |
Minimiza a janela. |
CWnd::ContinueModal |
Continua o estado modal de uma janela. |
CWnd::Create |
Cria e inicializa a janela filha associada ao CWnd objeto. |
CWnd::CreateAccessibleProxy |
Cria um proxy de Acessibilidade Ativa para o objeto especificado. |
CWnd::CreateCaret |
Cria uma nova forma para o caret do sistema e obtém a posse do caret. |
CWnd::CreateControl |
Crie um controlo ActiveX que será representado num programa MFC por um CWnd objeto. |
CWnd::CreateEx |
Cria uma janela sobreposta, pop-up ou filha do Windows e anexa-a a um CWnd objeto. |
CWnd::CreateGrayCaret |
Cria um bloco cinzento para o caret do sistema e obtém a propriedade do caret. |
CWnd::CreateSolidCaret |
Cria um bloco sólido para o caret do sistema e obtém a propriedade do caret. |
CWnd::DeleteTempMap |
Chamado automaticamente pelo CWinApp tratador de tempo inativo e elimina quaisquer objetos temporários CWnd criados por FromHandle. |
CWnd::DestroyWindow |
Destrói a janela anexada à janela. |
CWnd::Detach |
Desliga um handle do Windows de um CWnd objeto e devolve o handle. |
CWnd::DlgDirList |
Preenche uma caixa de lista com uma listagem de ficheiros ou diretórios. |
CWnd::DlgDirListComboBox |
Preenche a caixa de lista de uma caixa de combo com uma listagem de ficheiros ou diretórios. |
CWnd::DlgDirSelect |
Recupera a seleção atual de uma caixa de lista. |
CWnd::DlgDirSelectComboBox |
Recupera a seleção atual da caixa de lista de uma caixa de combo. |
CWnd::DragAcceptFiles |
Indica que a janela aceita ficheiros arrastados. |
CWnd::DragDetect |
Captura o rato e acompanha o seu movimento até o utilizador soltar o botão esquerdo, pressionar a tecla ESC ou mover o rato para fora do retângulo de arrastar em torno do ponto especificado. |
CWnd::DrawAnimatedRects |
Desenha um retângulo em wireframe e anima-o para indicar a abertura de um ícone ou a minimização ou maximização de uma janela. |
CWnd::DrawCaption |
Desenha uma legenda. |
CWnd::DrawMenuBar |
Redesenha a barra de menus. |
CWnd::EnableActiveAccessibility |
Permite funções definidas Active Accessibility pelo utilizador. |
CWnd::EnableDynamicLayout |
Permite que a posição e o tamanho das janelas filhas se ajustem dinamicamente quando o utilizador redimensiona a janela. |
CWnd::EnableD2DSupport |
Ativa ou desativa o suporte a janelas D2D . Chame este método antes de a janela principal ser inicializada. |
CWnd::EnableScrollBar |
Ativa ou desativa uma ou ambas as setas de uma barra de scroll. |
CWnd::EnableScrollBarCtrl |
Ativa ou desativa um controlo de barra de scroll irmão. |
CWnd::EnableToolTips |
Ativa o controlo da tooltip. |
CWnd::EnableTrackingToolTips |
Ativa o controlo de tooltip no modo de rastreio. |
CWnd::EnableWindow |
Ativa ou desativa a entrada de rato e teclado. |
CWnd::EndModalLoop |
Termina o estado modal de uma janela. |
CWnd::EndModalState |
Chame essa função de membro para alterar uma janela de quadro de modal para sem modo. |
CWnd::EndPaint |
Marca o fim da pintura. |
CWnd::ExecuteDlgInit |
Inicia um recurso de diálogo. |
CWnd::FilterToolTipMessage |
Recupera o título ou texto associado a um controlo numa caixa de diálogo. |
CWnd::FindWindow |
Devolve a alavanca da janela, que é identificada pelo nome da janela e pela classe da janela. |
CWnd::FindWindowEx |
Devolve a alavanca da janela, que é identificada pelo nome da janela e pela classe da janela. |
CWnd::FlashWindow |
Pisca a janela uma vez. |
CWnd::FlashWindowEx |
Pisca a janela com funcionalidades adicionais. |
CWnd::FromHandle |
Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado. |
CWnd::FromHandlePermanent |
Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela. |
CWnd::get_accChild |
Chamado pela estrutura para recuperar o endereço de uma interface IDispatch para o filho especificado. |
CWnd::get_accChildCount |
Chamado pela estrutura para recuperar o número de filhos pertencentes a este objeto. |
CWnd::get_accDefaultAction |
Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a ação padrão do objeto. |
CWnd::get_accDescription |
Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a aparência visual do objeto especificado. |
CWnd::get_accFocus |
Chamado pela estrutura para recuperar o objeto que tem o foco do teclado. |
CWnd::get_accHelp |
Chamada pelo framework para recuperar a cadeia de propriedades Help de um objeto. |
CWnd::get_accHelpTopic |
Chamado pela estrutura para recuperar o caminho completo do arquivo de WinHelp associado ao objeto especificado e o identificador do tópico apropriado dentro desse arquivo. |
CWnd::get_accKeyboardShortcut |
Chamado pela estrutura para recuperar a tecla de atalho ou a chave de acesso do objeto especificado. |
CWnd::get_accName |
Chamado pela estrutura para recuperar o nome do objeto especificado. |
CWnd::get_accParent |
Chamado pelo framework para recuperar a IDispatch interface do pai do objeto. |
CWnd::get_accRole |
Chamado pela estrutura para recuperar informações que descrevem a função do objeto especificado. |
CWnd::get_accSelection |
Chamado pela estrutura para recuperar os filhos selecionados deste objeto. |
CWnd::get_accState |
Chamado pela estrutura para recuperar o estado atual do objeto especificado. |
CWnd::get_accValue |
Chamado pela estrutura para recuperar o valor do objeto especificado. |
CWnd::GetActiveWindow |
Recupera a janela ativa. |
CWnd::GetAncestor |
Recupera o objeto janela ancestral da janela especificada. |
CWnd::GetCapture |
Recupera o CWnd que tem a captura do rato. |
CWnd::GetCaretPos |
Recupera as coordenadas do cliente com a posição atual do caret. |
CWnd::GetCheckedRadioButton |
Devolve o ID do botão de rádio atualmente verificado num grupo de botões. |
CWnd::GetClientRect |
Obtém as dimensões da CWnd área do cliente. |
CWnd::GetClipboardOwner |
Recupera um ponteiro para o atual proprietário da Prancheta. |
CWnd::GetClipboardViewer |
Recupera um ponteiro para a primeira janela na cadeia de visualizadores de Clipboard. |
CWnd::GetControlUnknown |
Recupera um ponteiro para um controlo ActiveX desconhecido. |
CWnd::GetDC |
Recupera um contexto de visualização para a área do cliente. |
CWnd::GetDCEx |
Recupera um contexto de visualização para a área do cliente e permite o clipping durante o desenho. |
CWnd::GetDCRenderTarget |
Recupera o destino de renderização do contexto do dispositivo (DC) para a CWnd janela. |
CWnd::GetDescendantWindow |
Pesquisa todas as janelas descendentes e devolve a janela com o ID especificado. |
CWnd::GetDesktopWindow |
Recupera a janela do ambiente de trabalho do Windows. |
CWnd::GetDlgCtrlID |
Se for CWnd uma janela filha, chamar esta função devolve o seu valor ID. |
CWnd::GetDlgItem |
Recupera o controlo com o ID especificado da caixa de diálogo especificada. |
CWnd::GetDlgItemInt |
Traduz o texto de um controlo na caixa de diálogo dada para um valor inteiro. |
CWnd::GetDlgItemText |
Recupera a legenda ou texto associado a um controlo. |
CWnd::GetDSCCursor |
Recupera um ponteiro para o cursor subjacente definido pelas propriedades DataSource, UserName, Password e SQL de um controlo de fonte de dados. |
CWnd::GetDynamicLayout |
Recupera um ponteiro para o objeto gestor de layout dinâmico. |
CWnd::GetExStyle |
Devolve o estilo estendido da janela. |
CWnd::GetFocus |
Recupera o CWnd que atualmente tem o foco de entrada. |
CWnd::GetFont |
Recupera a fonte atual. |
CWnd::GetForegroundWindow |
Devolve um ponteiro para a janela em primeiro plano (a janela de nível superior com a qual o utilizador está a trabalhar atualmente). |
CWnd::GetIcon |
Recupera a pega de um ícone. |
CWnd::GetLastActivePopup |
Determina qual janela pop-up pertencente CWnd esteve mais recentemente ativa. |
CWnd::GetLayeredWindowAttributes |
Recupera a tecla de cor opacidade e transparência de uma janela em camadas. |
CWnd::GetMenu |
Recupera um ponteiro para o menu especificado. |
CWnd::GetNextDlgGroupItem |
Procura o próximo (ou anterior) controlo dentro de um grupo de controlos. |
CWnd::GetNextDlgTabItem |
Recupera o primeiro controlo com o WS_TABSTOP estilo que segue (ou precede) o controlo especificado. |
CWnd::GetNextWindow |
Devolve a próxima janela (ou a anterior) na lista do gestor de janelas. |
CWnd::GetOleControlSite |
Recupera o site personalizado para o controlo ActiveX especificado. |
CWnd::GetOpenClipboardWindow |
Recupera um ponteiro para a janela que atualmente tem a Prancheta aberta. |
CWnd::GetOwner |
Recupera um ponteiro para o proprietário de um CWnd. |
CWnd::GetParent |
Recupera a janela principal de CWnd (se existir). |
CWnd::GetParentFrame |
Recupera a CWnd janela de enquadramento pai do objeto. |
CWnd::GetParentOwner |
Devolve um ponteiro para a janela pai de uma janela filha. |
CWnd::GetProperty |
Recupera uma propriedade de controlo ActiveX. |
CWnd::GetRenderTarget |
Obtém um render target associado a essa janela. |
CWnd::GetSafeHwnd |
Retorna m_hWnd, ou NULL se o this ponteiro for NULL. |
CWnd::GetSafeOwner |
Recupera o dono do cofre para a janela dada. |
CWnd::GetScrollBarCtrl |
Devolve um controlo de barra de scroll irmão. |
CWnd::GetScrollBarInfo |
Recupera informações sobre a barra de scroll especificada. |
CWnd::GetScrollInfo |
Recupera a informação que a SCROLLINFO estrutura mantém sobre uma barra de deslocamento. |
CWnd::GetScrollLimit |
Recupera o limite da barra de deslocamento. |
CWnd::GetScrollPos |
Recupera a posição atual de uma caixa de pergaminho. |
CWnd::GetScrollRange |
Copia as posições mínimas e máximas atuais das barras de deslocamento para a dada barra. |
CWnd::GetStyle |
Devolve o estilo de janela atual. |
CWnd::GetSystemMenu |
Permite à aplicação aceder ao menu de Controlo para copiar e modificar. |
CWnd::GetTitleBarInfo |
Recupera informações sobre a barra de título especificada. |
CWnd::GetTopLevelFrame |
Recupera a janela de moldura do nível superior da janela. |
CWnd::GetTopLevelOwner |
Recupera a janela do nível superior. |
CWnd::GetTopLevelParent |
Recupera o pai superior da janela. |
CWnd::GetTopWindow |
Devolve a primeira janela filho que pertence ao CWnd. |
CWnd::GetUpdateRect |
Recupera as coordenadas do retângulo mais pequeno que envolve completamente a CWnd região de atualização. |
CWnd::GetUpdateRgn |
Recupera a CWnd região de atualização. |
CWnd::GetWindow |
Devolve a janela com a relação especificada a essa janela. |
CWnd::GetWindowContextHelpId |
Recupera o identificador de contexto da ajuda. |
CWnd::GetWindowDC |
Recupera o contexto de exibição de toda a janela, incluindo a barra de legendas, menus e barras de scroll. |
CWnd::GetWindowedChildCount |
Devolve o número de janelas filhas associadas. |
CWnd::GetWindowInfo |
Devolve informações sobre a janela. |
CWnd::GetWindowlessChildCount |
Devolve o número de janelas filhas sem janelas associadas. |
CWnd::GetWindowPlacement |
Recupera o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas de uma janela. |
CWnd::GetWindowRect |
Obtém as coordenadas do ecrã de CWnd. |
CWnd::GetWindowRgn |
Recupera uma cópia da região da janela de uma janela. |
CWnd::GetWindowText |
Devolve o texto da janela ou o título da legenda (se houver). |
CWnd::GetWindowTextLength |
Devolve o comprimento do texto ou título da legenda da janela. |
CWnd::HideCaret |
Esconde o caret removendo-o do ecrã. |
CWnd::HiliteMenuItem |
Destaca ou remove o destaque de um item do menu de nível superior (barra de menu). |
CWnd::HtmlHelp |
Chamado para iniciar a aplicação HTMLHelp. |
CWnd::Invalidate |
Invalida toda a área do cliente. |
CWnd::InvalidateRect |
Invalida a área cliente dentro do retângulo dado ao adicionar esse retângulo à região atual de atualização. |
CWnd::InvalidateRgn |
Invalida a área do cliente dentro da região dada ao adicionar essa região à região de atualização atual. |
CWnd::InvokeHelper |
Invoca um método ou propriedade de controlo ActiveX. |
CWnd::IsChild |
Indica se CWnd é uma janela filho ou outro descendente direto da janela especificada. |
CWnd::IsD2DSupportEnabled |
Determina se o suporte a D2D está ativado. |
CWnd::IsDialogMessage |
Determina se a mensagem dada é destinada à caixa de diálogo sem modos e, em caso afirmativo, processa-a. |
CWnd::IsDlgButtonChecked |
Determina se um controlo de botão está marcado. |
CWnd::IsDynamicLayoutEnabled |
Determina se o layout dinâmico está ativado nesta janela. Se o layout dinâmico estiver ativado, a posição e o tamanho das janelas filhas podem mudar quando o utilizador redimensiona a janela principal. |
CWnd::IsIconic |
Determina se CWnd é minimizado (icónico). |
CWnd::IsTouchWindow |
Especifica se CWnd tem suporte por toque. |
CWnd::IsWindowEnabled |
Determina se a janela está ativada para entrada de rato e teclado. |
CWnd::IsWindowVisible |
Determina se a janela é visível. |
CWnd::IsZoomed |
Determina se CWnd é maximizado. |
CWnd::KillTimer |
Desliga um temporizador do sistema. |
CWnd::LockWindowUpdate |
Desativa ou reativa o desenho na janela dada. |
CWnd::MapWindowPoints |
Converte (mapeia) um conjunto de pontos do espaço de coordenadas do para CWnd o espaço de coordenadas de outra janela. |
CWnd::MessageBox |
Cria e apresenta uma janela que contém uma mensagem fornecida pela aplicação e uma legenda. |
CWnd::ModifyStyle |
Modifica o estilo atual da janela. |
CWnd::ModifyStyleEx |
Modifica o estilo alargado da janela. |
CWnd::MoveWindow |
Altera a posição e as dimensões de CWnd. |
CWnd::NotifyWinEvent |
Sinaliza ao sistema que ocorreu um evento pré-definido. |
CWnd::OnAmbientProperty |
Implemente valores ambientais das propriedades. |
CWnd::OnDrawIconicThumbnailOrLivePreview |
É chamado pelo framework quando este precisa de obter um bitmap para ser exibido na miniatura do separador do Windows 7, ou no cliente para o peek da aplicação. |
CWnd::OnHelp |
Trata da Ajuda F1 dentro da aplicação (usando o contexto atual). |
CWnd::OnHelpFinder |
Trata dos ID_HELP_FINDER comandos e ID_DEFAULT_HELP . |
CWnd::OnHelpIndex |
Trata do ID_HELP_INDEX comando e fornece um tópico de Ajuda por defeito. |
CWnd::OnHelpUsing |
Trata da ID_HELP_USING ordem. |
CWnd::OnToolHitTest |
Determina se um ponto está no retângulo delimitador da ferramenta especificada e recupera informações sobre a ferramenta. |
CWnd::OpenClipboard |
Abre a prancheta. Outras aplicações não poderão modificar a Prancheta até que a função Windows CloseClipboard seja chamada. |
CWnd::PaintWindowlessControls |
Desenha controlos sem janelas no contentor de controlo. |
CWnd::PostMessage |
Coloca uma mensagem na fila da aplicação e depois retorna sem esperar que a janela processe a mensagem. |
CWnd::PreCreateWindow |
Chamado antes da criação da janela do Windows associada a este CWnd objeto. |
CWnd::PreSubclassWindow |
Permite que ocorram outras subclasses necessárias antes SubclassWindow de ser chamada. |
CWnd::PreTranslateMessage |
Usado por CWinApp para filtrar mensagens de janela antes de serem despachadas para as TranslateMessage funções e DispatchMessage Windows. |
CWnd::Print |
Desenha a janela atual no contexto do dispositivo especificado. |
CWnd::PrintClient |
Desenha qualquer janela no contexto do dispositivo especificado (normalmente um contexto de dispositivo de impressora). |
CWnd::PrintWindow |
Copia uma janela visual para o contexto especificado do dispositivo, tipicamente um DC de impressora. |
CWnd::RedrawWindow |
Atualiza o retângulo ou região especificado na área do cliente. |
CWnd::RegisterTouchWindow |
Registo/Desregisto de janelas suporte ao Windows Touch. |
CWnd::ReleaseDC |
Liberta os contextos do cliente e do dispositivo Windows, libertando-os para uso por outras aplicações. |
CWnd::RepositionBars |
Reposiciona as barras de controlo na área do cliente. |
CWnd::RunModalLoop |
Recupera, traduz ou despacha mensagens para uma janela que está em estado modal. |
CWnd::ScreenToClient |
Converte as coordenadas do ecrã de um dado ponto ou retângulo no ecrã para coordenadas do cliente. |
CWnd::ScrollWindow |
Percorre o conteúdo da área do cliente. |
CWnd::ScrollWindowEx |
Percorre o conteúdo da área do cliente. Semelhante a ScrollWindow, com funcionalidades adicionais. |
CWnd::SendChildNotifyLastMsg |
Fornece uma mensagem de notificação para uma janela filha, a partir da janela pai, para que a janela filha possa tratar de uma tarefa. |
CWnd::SendDlgItemMessage |
Envia uma mensagem para o controlo especificado. |
CWnd::SendMessage |
Envia uma mensagem ao CWnd objeto e não retorna até ter processado a mensagem. |
CWnd::SendMessageToDescendants |
Envia uma mensagem para todas as janelas descendentes da janela. |
CWnd::SendNotifyMessage |
Envia a mensagem especificada para a janela e retorna o mais rapidamente possível, dependendo se o thread que chamou criou a janela. |
CWnd::SetActiveWindow |
Ativa a janela. |
CWnd::SetCapture |
Faz com que toda a entrada subsequente do rato seja enviada para o CWnd. |
CWnd::SetCaretPos |
Move o caret para uma posição especificada. |
CWnd::SetClipboardViewer |
Adiciona CWnd à cadeia de janelas que são notificadas sempre que o conteúdo da Área de Transferência é alterado. |
CWnd::SetDlgCtrlID |
Define o ID da janela ou do controlo para a janela (que pode ser qualquer janela filha, não apenas um controlo numa caixa de diálogo). |
CWnd::SetDlgItemInt |
Define o texto de um controlo para a cadeia que representa um valor inteiro. |
CWnd::SetDlgItemText |
Define a legenda ou o texto de um controlo na caixa de diálogo especificada. |
CWnd::SetFocus |
Afirma o foco de entrada. |
CWnd::SetFont |
Define a fonte atual. |
CWnd::SetForegroundWindow |
Coloca o fio que criou a janela em primeiro plano e ativa a janela. |
CWnd::SetIcon |
Define a pega para um ícone específico. |
CWnd::SetLayeredWindowAttributes |
Define a chave de cor opacidade e transparência de uma janela em camadas. |
CWnd::SetMenu |
Define o menu para o menu especificado. |
CWnd::SetOwner |
Muda o proprietário de um CWnd. |
CWnd::SetParent |
Altera a janela dos pais. |
CWnd::SetProperty |
Define uma propriedade de controlo ActiveX. |
CWnd::SetRedraw |
Permite que as alterações sejam CWnd redesenhadas ou impede que as alterações sejam redesenhadas. |
CWnd::SetScrollInfo |
Define a informação sobre a barra de deslocamento. |
CWnd::SetScrollPos |
Define a posição atual de uma caixa de deslocamento e, se especificado, redesenha a barra de deslocamento para refletir a nova posição. |
CWnd::SetScrollRange |
Define valores mínimos e máximos de posição para a barra de deslocação dada. |
CWnd::SetTimer |
Instala um temporizador do sistema que envia uma WM_TIMER mensagem quando é ativado. |
CWnd::SetWindowContextHelpId |
Define o identificador de contexto da ajuda. |
CWnd::SetWindowPlacement |
Define o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas para uma janela. |
CWnd::SetWindowPos |
Altera o tamanho, a posição e a ordem das janelas filhas, pop-up e do nível superior. |
CWnd::SetWindowRgn |
Define a região de uma janela. |
CWnd::SetWindowText |
Define o texto da janela ou o título da legenda (se houver) para o texto especificado. |
CWnd::ShowCaret |
Mostra o caret no ecrã na posição atual do caret. Uma vez mostrado, o caret começa a piscar automaticamente. |
CWnd::ShowOwnedPopups |
Mostra ou esconde todas as janelas pop-up pertencentes à janela. |
CWnd::ShowScrollBar |
Exibe ou esconde uma barra de deslocamento. |
CWnd::ShowWindow |
Mostra ou esconde a janela. |
CWnd::SubclassDlgItem |
Anexa um controlo do Windows a um CWnd objeto e faz com que este encaminhe mensagens através do CWnd's message map. |
CWnd::SubclassWindow |
Anexa uma janela a um CWnd objeto e faz com que este encaminhe mensagens através do CWndmapa de mensagens de . |
CWnd::UnlockWindowUpdate |
Destranca uma janela que estava trancada com CWnd::LockWindowUpdate. |
CWnd::UnsubclassWindow |
Destaca uma janela de um CWnd objeto |
CWnd::UpdateData |
Inicializa ou recupera dados de uma caixa de diálogo. |
CWnd::UpdateDialogControls |
Ligue para atualizar o estado dos botões de diálogo e outros controlos. |
CWnd::UpdateLayeredWindow |
Atualiza a posição, tamanho, forma, conteúdo e translucidez de uma janela em camadas. |
CWnd::UpdateWindow |
Atualiza a área do cliente. |
CWnd::ValidateRect |
Valida a área do cliente dentro do retângulo dado removendo o retângulo da região de atualização atual. |
CWnd::ValidateRgn |
Valida a área do cliente dentro da região dada removendo a região da região de atualização atual. |
CWnd::WindowFromPoint |
Identifica a janela que contém o ponto indicado. |
CWnd::WinHelp |
Liguei para iniciar a aplicação WinHelp. |
Métodos Protegidos
| Nome | Description |
|---|---|
CWnd::Default |
Chama o procedimento de janela predefinido, que fornece processamento padrão para quaisquer mensagens de janela que uma aplicação não processe. |
CWnd::DefWindowProc |
Chama o procedimento de janela predefinido, que fornece processamento padrão para quaisquer mensagens de janela que uma aplicação não processe. |
CWnd::DoDataExchange |
Para troca e validação de dados de diálogo. Chamado por UpdateData. |
CWnd::GetCurrentMessage |
Devolve um ponteiro para a mensagem que esta janela está a processar. Só deve ser chamada quando estiver numa OnMessage função membro do manipulador de mensagens. |
CWnd::InitDynamicLayout |
Chamado pela framework para inicializar o layout dinâmico da janela. |
CWnd::LoadDynamicLayoutResource |
Carrega a informação dinâmica de layout a partir do ficheiro de recursos. |
CWnd::OnActivate |
É chamado quando CWnd está a ser ativado ou desativado. |
CWnd::OnActivateApp |
Chamada quando a aplicação está prestes a ser ativada ou desativada. |
CWnd::OnAppCommand |
Chamado quando o utilizador gera um evento de comando de aplicação. |
CWnd::OnAskCbFormatName |
É chamado por uma aplicação de visualização de Área de Transferência quando um proprietário de Área de Transferência exibe o conteúdo da Prancheta. |
CWnd::OnCancelMode |
Chamado para permitir CWnd o cancelamento de quaisquer modos internos, como captura do rato. |
CWnd::OnCaptureChanged |
Envia uma mensagem para a janela a perder a captura do rato. |
CWnd::OnChangeCbChain |
Notifica que uma janela especificada está a ser removida da cadeia. |
CWnd::OnChangeUIState |
É chamado quando o estado da interface de utilizador (UI) deve ser alterado. |
CWnd::OnChar |
Chamada quando uma tecla se traduz para um carácter não do sistema. |
CWnd::OnCharToItem |
Chamado por uma caixa de lista criança com o LBS_WANTKEYBOARDINPUT estilo em resposta a uma WM_CHAR mensagem. |
CWnd::OnChildActivate |
Solicita janelas filhas de múltiplas interfaces de documentos (MDI) sempre que o tamanho ou a posição do CWnd documento muda ou CWnd é ativada. |
CWnd::OnChildNotify |
Chamado por uma janela parental para dar a um controlo notificador a oportunidade de responder a uma notificação de controlo. |
CWnd::OnClipboardUpdate |
Liga quando o conteúdo da prancheta mudou. |
CWnd::OnClose |
Chamado como sinal que CWnd deveria estar fechado. |
CWnd::OnColorizationColorChanged |
Chamado quando a política de renderização para a área não cliente mudou. |
CWnd::OnCommand |
Chamada quando o utilizador seleciona um comando. |
CWnd::OnCompacting |
É chamado quando o Windows detetar que a memória do sistema está baixa. |
CWnd::OnCompareItem |
Chamado para determinar a posição relativa de um novo item numa caixa combinada de proprietário-sorteio ou caixa de lista ordenada por filho. |
CWnd::OnCompositionChanged |
Chamado para todas as janelas de topo quando a composição do Gestor de Janelas do Ambiente de Trabalho (DWM) está ativada ou desativada. |
CWnd::OnContextMenu |
É chamado quando o utilizador clica no botão direito do rato na janela. |
CWnd::OnCopyData |
Copia dados de uma aplicação para outra. |
CWnd::OnCreate |
Chamado como parte da criação de janelas. |
CWnd::OnCtlColor |
Chamado se CWnd for o pai de um controlo quando este está prestes a ser desenhado. |
CWnd::OnDeadChar |
Chamada quando uma tecla se traduz para um carácter morto não do sistema (como caracteres de acento). |
CWnd::OnDeleteItem |
É chamado quando uma caixa de lista de filhos ou caixa de combo do proprietário-sorteio é destruída ou quando itens são removidos do controlo. |
CWnd::OnDestroy |
Chamado quando CWnd está a ser destruído. |
CWnd::OnDestroyClipboard |
Chamado quando a Área de Transferência é esvaziada através de uma chamada para a função Windows EmptyClipboard . |
CWnd::OnDeviceChange |
Notifica uma aplicação ou controlador de dispositivo sobre uma alteração na configuração de hardware de um dispositivo ou do computador. |
CWnd::OnDevModeChange |
Solicitou todas as janelas de topo quando o utilizador altera as definições do modo do dispositivo. |
CWnd::OnDrawClipboard |
Chamo quando o conteúdo da Área de Transferência muda. |
CWnd::OnDrawItem |
Chamado quando é necessário desenhar um aspeto visual de um controlo de botão filho de desenho do proprietário, controlo de caixas de combo, controlo de caixa de lista ou menu. |
CWnd::OnDropFiles |
Chamado quando o utilizador larga o botão esquerdo do rato sobre uma janela que se registou como destinatária dos ficheiros perdidos. |
CWnd::OnEnable |
É chamado quando CWnd está ativado ou desativado. |
CWnd::OnEndSession |
Liga quando a sessão está a acabar. |
CWnd::OnEnterIdle |
Chamado para informar o procedimento da janela principal de uma aplicação de que uma caixa de diálogo modal ou um menu está a entrar num estado de inatividade. |
CWnd::OnEnterMenuLoop |
É chamado quando um loop modal do menu é introduzido. |
CWnd::OnEnterSizeMove |
Chamada depois de a janela afetada entrar num loop modal em movimento ou dimensionamento. |
CWnd::OnEraseBkgnd |
É chamado quando o fundo da janela precisa de ser apagado. |
CWnd::OnExitMenuLoop |
É chamado quando um loop modal do menu foi encerrado. |
CWnd::OnExitSizeMove |
Chamada depois de a janela afetada sair de um loop modal móvel ou de dimensionamento. |
CWnd::OnFontChange |
É chamado quando o pool de recursos de fontes muda. |
CWnd::OnGetDlgCode |
É solicitado um controlo para que o controlo possa processar seta e teclas TAB por si próprio. |
CWnd::OnGetMinMaxInfo |
É chamado sempre que o Windows precisa de saber a posição ou dimensões maximizadas, ou o tamanho mínimo ou máximo de rastreamento. |
CWnd::OnHelpInfo |
Chamada pelo framework quando o utilizador pressiona a tecla F1. |
CWnd::OnHotKey |
Chamada quando o utilizador pressiona uma tecla de atalho a nível do sistema. |
CWnd::OnHScroll |
Chamada quando o utilizador clica na barra horizontal de scroll de CWnd. |
CWnd::OnHScrollClipboard |
É chamado quando um proprietário da Área de Transferência deve deslocar a imagem da Área de Transferências, invalidar a secção apropriada e atualizar os valores da barra de deslocamento. |
CWnd::OnIconEraseBkgnd |
Chamado quando CWnd é minimizado (icónico) e o fundo do ícone deve ser preenchido antes de o pintar. |
CWnd::OnInitMenu |
Chamada quando um menu está prestes a ativar-se. |
CWnd::OnInitMenuPopup |
É chamada quando um menu pop-up está prestes a ser ativado. |
CWnd::OnInputDeviceChange |
É chamado quando um dispositivo de E/S é adicionado ou removido do sistema. |
CWnd::OnInputLangChange |
Chamada após a linguagem de entrada de uma aplicação ter sido alterada. |
CWnd::OnInputLangChangeRequest |
Chamada quando o utilizador escolhe uma nova linguagem de entrada. |
CWnd::OnKeyDown |
Chamada quando uma tecla não do sistema é pressionada. |
CWnd::OnKeyUp |
Chamada quando uma chave não do sistema é libertada. |
CWnd::OnKillFocus |
Chamado imediatamente antes CWnd de perder o foco de entrada. |
CWnd::OnLButtonDblClk |
É chamado quando o utilizador faz duplo clique no botão esquerdo do rato. |
CWnd::OnLButtonDown |
É chamado quando o utilizador pressiona o botão esquerdo do rato. |
CWnd::OnLButtonUp |
Chamada quando o utilizador solta o botão esquerdo do rato. |
CWnd::OnMButtonDblClk |
Chamada quando o utilizador faz duplo clique no botão do meio do rato. |
CWnd::OnMButtonDown |
É chamada quando o utilizador pressiona o botão do meio do rato. |
CWnd::OnMButtonUp |
É chamado quando o utilizador solta o botão do meio do rato. |
CWnd::OnMDIActivate |
É chamada quando uma janela MDI é ativada ou desativada. |
CWnd::OnMeasureItem |
É exigido uma caixa combinada de filho proprietário-desenho, caixa de lista ou item de menu quando o controlo é criado.
CWnd informa o Windows das dimensões do controlo. |
CWnd::OnMenuChar |
É chamado quando o utilizador pressiona um carácter mnemónico do menu que não corresponde a nenhum dos mnemónicos predefinidos no menu atual. |
CWnd::OnMenuDrag |
É chamado quando o utilizador começa a arrastar um item do menu. |
CWnd::OnMenuGetObject |
É chamado quando o cursor do rato entra num item do menu ou se move do centro do item para o topo ou base do item. |
CWnd::OnMenuRButtonUp |
É chamado quando o utilizador solta o botão direito do rato enquanto o cursor está num item do menu. |
CWnd::OnMenuSelect |
É chamado quando o utilizador seleciona um item do menu. |
CWnd::OnMouseActivate |
Chamada quando o cursor está numa janela inativa e o utilizador pressiona um botão do rato. |
CWnd::OnMouseHover |
Chamado quando o cursor paira sobre a área do cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent. |
CWnd::OnMouseHWheel |
Chamada quando a roda horizontal do rato está inclinada ou rodada. |
CWnd::OnMouseLeave |
Chamado quando o cursor sai da área cliente da janela especificada numa chamada anterior para TrackMouseEvent. |
CWnd::OnMouseMove |
É chamado quando o cursor do rato se move. |
CWnd::OnMouseWheel |
Chamada quando um utilizador roda a roda do rato. Utiliza o tratamento de mensagens do Windows NT 4.0. |
CWnd::OnMove |
Chamado depois de a posição CWnd do ter sido alterada. |
CWnd::OnMoving |
Indica que um utilizador está a mover um CWnd objeto. |
CWnd::OnNcActivate |
Chamada quando a área não-cliente precisa de ser alterada para indicar um estado ativo ou inativo. |
CWnd::OnNcCalcSize |
Chamada quando é necessário calcular o tamanho e a posição da área do cliente. |
CWnd::OnNcCreate |
Chamado antes de OnCreate a área não cliente estar a ser criada. |
CWnd::OnNcDestroy |
Liga quando a área não cliente está a ser destruída. |
CWnd::OnNcHitTest |
Chamada pelo Windows sempre que o rato é movido se CWnd contiver o cursor ou tiver capturado input do rato com SetCapture. |
CWnd::OnNcLButtonDblClk |
Chamado quando o utilizador faz duplo clique no botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd. |
CWnd::OnNcLButtonDown |
Chamado quando o utilizador pressiona o botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd. |
CWnd::OnNcLButtonUp |
Chamado quando o utilizador solta o botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd. |
CWnd::OnNcMButtonDblClk |
Chamado quando o utilizador faz duplo clique no botão do meio do rato enquanto o cursor está numa área não cliente de CWnd. |
CWnd::OnNcMButtonDown |
Chamado quando o utilizador pressiona o botão do meio do rato enquanto o cursor está dentro de uma área não cliente de CWnd. |
CWnd::OnNcMButtonUp |
Chamado quando o utilizador solta o botão do meio do rato enquanto o cursor está dentro de uma área não cliente de CWnd. |
CWnd::OnNcMouseHover |
Chamado quando o cursor paira sobre a área não cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent. |
CWnd::OnNcMouseLeave |
O framework chama esta função membro quando o cursor sai da área não-cliente da janela especificada numa chamada anterior para TrackMouseEvent. |
CWnd::OnNcMouseMove |
Chamado quando o cursor é movido dentro de uma área não cliente de CWnd. |
CWnd::OnNcPaint |
Chamo quando a área não cliente precisa de pintura. |
CWnd::OnNcRButtonDblClk |
Chamado quando o utilizador faz duplo clique no botão direito do rato enquanto o cursor está dentro de uma área não cliente de CWnd. |
CWnd::OnNcRButtonDown |
Chamado quando o utilizador pressiona o botão direito do rato enquanto o cursor está numa área não cliente de CWnd. |
CWnd::OnNcRButtonUp |
Chamada quando o utilizador solta o botão direito do rato enquanto o cursor está dentro de uma área não cliente de CWnd. |
CWnd::OnNcRenderingChanged |
Chamado quando a política de renderização para a área não cliente mudou. |
CWnd::OnNcXButtonDblClk |
Chamada quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela. |
CWnd::OnNcXButtonDown |
É chamado quando o utilizador pressiona XBUTTON1 ou XBUTTON2 do rato enquanto o cursor está na área não cliente de uma janela. |
CWnd::OnNcXButtonUp |
Chamado quando o utilizador solta XBUTTON1 ou XBUTTON2 do rato enquanto o cursor está na área não cliente de uma janela. |
CWnd::OnNextMenu |
É chamado quando a seta direita ou esquerda é usada para alternar entre a barra de menu e o menu do sistema. |
CWnd::OnNotify |
Chamado pelo framework para informar uma janela pai que ocorreu um evento num dos seus controlos ou que o controlo precisa de informação. |
CWnd::OnNotifyFormat |
Chamado para determinar se a janela atual aceita estruturas ANSI ou Unicode na WM_NOTIFY mensagem de notificação. |
CWnd::OnPaint |
Chamei para repintar uma parte da janela. |
CWnd::OnPaintClipboard |
É chamado quando a área do cliente do visualizador de Clipboard precisa de ser repintada. |
CWnd::OnPaletteChanged |
Chamado para permitir que janelas que usam uma paleta de cores realizem as suas paletas lógicas e atualizem as áreas do cliente. |
CWnd::OnPaletteIsChanging |
Informa outras aplicações quando uma aplicação vai realizar a sua paleta lógica. |
CWnd::OnParentNotify |
Chamada quando uma janela filha é criada ou destruída, ou quando o utilizador clica num botão do rato enquanto o cursor está sobre a janela filha. |
CWnd::OnPowerBroadcast |
Chamada quando ocorre um evento de gestão de energia. |
CWnd::OnQueryDragIcon |
Chamada quando um minimizado (icónico) CWnd está prestes a ser arrastado pelo utilizador. |
CWnd::OnQueryEndSession |
Chamada quando o utilizador decide terminar a sessão do Windows. |
CWnd::OnQueryNewPalette |
Informa CWnd que está prestes a receber o foco de entrada. |
CWnd::OnQueryOpen |
Chamado quando CWnd é um ícone e o utilizador pede que o ícone seja aberto. |
CWnd::OnQueryUIState |
Chamado para recuperar o estado da interface de utilizador (UI) de uma janela. |
CWnd::OnRawInput |
É chamada quando a janela atual recebe entrada bruta. |
CWnd::OnRButtonDblClk |
Chamada quando o utilizador faz duplo clique no botão direito do rato. |
CWnd::OnRButtonDown |
É chamado quando o utilizador pressiona o botão direito do rato. |
CWnd::OnRButtonUp |
É chamado quando o utilizador solta o botão direito do rato. |
CWnd::OnRenderAllFormats |
É chamada quando a aplicação proprietária está a ser destruída e precisa de renderizar todos os seus formatos. |
CWnd::OnRenderFormat |
Chamado para o proprietário da Clipboard quando um determinado formato com renderização atrasada precisa de ser renderizado. |
CWnd::OnSessionChange |
Chamado para notificar uma aplicação de uma alteração no estado da sessão. |
CWnd::OnSetCursor |
É chamado se a entrada do rato não for captada e o rato causar movimento do cursor dentro de uma janela. |
CWnd::OnSetFocus |
Chamado depois CWnd ganha o foco de entrada. |
CWnd::OnSettingChange |
É chamado quando a função Win32 SystemParametersInfo altera uma configuração do sistema. |
CWnd::OnShowWindow |
Diz quando CWnd deve ser escondido ou mostrado. |
CWnd::OnSize |
Chamado depois de o tamanho de CWnd ter mudado. |
CWnd::OnSizeClipboard |
Chamado quando o tamanho da área do cliente da janela do visualizador de Clipboard mudou. |
CWnd::OnSizing |
Indica que o utilizador está a redimensionar o retângulo. |
CWnd::OnSpoolerStatus |
Chamado do Print Manager sempre que um trabalho é adicionado ou removido da fila do Print Manager. |
CWnd::OnStyleChanged |
Indica que a SetWindowLong função Windows alterou um ou mais estilos da janela. |
CWnd::OnStyleChanging |
Indica que a SetWindowLong função Windows está prestes a mudar um ou mais estilos da janela. |
CWnd::OnSysChar |
Chamada quando uma tecla se traduz para um carácter do sistema. |
CWnd::OnSysColorChange |
Chamadas para todas as janelas de topo quando é feita uma alteração na definição de cor do sistema. |
CWnd::OnSysCommand |
Chamada quando o utilizador seleciona um comando no menu Control, ou quando seleciona o botão Maximizar ou Minimizar. |
CWnd::OnSysDeadChar |
Chamada quando uma tecla se traduz num carácter morto do sistema (como caracteres de acento). |
CWnd::OnSysKeyDown |
É chamado quando o utilizador mantém pressionada a tecla ALT e depois pressiona outra tecla. |
CWnd::OnSysKeyUp |
É chamado quando o utilizador liberta uma tecla que foi pressionada enquanto a tecla ALT estava pressionada. |
CWnd::OnTCard |
É chamado quando o utilizador clica num botão autorável. |
CWnd::OnTimeChange |
Pediu para todas as janelas de topo depois de o horário do sistema mudar. |
CWnd::OnTimer |
Chamado após cada intervalo especificado em SetTimer. |
CWnd::OnTouchInput |
Processar uma única entrada do Windows Touch. |
CWnd::OnTouchInputs |
Processar entradas do Windows Touch. |
CWnd::OnUniChar |
É chamada quando uma tecla é pressionada. Ou seja, a janela atual tem o foco do teclado e uma WM_KEYDOWN mensagem é traduzida pela TranslateMessage função. |
CWnd::OnUnInitMenuPopup |
É chamado quando um menu suspenso ou submenu foi destruído. |
CWnd::OnUpdateUIState |
Chamado para alterar o estado da interface do utilizador (UI) da janela especificada e de todas as suas janelas filhas. |
CWnd::OnUserChanged |
Liga depois de o utilizador ter iniciado sessão. |
CWnd::OnVKeyToItem |
Chamado por uma caixa de lista pertencente a em CWnd resposta a uma WM_KEYDOWN mensagem. |
CWnd::OnVScroll |
É chamado quando o utilizador clica na barra de scroll vertical da janela. |
CWnd::OnVScrollClipboard |
Chamado quando o proprietário deve deslocar a imagem da Área de Transferências, invalidar a secção apropriada e atualizar os valores da barra de deslocamento. |
CWnd::OnWindowPosChanged |
Chamado quando o tamanho, posição ou ordem Z mudou como resultado de uma chamada para SetWindowPos ou outra função de gestão de janelas. |
CWnd::OnWindowPosChanging |
Chamado quando o tamanho, a posição ou a ordem Z está prestes a mudar como resultado de uma chamada para SetWindowPos ou outra função de gestão de janelas. |
CWnd::OnWinIniChange |
Chamado para todas as janelas de topo após o ficheiro de inicialização do Windows, WIN.INI, ser alterado. |
CWnd::OnWndMsg |
Indica se uma mensagem do Windows foi tratada. |
CWnd::OnXButtonDblClk |
Chamada quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela. |
CWnd::OnXButtonDown |
Chamada quando o utilizador pressiona XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela. |
CWnd::OnXButtonUp |
Chamado quando o utilizador liberta XBUTTON1 ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela. |
CWnd::PostNcDestroy |
Esta função virtual é chamada pela função padrão OnNcDestroy depois de a janela ter sido destruída. |
CWnd::ReflectChildNotify |
função auxiliar, que reflete uma mensagem para a sua fonte. |
CWnd::ReflectLastMsg |
Reflete a última mensagem para a janela criança. |
CWnd::ResizeDynamicLayout |
Chamado pela framework quando o tamanho da janela muda para ajustar o layout das janelas filhas, se o layout dinâmico estiver ativado para a janela. |
CWnd::WindowProc |
Fornece um procedimento de janela para um CWnd. O padrão despacha as mensagens através do mapa de mensagens. |
Operadores Públicos
| Nome | Description |
|---|---|
CWnd::operator HWND |
Liga para pôr uma maçaneta numa janela. |
CWnd::operator != |
Determina se uma janela não é igual à janela cujo puxador é m_hWnd. |
CWnd::operator == |
Determina se uma janela é igual à janela cujo puxador é m_hWnd. |
Membros de Dados Públicos
| Nome | Description |
|---|---|
CWnd::m_hWnd |
Indica o HWND ligado a este CWnd. |
Observações
Um CWnd objeto é distinto de uma janela Windows, mas os dois estão fortemente ligados. Um CWnd objeto é criado ou destruído pelo construtor e destruidor CWnd . A janela do Windows, por outro lado, é uma estrutura de dados interna ao Windows que é criada por uma Create função membro e destruída pelo CWnd destruidor virtual. A DestroyWindow função destrói a janela do Windows sem destruir o objeto.
A CWnd classe e o mecanismo de mapa de mensagens escondem a WndProc função. As mensagens de notificação recebidas do Windows são automaticamente encaminhadas através do mapa de mensagens para as funções adequadas do membro OnMessageCWnd . Sobrepões uma função de membro OnMessage para tratar a mensagem particular de um membro nas tuas classes derivadas.
A CWnd classe também permite criar uma janela filho do Windows para a sua aplicação. Derive uma classe a partir de CWnd, e depois adicione variáveis membro à classe derivada para armazenar dados específicos da sua aplicação. Implemente funções de membro do manipulador de mensagens e um mapa de mensagens na classe derivada para especificar o que acontece quando as mensagens são direcionadas para a janela.
Cria-se uma janela filho em dois passos. Primeiro, chama o construtor CWnd para construir o CWnd objeto, depois chama a Create função membro para criar a janela filho e anexá-la ao CWnd objeto.
Quando o utilizador termina a sua janela filha, destrua o CWnd objeto ou chame a DestroyWindow função membro para remover a janela e destruir as suas estruturas de dados.
Dentro da Microsoft Foundation Class Library, são derivadas classes adicionais para CWnd fornecer tipos específicos de janelas. Muitas destas classes, incluindo CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, e CDialog, são concebidas para derivação posterior. As classes de controlo derivadas de CWnd, como CButton, podem ser usadas diretamente ou podem ser usadas para dedução adicional de classes.
Para mais informações sobre a utilização CWndde , veja Frame Windows e Objetos Janela.
Hierarquia de herança
CWnd
Requerimentos
Cabeçalho: afxwin.h
CWnd::accDoDefaultAction
Chamado pelo framework para realizar a ação padrão do objeto.
virtual HRESULT accDoDefaultAction(VARIANT varChild);
Parâmetros
varCriança
Especifica se a ação padrão a invocar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser CHILDID_SELF (para realizar a ação padrão do objeto) ou um ID filho (para executar a ação padrão de um dos elementos filhos do objeto).
Valor de retorno
Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Ver valores de retorno em IAccessible::accDoDefaultAction no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada para executar a ação padrão do seu objeto. Para mais informações, consulte IAccessible::accDoDefaultAction no SDK do Windows.
CWnd::accHitTest
Chamado pela estrutura para recuperar o elemento filho ou objeto filho em um determinado ponto na tela.
virtual HRESULT accHitTest(
long xLeft,
long yTop,
VARIANT* pvarChild);
Parâmetros
xLeft
Coordenada X do ponto a ser testado (em unidades de ecrã).
yTop
Coordenada Y do ponto a ser testado (em unidades de ecrã).
pvarChild
Recebe informação que identifica o objeto no ponto especificado por xLeft e yTop. Veja pvarID no IAccessible::accHitTest SDK do Windows.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accHitTest no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::accHitTest no SDK do Windows.
CWnd::accLocation
Chamado pela estrutura para recuperar o local da tela atual do objeto especificado.
virtual HRESULT accLocation(
long* pxLeft,
long* pyTop,
long* pcxWidth,
long* pcyHeight,
VARIANT varChild);
Parâmetros
pxLeft
Recebe a coordenada x do canto superior esquerdo do objeto (em unidades de ecrã).
pyTop
Recebe a coordenada y do canto superior esquerdo do objeto (em unidades de ecrã).
pcxWidth
Recebe a largura do objeto (em unidades de ecrã).
pcyHeight
Recebe a altura do objeto (em unidades de ecrã).
varChild
Especifica se a localização a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
Valor de retorno
Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accLocation no SDK do Windows.
Observações
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::accLocation no SDK do Windows.
CWnd::accNavigate
Chamado pelo framework para percorrer até outro elemento da interface de utilizador dentro de um contentor e, se possível, recuperar o objeto.
virtual HRESULT accNavigate(
long navDir,
VARIANT varStart,
VARIANT* pvarEndUpAt);
Parâmetros
navDir
Especifica a direção a seguir. Veja navDir no IAccessible::accNavigate SDK do Windows.
varStart
Especifica o objeto inicial. Veja varStart no IAccessible::accNavigate SDK do Windows.
pvarEndUpAt
Recebe informação sobre o objeto de interface de utilizador de destino. Veja pvarEnd no IAccessible::accNavigate SDK do Windows.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accNavigate no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::accNavigate no SDK do Windows.
CWnd::accSelect
Chamado pela estrutura para modificar a seleção ou mover o foco do teclado do objeto especificado.
virtual HRESULT accSelect(
long flagsSelect,
VARIANT varChild);
Parâmetros
flagsSelect
Especifica como alterar a seleção ou foco atual. Veja flagsSelect no IAccessible::accSelect SDK do Windows.
varChild
Especifica o objeto a ser selecionado. Este parâmetro pode ser tanto CHILDID_SELF (para selecionar o próprio objeto) como um ID filho (para selecionar um dos filhos do objeto).
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::accSelect no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::accSelect no SDK do Windows.
CWnd::AnimateWindow
Produz efeitos especiais ao mostrar ou esconder janelas.
BOOL AnimateWindow(
DWORD dwTime,
DWORD dwFlags);
Parâmetros
dwTime
Especifica quanto tempo demora a reproduzir a animação, em milissegundos. Normalmente, uma animação demora 200 milissegundos a ser executada.
dwFlags
Especifica o tipo de animação. Para uma lista completa de valores possíveis, veja AnimateWindow.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função AnimateWindow, conforme descrito no SDK do Windows.
CWnd::ArrangeIconicWindows
Organiza todas as janelas filhos minimizadas (icónicas).
UINT ArrangeIconicWindows();
Valor de retorno
A altura de uma fila de ícones se a função for bem-sucedida; caso contrário, 0.
Observações
Esta função dos membros também organiza ícones na janela do ambiente de trabalho, que cobre todo o ecrã. A GetDesktopWindow função membro recupera um ponteiro para o objeto janela do ambiente de trabalho.
Para organizar janelas filhos icónicas do MDI numa janela de cliente MDI, ligue CMDIFrameWnd::MDIIconArrangepara .
Example
// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
UINT height = GetParent()->ArrangeIconicWindows();
TRACE(_T("height = %d\n"), height);
}
CWnd::Attach
Anexa uma janela Windows a um CWnd objeto.
BOOL Attach(HWND hWndNew);
Parâmetros
hWndNew
Especifica um handle para uma janela do Windows.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Example
Este exemplo mostra como usar Attach e Detach mapear para a janela do cliente MDI.
// Declare a CWnd member of CMainFrame
public:
CWnd m_wndMDIClient;
// detach MDI client window in CMainFrame destructor
m_wndMDIClient.Detach();
// In CMainFrame::OnCreate, attach MDI client window
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// attach MDI client window
if (m_wndMDIClient.Attach(m_hWndMDIClient) == 0)
{
TRACE(_T("Failed to attach MDIClient.\n"));
return -1; // fail to create
}
CWnd::BeginModalState
Chame essa função de membro para criar uma janela de quadro modal.
virtual void BeginModalState();
CWnd::BeginPaint
Prepara-se CWnd para a pintura e preenche uma PAINTSTRUCT estrutura de dados com informação sobre a pintura.
CDC* BeginPaint(LPPAINTSTRUCT lpPaint);
Parâmetros
lpPaint
Aponta para a PAINTSTRUCT estrutura que deve receber informações sobre pintura.
Valor de retorno
Identifica o contexto do dispositivo para CWnd. O ponteiro pode ser temporário e não deve ser armazenado para além do âmbito de EndPaint.
Observações
A estrutura de pintura contém uma RECT estrutura de dados que tem o retângulo mais pequeno que envolve completamente a região de atualização e um flag que especifica se o fundo foi apagado.
A região de atualização é definida pelas Invalidate, InvalidateRect, ou InvalidateRgn funções membros e pelo sistema depois de dimensionar, mover, criar, deslocar ou realizar qualquer outra operação que afete a área do cliente. Se a região de atualização estiver marcada para apagamento, BeginPaint envia uma WM_ONERASEBKGND mensagem.
Não chame a BeginPaint função membro exceto em resposta a uma WM_PAINT mensagem. Cada chamada à BeginPaint função membro deve ter uma chamada correspondente à EndPaint função membro. Se o caret estiver na área a pintar, a BeginPaint função elemento esconde automaticamente o caret para evitar que seja apagado.
Example
// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
PAINTSTRUCT ps;
CDC *pDC = BeginPaint(&ps);
pDC->Rectangle(CRect(0, 0, 100, 100));
EndPaint(&ps);
// Do not call CView::OnPaint() for painting messages
}
CWnd::BindDefaultProperty
Vincula a propriedade simples limitada por defeito do objeto chamador (como um controlo de edição), conforme marcada na biblioteca de tipos, ao cursor subjacente definido pelas DataSourcepropriedades , UserName, Password, e SQL do controlo de fonte de dados.
void BindDefaultProperty(
DISPID dwDispID,
VARTYPE vtProp,
LPCTSTR szFieldName,
CWnd* pDSCWnd);
Parâmetros
dwDispID
Especifica o DISPID de uma propriedade num controlo ligado a dados que deve ser ligado a um controlo de fonte de dados.
vtProp
Especifica o tipo da propriedade a ser encadenada. Por exemplo, VT_BSTR, VT_VARIANT, e assim sucessivamente.
szFieldName
Especifica o nome da coluna, no cursor fornecido pelo controle da fonte de dados, à qual a propriedade será vinculada.
pDSCWnd
Aponta para a janela que alberga o controlo da fonte de dados ao qual a propriedade será vinculada. Ligue GetDlgItem com o ID de recurso da janela host do DCS para recuperar este ponteiro.
Observações
O CWnd objeto no qual você chama essa função deve ser um controle ligado a dados.
Example
BindDefaultProperty pode ser usado no seguinte contexto:
BOOL CMyDlg::OnInitDialog()
{
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL1);
pMyBound->BindDefaultProperty(0x1, VT_BSTR, _T("ContactFirstName"), pDSC);
return TRUE;
}
CWnd::BindProperty
Liga uma propriedade limitada por cursor num controlo ligado a dados (como um controlo de grelha) a um controlo de fonte de dados e regista essa relação com o gestor de ligação MFC.
void BindProperty(
DISPID dwDispId,
CWnd* pWndDSC);
Parâmetros
dwDispId
Especifica o DISPID de uma propriedade num controlo ligado a dados que deve ser ligado a um controlo de fonte de dados.
pWndDSC
Aponta para a janela que alberga o controlo da fonte de dados ao qual a propriedade será vinculada. Ligue GetDlgItem com o ID de recurso da janela host do DCS para recuperar este ponteiro.
Observações
O CWnd objeto no qual você chama essa função deve ser um controle ligado a dados.
Example
BindProperty pode ser usado no seguinte contexto:
BOOL CMyDlg::OnInitDialog()
{
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
pMyBound->BindProperty(0x1, pDSC);
return TRUE;
}
CWnd::BringWindowToTop
Leva CWnd para o topo de uma pilha de janelas sobrepostas.
void BringWindowToTop();
Observações
Além disso, BringWindowToTop ativa janelas pop-up, top-level e filhos MDI. A BringWindowToTop função membro deve ser usada para revelar qualquer janela que esteja parcial ou completamente obscurecida por janelas sobrepostas.
Esta função apenas chama a função Win32 BringWindowToTop . Chama a SetWindowPos função para alterar a posição de uma janela na ordem Z. A BringWindowToTop função não altera o estilo da janela para a tornar numa janela de topo. Para mais informações, veja Qual é a diferença entre HWND_TOP e HWND_TOPMOST
Example
// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
GetParentFrame()->BringWindowToTop();
}
CWnd::CalcWindowRect
Calcula o retângulo de janela que pode conter o retângulo cliente especificado.
virtual void CalcWindowRect(
LPRECT lpClientRect,
UINT nAdjustType = adjustBorder);
Parâmetros
lpClientRect
[inspira, expira] Apontar para uma estrutura retangular. Na entrada, esta estrutura contém o retângulo cliente. Depois de concluído o método, esta estrutura contém o retângulo de janela que pode conter o retângulo cliente especificado.
nAdjustType
[dentro] Use CWnd::adjustBorder para calcular coordenadas de janela sem o WS_EX_CLIENTEDGE estilo; caso contrário, use CWnd::adjustOutside.
Observações
O tamanho do retângulo de janela calculado não inclui espaço para uma barra de menus.
Para mais restrições de uso, veja AdjustWindowRectEx.
Example
// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
CFrameWnd *pFrameWnd = new CFrameWnd;
CRect myRect;
GetClientRect(myRect);
pFrameWnd->Create(NULL, _T("My Frame"));
pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
pFrameWnd->ShowWindow(SW_SHOW);
}
CWnd::CancelToolTips
Chame esta função membro para remover uma dica de ferramenta do ecrã se uma dica estiver atualmente apresentada.
static void PASCAL CancelToolTips(BOOL bKeys = FALSE);
Parâmetros
bKeys
TRUE cancelar dicas de ferramenta quando uma tecla é pressionada e definir o texto da barra de estado para o padrão; caso contrário FALSE.
Observações
Observação
Usar esta função membro não tem efeito nas dicas de ferramenta geridas pelo seu código. Só afeta o controlo da ponta de ferramenta gerido por CWnd::EnableToolTips.
Example
// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
CRect corner(0, 0, 10, 10);
if (corner.PtInRect(point))
CancelToolTips();
CEdit::OnMouseMove(nFlags, point);
}
CWnd::CenterWindow
Centra uma janela em relação ao seu progenitor.
void CenterWindow(CWnd* pAlternateOwner = NULL);
Parâmetros
pAlternateOwner
Aponta para uma janela alternativa relativamente à qual estará centrado (diferente da janela principal).
Observações
Normalmente é chamado de CDialog::OnInitDialog para centrar as caixas de diálogo em relação à janela principal da aplicação. Por defeito, a função centra as janelas filhas em relação à janela mãe, e as janelas pop-up em relação ao dono. Se a janela pop-up não for propriedade, está centrada em relação ao ecrã. Para centralizar uma janela em relação a uma janela específica que não seja o proprietário ou o pai, o pAlternateOwner parâmetro pode ser definido para uma janela válida. Para forçar o centramento em relação ao ecrã, passa o valor devolvido por CWnd::GetDesktopWindow .pAlternateOwner
Example
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CenterWindow();
return TRUE;
}
CWnd::ChangeClipboardChain
Remove CWnd da cadeia de visualizadores do Clipboard e cria a janela especificada pelo hWndNext descendente do CWnd antepassado na cadeia.
BOOL ChangeClipboardChain(HWND hWndNext);
Parâmetros
hWndNext
Identifica a janela que se segue CWnd na cadeia Clipboard-viewer.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
CWnd::CheckDlgButton
Seleciona (coloca uma marca de verificação ao lado) ou limpa (remove uma marca de verificação de) um botão, ou altera o estado de um botão de três estados.
void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parâmetros
nIDButton
Especifica o botão a ser modificado.
nCheck
Especifica a ação a tomar. Se nCheck for diferente de zero, a CheckDlgButton função membro coloca uma marca de verificação ao lado do botão; se for 0, a marca de verificação é removida. Para botões de três estados, se nCheck for 2, o estado do botão é indeterminado.
Observações
A CheckDlgButton função envia uma BM_SETCHECK mensagem para o botão especificado.
Example
// Sets 3 check buttons in various ways. Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
CheckDlgButton(IDC_CHECK1, BST_UNCHECKED); // 0
CheckDlgButton(IDC_CHECK2, BST_CHECKED); // 1
CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}
CWnd::CheckRadioButton
Seleciona (adiciona uma marca de verificação) a um dado botão de acesso num grupo e limpa (remove uma marca de verificação de) todos os outros botões de opção do grupo.
void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parâmetros
nIDFirstButton
Especifica o identificador inteiro do primeiro botão de acesso do grupo.
nIDLastButton
Especifica o identificador inteiro do último botão de acesso do grupo.
nIDCheckButton
Especifica o identificador inteiro do botão de acesso a verificar.
Observações
A CheckRadioButton função envia uma BM_SETCHECK mensagem para o botão de acesso especificado.
Example
// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}
CWnd::ChildWindowFromPoint
Determina qual, se houver, das janelas filhas a CWnd que pertencem o ponto especificado.
CWnd* ChildWindowFromPoint(POINT point) const;
CWnd* ChildWindowFromPoint(
POINT point,
UINT nFlags) const;
Parâmetros
point
Especifica as coordenadas do cliente do ponto a ser testado.
nflags
Especifica quais as janelas filhas a saltar. Este parâmetro pode ser uma combinação dos seguintes valores:
| Valor | Meaning |
|---|---|
CWP_ALL |
Não pule nenhuma janela criança |
CWP_SKIPINVISIBLE |
Ignorar janelas invisíveis para crianças |
CWP_SKIPDISABLED |
Ignorar janelas filhas desativadas |
CWP_SKIPTRANSPARENT |
Ignorar janelas filhas transparentes |
Valor de retorno
Identifica a janela filho que contém o ponto. É NULL se o ponto dado estiver fora da área do cliente. Se o ponto estiver dentro da área do cliente mas não estiver contido em nenhuma janela filha, CWnd é devolvido.
Esta função membro devolverá uma janela filha oculta ou desativada que contenha o ponto especificado.
Mais do que uma janela pode conter o ponto dado. No entanto, esta função devolve apenas o CWnd* da primeira janela encontrada que contém o ponto.
O CWnd* que é devolvido pode ser temporário e não deve ser armazenado para uso posterior.
Example
void CMyDlg::OnFindCenterChild()
{
CRect rect;
GetClientRect(&rect);
CWnd* pWnd = ChildWindowFromPoint(
CPoint(rect.Width()/2, rect.Height()/2),
// Top left is always 0, 0.
CWP_SKIPINVISIBLE);
TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}
CWnd::ClientToScreen
Converte as coordenadas do cliente de um dado ponto ou retângulo no ecrã em coordenadas do ecrã.
void ClientToScreen(LPPOINT lpPoint) const;
void ClientToScreen(LPRECT lpRect) const;
Parâmetros
lpPoint
Aponta para uma POINT estrutura ou CPoint objeto que contém as coordenadas do cliente a converter.
lpRect
Aponta para uma RECT estrutura ou CRect objeto que contém as coordenadas do cliente a converter.
Observações
A ClientToScreen função membro usa as coordenadas do cliente na POINT estrutura ou RECT no CPoint objeto ou CRect apontado por lpPoint ou lpRect para calcular novas coordenadas de ecrã; depois substitui as coordenadas na estrutura pelas novas coordenadas. As novas coordenadas do ecrã são relativas ao canto superior esquerdo do ecrã do sistema.
A ClientToScreen função membro assume que o ponto ou retângulo dado está nas coordenadas do cliente.
Example
// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}
CWnd::CloseWindow
Minimiza a janela.
void CloseWindow();
Observações
Esta função de membro emula a funcionalidade da função CloseWindow, conforme descrito no SDK do Windows.
CWnd::ContinueModal
Esta função membro é chamada por RunModalLoop para determinar quando o estado modal deve ser retirado.
virtual BOOL ContinueModal();
Valor de retorno
Não nulo se o loop modal for continuado; 0 quando EndModalLoop é chamado.
Observações
Por defeito, devolve um valor diferente de zero até EndModalLoop ser chamado.
CWnd::Create
Cria a janela filha especificada e anexa-a ao CWnd objeto.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL);
Parâmetros
lpszClassName
[dentro] Apontador para uma cadeia terminada por nulo que contém o nome de uma classe de janela do sistema registada; ou o nome de uma classe de janela de sistema pré-definida.
lpszWindowName
[dentro] Apontador para uma cadeia terminada em nulo que contém o nome de exibição da janela; caso contrário NULL , sem nome de exibição de janela.
dwStyle
[dentro] Combinação bit a bit (OR) de estilos de janelas. A WS_POPUP opção não é um estilo válido.
rect
[dentro] O tamanho e a localização da janela em relação ao canto superior esquerdo da janela principal.
pParentWnd
[dentro] Aponta para a janela principal.
nID
[dentro] ID da janela.
pContext
[dentro] Apontador para uma CCreateContext estrutura usada para personalizar a arquitetura de visualização do documento para a aplicação.
Valor de retorno
TRUE se o método fosse bem-sucedido; caso contrário FALSE.
Observações
Advertência
CWnd::PreCreateWindow agora atribui o hMenu membro do seu CREATESTRUCT parâmetro ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para uma funcionalidade correta, certifique-se de que o controlo de diálogo tem um ID que não NULLseja .
Esta alteração corrige um crash em cenários de interoperabilidade geridos/nativos. Uma TRACE declaração alerta CWnd::Create o programador para o problema.
Use a AfxRegisterWndClass função para registar classes de janela. Classes de janela definidas pelo utilizador estão disponíveis no módulo onde estão registadas.
O CWnd::OnCreate método é chamado antes de o Create método regressar e antes de a janela se tornar visível.
Example
// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}
CWnd::CreateAccessibleProxy
Cria um proxy de Acessibilidade Ativa para o objeto especificado.
virtual HRESULT CreateAccessibleProxy(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parâmetros
wParam
Identifica o objeto acedido pelo proxy de Acessibilidade Ativa. Pode ser um dos seguintes valores
| Valor | Meaning |
|---|---|
OBJID_CLIENT |
Refere-se à área do cliente da janela. |
lParam
Fornece informação adicional dependente da mensagem.
pResult
Um apontador para um LRESULT que armazena o código do resultado.
Observações
Cria um proxy de Acessibilidade Ativa para o objeto especificado.
CWnd::CreateCaret
Cria uma nova forma para o caret do sistema e reivindica a propriedade do caret.
void CreateCaret(CBitmap* pBitmap);
Parâmetros
pBitmap
Identifica o bitmap que define a forma do caret.
Observações
O bitmap deve ter sido previamente criado pela CBitmap::CreateBitmap função membro, pela CreateDIBitmap função Windows ou pela CBitmap::LoadBitmap função membro.
CreateCaret destrói automaticamente a forma do caret anterior, se existir, independentemente da janela que possui o caret. Uma vez criado, o caret é inicialmente escondido. Para mostrar o carente, deve ser chamada a ShowCaret função elementar.
O caret do sistema é um recurso partilhado.
CWnd Deve criar um caret apenas quando tiver o foco de entrada ou estiver ativo. Deve destruir o caret antes de perder o foco de entrada ou ficar inativo.
Example
// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
m_pBitmapCaret = new CBitmap;
m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
m_MyEdit.CreateCaret(m_pBitmapCaret);
m_MyEdit.ShowCaret();
}
CWnd::CreateControl
Use esta função membro para criar um controlo ActiveX que será representado no programa MFC por um CWnd objeto.
BOOL CreateControl(
LPCTSTR pszClass,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
Parâmetros
pszClass
Esta cadeia pode conter o "nome curto" OLE (ProgID) para a classe. Por exemplo, "CIRC3.Circ3Ctrl.1". O nome tem de corresponder ao mesmo nome registado pelo controlo. Alternativamente, a corda pode conter a forma de corda de um CLSID, contida entre chaves. Por exemplo, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". Em qualquer dos casos, CreateControl converte a cadeia para o correspondente ID de classe.
pszWindowName
Um ponteiro para o texto a ser apresentado no controlo. Define o valor da propriedade Caption ou Text do controlo (se houver). Se NULL, a propriedade Legenda ou Texto do controlo não é alterada.
dwStyle
Estilos do Windows. Os estilos disponíveis estão listados em Observações.
rect
Especifica o tamanho e a posição do controle. Pode ser um CRect objeto ou uma RECT estrutura.
ppt
Aponta para uma POINT estrutura ou CPoint objeto que contém o canto superior esquerdo do controlo.
pSize
Aponta para uma SIZE estrutura ou CSize objeto que contém o tamanho do controlo
pParentWnd
Especifica a janela pai do controlo. Não pode ser NULL.
nID
Especifica o ID do controlo.
pPersist
Um apontador para um CFile que contém o estado persistente do controlo. O valor predefinido é NULL, indicando que o controlo se inicializa sem restaurar o seu estado a partir de qualquer armazenamento persistente. Se não NULLfor , deve ser um apontador para um CFileobjeto derivado em que contém os dados persistentes do controlo, sob a forma de um fluxo ou de um armazenamento. Estes dados poderiam ter sido guardados numa ativação anterior do cliente. O CFile pode conter outros dados, mas deve ter o seu ponteiro de leitura-escrita definido para o primeiro byte de dados persistentes no momento da chamada para CreateControl.
bStorage
Indica se os dados devem pPersist ser interpretados como IStorage ou IStream dados. Se os dados em pPersist forem um armazenamento, bStorage deve ser TRUE. Se os dados em pPersist forem um fluxo, bStorage deverá ser FALSE. O valor predefinido é FALSE.
bstrLicKey
Dados opcionais da chave da licença. Estes dados são necessários apenas para criar controlos que exijam uma chave de licença em tempo de execução. Se o controlo suportar licenciamento, deve fornecer uma chave de licença para que a criação do controlo tenha sucesso. O valor predefinido é NULL.
clsid
O ID de classe único do controlo.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
CreateControl é um análogo direto da CWnd::Create função, que cria a janela para um CWnd.
CreateControl cria um controlo ActiveX em vez de uma janela comum.
Apenas um subconjunto das flags do Windows dwStyle é suportado para CreateControl:
WS_VISIBLECria uma janela que é inicialmente visível. É necessário se quiseres que o controlo seja visível imediatamente, como janelas normais.WS_DISABLEDCria uma janela que está inicialmente desativada. Uma janela desativada não pode receber entrada do utilizador. Pode ser definido se o controlo tiver uma propriedade Ativada.WS_BORDERCria uma janela com uma borda fina. Pode ser definido se o controlo tiver umaBorderStylepropriedade.WS_GROUPEspecifica o primeiro controlo de um grupo de controlos. O utilizador pode alterar o foco do teclado de um controlo no grupo para o seguinte usando as teclas de direção. Todos os controlos definidos com oWS_GROUPestilo após o primeiro controlo pertencem ao mesmo grupo. O próximo controlo com oWS_GROUPestilo termina o grupo e inicia o grupo seguinte.WS_TABSTOPEspecifica um controlo que pode receber o foco do teclado quando o utilizador pressiona a tecla TAB. Pressionar a tecla TAB muda o foco do teclado para o próximo controlo doWS_TABSTOPestilo.
Example
class CGenocx : public CWnd
{
protected:
DECLARE_DYNCREATE(CGenocx)
public:
CLSID const &GetClsid()
{
static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
return clsid;
}
// This code is generated by the Control Wizard.
// It wraps the call to CreateControl in the call to Create.
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT &rect, CWnd *pParentWnd, UINT nID,
CCreateContext *pContext = NULL)
{
UNREFERENCED_PARAMETER(pContext);
UNREFERENCED_PARAMETER(lpszClassName);
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
}
// remainder of class declaration omitted...
CWnd::CreateEx
Cria a janela especificada e anexa-a ao CWnd objeto.
virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU nIDorHMenu,
LPVOID lpParam = NULL);
virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
LPVOID lpParam = NULL);
Parâmetros
dwExStyle
Combinação bit a bit (OR) de estilos de janelas estendidas; caso contrário NULL , para o estilo padrão de janela estendida.
lpszClassName
Apontador para uma cadeia terminada por nulo que contém o nome de uma classe de janela do sistema registada; ou o nome de uma classe de janela de sistema pré-definida.
lpszWindowName
Apontador para uma cadeia terminada em nulo que contém o nome de exibição da janela; caso contrário NULL , sem nome de exibição de janela.
dwStyle
Combinação bit a bit (OR) de estilos de janelas; caso contrário NULL , para o estilo de janela padrão.
x
A distância horizontal inicial da janela em relação ao lado esquerdo do ecrã ou à janela principal.
y
A distância vertical inicial da janela em relação ao topo do ecrã ou à janela principal.
nWidth
A largura, em píxeis, da janela.
nHeight
A altura, em pixels, da janela.
hwndParent
Para uma janela filha, a maçaneta da janela principal; caso contrário, a maçaneta da janela do proprietário se a janela tiver um dono.
nIDorHMenu
Para uma janela criança, o ID da janela; caso contrário, o ID de um menu da janela.
lpParam
Apontador para dados do utilizador que são passados para o CWnd::OnCreate método no lpCreateParams campo.
rect
O tamanho e a localização da janela em relação ao ecrã ou à janela principal.
pParentWnd
Para uma janela filho, apontar para a janela pai; caso contrário, aponta para a janela do proprietário se a janela tiver um dono.
nID
Para uma janela criança, o ID da janela; caso contrário, o ID de um menu da janela.
Valor de retorno
TRUE se o método fosse bem-sucedido; caso contrário FALSE.
Observações
Advertência
CWnd::PreCreateWindow agora atribui o hMenu membro do seu CREATESTRUCT parâmetro ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para uma funcionalidade correta, certifique-se de que o controlo de diálogo tem um ID que não NULLseja .
Esta alteração corrige um crash em cenários de interoperabilidade geridos/nativos. Uma TRACE declaração alerta CWnd::Create o programador para o problema.
O estilo padrão de janela estendida é WS_EX_LEFT. O estilo padrão da janela é WS_OVERLAPPED.
Use a AfxRegisterWndClass função para registar classes de janela. Classes de janela definidas pelo utilizador estão disponíveis no módulo onde estão registadas.
As dimensões das janelas filhos são relativas ao canto superior esquerdo da área cliente da janela pai. As dimensões das janelas do nível superior são relativas ao canto superior esquerdo do ecrã.
O CWnd::OnCreate método é chamado antes de o CreateEx método regressar e antes de a janela se tornar visível.
Example
void CMyDlg::OnCreateExtendedControl()
{
// m_pWndStaticEx is a CWnd* member of CMyDlg
m_pWndStaticEx = new CStatic;
m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
_T("STATIC"), _T("Hi"),
WS_CHILD | WS_TABSTOP | WS_VISIBLE,
5, 5, 30, 30, m_hWnd, (HMENU)2345);
}
CWnd::CreateGrayCaret
Cria um retângulo cinzento para o caret do sistema e reivindica a propriedade do caret.
void CreateGrayCaret(
int nWidth,
int nHeight);
Parâmetros
nWidth
Especifica a largura do caret (em unidades lógicas). Se este parâmetro for 0, a largura é definida para a largura da janela definida pelo sistema.
nHeight
Especifica a altura do caret (em unidades lógicas). Se este parâmetro for 0, a altura é definida para a altura da borda da janela definida pelo sistema.
Observações
A forma do caret pode ser uma linha ou um bloco.
Os parâmetros nWidth e nHeight especificam a largura e altura do caret (em unidades lógicas); a largura e altura exatas (em píxeis) dependem do modo de mapeamento.
A largura ou altura da borda das janelas do sistema pode ser recuperada pela GetSystemMetrics função Windows com os SM_CXBORDER índices e.SM_CYBORDER Usar a largura ou altura da borda da janela garante que o caret será visível num ecrã de alta resolução.
A CreateGrayCaret função elemento destrói automaticamente a forma de caret anterior, se existir, independentemente de qual janela detém o caret. Uma vez criado, o caret é inicialmente escondido. Para mostrar o carente, deve ser chamada a ShowCaret função elementar.
O caret do sistema é um recurso partilhado.
CWnd Deve criar um caret apenas quando tiver o foco de entrada ou estiver ativo. Deve destruir o caret antes de perder o foco de entrada ou ficar inativo.
Example
// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
m_MyEdit.CreateGrayCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CreateSolidCaret
Cria um retângulo sólido para o caret do sistema e reivindica a propriedade do caret.
void CreateSolidCaret(
int nWidth,
int nHeight);
Parâmetros
nWidth
Especifica a largura do caret (em unidades lógicas). Se este parâmetro for 0, a largura é definida para a largura da janela definida pelo sistema.
nHeight
Especifica a altura do caret (em unidades lógicas). Se este parâmetro for 0, a altura é definida para a altura da borda da janela definida pelo sistema.
Observações
A forma do caret pode ser uma linha ou bloco.
Os parâmetros nWidth e nHeight especificam a largura e altura do caret (em unidades lógicas); a largura e altura exatas (em píxeis) dependem do modo de mapeamento.
A largura ou altura da borda das janelas do sistema pode ser recuperada pela GetSystemMetrics função Windows com os SM_CXBORDER índices e.SM_CYBORDER Usar a largura ou altura da borda da janela garante que o caret será visível num ecrã de alta resolução.
A CreateSolidCaret função elemento destrói automaticamente a forma de caret anterior, se existir, independentemente de qual janela detém o caret. Uma vez criado, o caret é inicialmente escondido. Para mostrar o carente, deve ser chamada a ShowCaret função elementar.
O caret do sistema é um recurso partilhado.
CWnd Deve criar um caret apenas quando tiver o foco de entrada ou estiver ativo. Deve destruir o caret antes de perder o foco de entrada ou ficar inativo.
Example
// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
m_MyEdit.CreateSolidCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CWnd
Constrói um CWnd objeto.
CWnd();
Observações
A janela do Windows não é criada e anexada até que a CreateEx função do membro ou Create seja chamada.
CWnd::Default
Chama o procedimento da janela padrão.
LRESULT Default();
Valor de retorno
Depende da mensagem enviada.
Observações
O procedimento de janela por defeito fornece processamento por defeito para qualquer mensagem de janela que uma aplicação não processe. Esta função de membro garante que todas as mensagens são processadas.
Example
// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
CWnd::Default();
}
CWnd::DefWindowProc
Chama o procedimento de janela por defeito, que fornece processamento por defeito para qualquer mensagem de janela que uma aplicação não processe.
virtual LRESULT DefWindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parâmetros
message
Especifica a mensagem do Windows a ser processada.
wParam
Especifica informação adicional dependente da mensagem.
lParam
Especifica informação adicional dependente da mensagem.
Valor de retorno
Depende da mensagem enviada.
Observações
Esta função de membro garante que todas as mensagens são processadas. Deve ser chamada com os mesmos parâmetros que os recebidos pelo procedimento janela.
CWnd::DeleteTempMap
Chamada automaticamente pelo responsável pelo tempo de inatividade do CWinApp objeto.
static void PASCAL DeleteTempMap();
Observações
Apaga quaisquer objetos temporários CWnd criados pela FromHandle função membro.
Example
// DeleteTempMap() is a static member and does not need
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();
CWnd::DestroyWindow
Destrói a janela das janelas presa ao CWnd objeto.
virtual BOOL DestroyWindow();
Valor de retorno
Não nula se a janela for destruída; caso contrário, 0.
Observações
A DestroyWindow função membro envia mensagens apropriadas para a janela para a desativar e remover o foco de entrada. Também destrói o menu da janela, limpa a fila de aplicação, destrói temporizadores pendentes, remove a posse do Clipboard e quebra a cadeia Clipboard-viewer se CWnd estiver no topo da cadeia de visualização. Envia WM_DESTROY e WM_NCDESTROY envia mensagens para a janela. Não destrói o CWnd objeto.
DestroyWindow é um reservatório para a limpeza. Como DestroyWindow é uma função virtual, é mostrada em qualquer CWndclasse derivada de -na Vista de Classe. Mas mesmo que sobreescrevas esta função na tua CWndclasse derivada por -, DestroyWindow não é necessariamente chamada. Se DestroyWindow não for chamado no código MFC, então tens de o chamar explicitamente no teu próprio código se quiseres que seja chamado.
Suponha, por exemplo, que sobrescreveu DestroyWindow numa CViewclasse derivada por -. Como o código-fonte MFC não chama DestroyWindow nenhuma das suas CFrameWndclasses derivadas em -, o seu overdden DestroyWindow não será chamado a menos que o chame explicitamente.
Se a janela for o pai de qualquer janela, essas janelas filhas são automaticamente destruídas quando a janela mãe é destruída. A DestroyWindow função membro destrói primeiro as janelas filhas e depois a própria janela.
A DestroyWindow função membro também destrói as caixas de diálogo sem modos criadas por CDialog::Create.
Se o CWnd ser destruído for uma janela filho e não tiver o WS_EX_NOPARENTNOTIFY estilo definido, então a WM_PARENTNOTIFY mensagem é enviada ao pai.
Example
// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in
// OnOK() & OnCancel() handlers
void CModeless::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE(_T("UpdateData failed during dialog termination\n"));
// The UpdateData routine will set focus to correct item
return;
}
DestroyWindow();
}
void CModeless::OnCancel()
{
DestroyWindow();
}
CWnd::Detach
Desliga um handle do Windows de um CWnd objeto e devolve o handle.
HWND Detach();
Valor de retorno
A HWND ao objeto Windows.
Example
Veja o exemplo para CWnd::Attach.
CWnd::DlgDirList
Preenche uma caixa de lista com uma listagem de ficheiros ou diretórios.
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
int nIDStaticPath,
UINT nFileType);
Parâmetros
lpPathSpec
Aponta para uma cadeia terminada por null que contém o caminho ou nome do ficheiro.
DlgDirList modifica esta cadeia, que deve ser suficientemente longa para conter as modificações. Para mais informações, consulte a seguinte secção "Observações".
nIDListBox
Especifica o identificador de uma caixa de lista. Se nIDListBox for 0, DlgDirList assume que não existe caixa de lista e não tenta preencher uma.
nIDStaticPath
Especifica o identificador do controlo estático-texto usado para mostrar a unidade e diretório atuais. Se nIDStaticPath for 0, DlgDirList assume que não existe tal controlo de texto.
nFileType
Especifica os atributos dos ficheiros a serem exibidos. Pode ser qualquer combinação dos seguintes valores:
DDL_READWRITELer e escrever ficheiros de dados sem atributos adicionais.DDL_READONLYFicheiros apenas de leitura.DDL_HIDDENFicheiros escondidos.DDL_SYSTEMFicheiros do sistema.DDL_DIRECTORYDiretórios.DDL_ARCHIVEArquivos.DDL_POSTMSGSLB_DIRFlag. Se aLB_DIRflag estiver definida, o Windows coloca as mensagens geradas porDlgDirListna fila da aplicação; caso contrário, são enviadas diretamente para o procedimento da caixa de diálogo.DDL_DRIVESConduz. Se aDDL_DRIVESbandeira estiver definida, aDDL_EXCLUSIVEbandeira é definida automaticamente. Portanto, para criar uma lista de diretórios que inclua discos e ficheiros, deve chamarDlgDirListduas vezes: uma com aDDL_DRIVESbandeira definida e outra com as bandeiras para o resto da lista.DDL_EXCLUSIVEParte exclusiva. Se o bit exclusivo estiver definido, apenas ficheiros do tipo especificado são listados; caso contrário, os ficheiros normais e os ficheiros do tipo especificado estão listados.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
DlgDirList envia LB_RESETCONTENT e LB_DIR envia mensagens para a caixa da lista. Preenche a caixa de lista especificada por nIDListBox com os nomes de todos os ficheiros que correspondem ao caminho dado por lpPathSpec.
O lpPathSpec parâmetro tem a seguinte forma:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
Neste exemplo, drive é uma letra de unidade, directory é um nome de diretório válido, e filename é um nome de ficheiro válido que deve conter pelo menos um coringa. Os coringas são um ponto de interrogação (?), que significa corresponder a qualquer personagem, e um asterisco (*), que significa corresponder a qualquer número de caracteres.
Se especificar uma string de comprimento 0 para lpPathSpec, ou se especificar apenas um nome de diretório mas não incluir qualquer especificação de ficheiro, a string será alterada para "*.*".
Se lpPathSpec incluir um nome de disco e/ou diretório, o disco e diretório atuais são alterados para o disco e diretório designados antes de preencher a caixa de lista. O controlo de texto identificado por nIDStaticPath é também atualizado com o novo nome da unidade e/ou diretório.
Depois de preenchida a caixa de lista, lpPathSpec é atualizado removendo a parte do disco e/ou diretório do caminho.
Example
// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));
pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
CWnd::DlgDirListComboBox
Preenche a caixa de lista de uma caixa de combo com uma listagem de ficheiros ou diretórios.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
int nIDStaticPath,
UINT nFileType);
Parâmetros
lpPathSpec
Aponta para uma cadeia terminada por null que contém o caminho ou nome do ficheiro.
DlgDirListComboBox modifica esta cadeia, por isso estes dados não devem estar na forma de uma cadeia literal. Consulte a seguinte secção "Observações".
nIDComboBox
Especifica o identificador de uma caixa de combo numa caixa de diálogo. Se nIDComboBox for 0, DlgDirListComboBox assume que não existe caixa de combo e não tenta preencher uma.
nIDStaticPath
Especifica o identificador do controlo estático-texto usado para mostrar a unidade e diretório atuais. Se nIDStaticPath for 0, DlgDirListComboBox assume que não existe tal controlo de texto.
nFileType
Especifica atributos de ficheiros DOS dos ficheiros a serem exibidos. Pode ser qualquer combinação dos seguintes valores:
DDL_READWRITELer e escrever ficheiros de dados sem atributos adicionais.DDL_READONLYFicheiros apenas de leitura.DDL_HIDDENFicheiros escondidos.DDL_SYSTEMFicheiros do sistema.DDL_DIRECTORYDiretórios.DDL_ARCHIVEArquivos.DDL_POSTMSGSCB_DIRFlag. Se aCB_DIRflag estiver definida, o Windows coloca as mensagens geradas porDlgDirListComboBoxna fila da aplicação; caso contrário, são enviadas diretamente para o procedimento da caixa de diálogo.DDL_DRIVESConduz. Se aDDL_DRIVESbandeira estiver definida, aDDL_EXCLUSIVEbandeira é definida automaticamente. Portanto, para criar uma lista de diretórios que inclua discos e ficheiros, deve chamarDlgDirListComboBoxduas vezes: uma com aDDL_DRIVESbandeira definida e outra com as bandeiras para o resto da lista.DDL_EXCLUSIVEParte exclusiva. Se o bit exclusivo estiver definido, apenas ficheiros do tipo especificado são listados; caso contrário, os ficheiros normais e os ficheiros do tipo especificado estão listados.
Valor de retorno
Especifica o resultado da função. É diferente de zero se uma listagem foi feita, mesmo que vazia. Um valor de retorno 0 implica que a cadeia de entrada não continha um caminho de pesquisa válido.
Observações
DlgDirListComboBox envia CB_RESETCONTENT e CB_DIR envia mensagens para a caixa combinada. Preenche a caixa de lista da caixa de combo especificada por nIDComboBox com os nomes de todos os ficheiros que correspondem ao caminho dado por lpPathSpec.
O lpPathSpec parâmetro tem a seguinte forma:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
Neste exemplo, drive é uma letra de unidade, directory é um nome de diretório válido, e filename é um nome de ficheiro válido que deve conter pelo menos um coringa. Os coringas são um ponto de interrogação (?), que significa corresponder a qualquer personagem, e um asterisco (*), que significa corresponder a qualquer número de caracteres.
Se especificar uma string de comprimento zero para lpPathSpec, o diretório atual será usado e lpPathSpec não será modificado. Se especificar apenas um nome de diretório mas não incluir qualquer especificação de ficheiro, a cadeia será alterada para "*".
Se lpPathSpec incluir um nome de disco e/ou diretório, o disco e diretório atuais são alterados para o disco e diretório designados antes de preencher a caixa de lista. O controlo de texto identificado por nIDStaticPath é também atualizado com o novo nome da unidade e/ou diretório.
Depois de preenchida a caixa de lista de combo, lpPathSpec é atualizado removendo a parte do disco e/ou diretório do caminho.
Example
// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.
CWnd::DlgDirSelect
Recupera a seleção atual de uma caixa de lista.
BOOL DlgDirSelect(
LPTSTR lpString,
int nIDListBox);
Parâmetros
lpString
Aponta para um buffer que recebe a seleção atual na caixa da lista.
nIDListBox
Especifica o ID inteiro de uma caixa de lista na caixa de diálogo.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Assume que a caixa de lista foi preenchida pela DlgDirList função membro e que a seleção é uma letra de unidade, um ficheiro ou um nome de diretório.
A DlgDirSelect função membro copia a seleção para o buffer dado por lpString. Se não houver seleção, lpString não muda.
DlgDirSelect envia LB_GETCURSEL e LB_GETTEXT envia mensagens para a caixa da lista.
Não permite que mais do que um nome de ficheiro seja devolvido a partir de uma caixa de lista. A caixa de lista não deve ser uma caixa de seleção múltipla.
CWnd::DlgDirSelectComboBox
Recupera a seleção atual da caixa de lista de uma caixa de combo.
BOOL DlgDirSelectComboBox(
LPTSTR lpString,
int nIDComboBox);
Parâmetros
lpString
Aponta para um buffer que deve receber o caminho selecionado.
nIDComboBox
Especifica o ID inteiro da caixa de combo na caixa de diálogo.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Assume que a caixa de lista foi preenchida pela DlgDirListComboBox função membro e que a seleção é uma letra de unidade, um ficheiro ou um nome de diretório.
A DlgDirSelectComboBox função membro copia a seleção para o buffer especificado. Se não houver seleção, o conteúdo do buffer não é alterado.
DlgDirSelectComboBox envia CB_GETCURSEL e CB_GETLBTEXT envia mensagens para a caixa combinada.
Não permite que mais do que um nome de ficheiro seja devolvido a partir de uma caixa combinada.
CWnd::DoDataExchange
Chamado pelo framework para trocar e validar dados de diálogo.
virtual void DoDataExchange(CDataExchange* pDX);
Parâmetros
pDX
Um ponteiro para um CDataExchange objeto.
Observações
Nunca chames esta função diretamente. É chamada pela UpdateData função elemento. Chamar UpdateData para inicializar os controlos de uma caixa de diálogo ou recuperar dados de uma caixa de diálogo.
Quando deriva uma classe de diálogo específica para uma aplicação a partir de CDialog, precisa de sobrescrever esta função membro se quiser utilizar a troca e validação automática de dados do framework. O assistente de Adicionar Variável irá escrever uma versão sobreposta desta função membro para si, contendo o "mapa de dados" desejado das chamadas globais de função de troca de dados de diálogo (DDX) e validação (DDV).
Para gerar automaticamente uma versão sobreposta desta função membro, crie primeiro um recurso de diálogo com o editor de diálogo e, de seguida, derive uma classe de diálogo específica para cada aplicação. Depois, use o assistente Adicionar Variável para associar variáveis, dados e intervalos de validação a vários controlos na nova caixa de diálogo. O assistente então escreve o sobrescrito DoDataExchange, que contém um mapa de dados. Segue-se um exemplo de bloco de código DDX/DDV gerado pelo assistente de Adicionar Variável:
void CPenWidthsDlg::DoDataExchange(CDataExchange *pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}
A DoDataExchange função membro sobreposta deve preceder as instruções macro no seu ficheiro fonte.
Para mais informações sobre troca e validação de dados de diálogo, veja Exibição e Manipulação de Dados em Formulário e Troca e Validação de Dados em Diálogo. Para uma descrição dos macros DDX_ e DDV_ gerados pelo assistente de Adicionar Variável, consulte a Nota Técnica 26.
CWnd::DragAcceptFiles
Chame esta função membro a partir de uma janela, usando um CWnd ponteiro, na função da CWinApp::InitInstance sua aplicação para indicar que a janela aceita ficheiros caídos do Gestor de Ficheiros do Windows ou do Explorador de Ficheiros.
void DragAcceptFiles(BOOL bAccept = TRUE);
Parâmetros
BAccept
Flag que indica se os ficheiros arrastados são aceites.
Observações
Apenas a janela que chama DragAcceptFiles com o bAccept parâmetro definido para TRUE se identificou como capaz de processar a mensagem WM_DROPFILESdo Windows . Por exemplo, numa aplicação MDI, se o CMDIFrameWnd ponteiro da janela for usado na DragAcceptFiles chamada de função, apenas a CMDIFrameWnd janela recebe a WM_DROPFILES mensagem. Esta mensagem não é enviada para todas as janelas abertas CMDIChildWnd . Para que uma CMDIChildWnd janela receba esta mensagem, deve ligar DragAcceptFiles com o CMDIChildWnd ponteiro da janela.
Para deixar de receber ficheiros arrastados, chame a função membro com bAccept definido para FALSE.
CWnd::DragDetect
Captura o rato e acompanha o seu movimento até o utilizador soltar o botão esquerdo, pressionar a tecla ESC ou mover o rato para fora do retângulo de arrastar em torno do ponto especificado.
BOOL DragDetect(POINT pt) const;
Parâmetros
pt
Posição inicial do rato, em coordenadas do ecrã. A função determina as coordenadas do retângulo de arrasto usando este ponto.
Valor de retorno
Se o utilizador mover o rato para fora do retângulo de arrastar enquanto mantém pressionado o botão esquerdo, o valor de retorno é diferente de zero.
Se o utilizador não mover o rato para fora do retângulo de arrastar enquanto mantém pressionado o botão esquerdo, o valor de retorno é zero.
Observações
Esta função de membro emula a funcionalidade da função DragDetect, conforme descrito no SDK do Windows.
CWnd::DrawAnimatedRects
Desenha um retângulo em wireframe e anima-o para indicar a abertura de um ícone ou a minimização ou maximização de uma janela.
BOOL DrawAnimatedRects(
int idAni,
CONST RECT* lprcFrom,
CONST RECT* lprcTo);
Parâmetros
idAni
Especifica o tipo de animação. Se especificar IDANI_CAPTION, a legenda da janela irá ser animada da posição especificada por lprcFrom para a posição especificada por lprcTo. O efeito é semelhante a minimizar ou maximizar uma janela.
lprcFrom
Apontador para uma RECT estrutura que especifica a localização e o tamanho do ícone ou janela minimizada.
lprcTo
Ponteiro para uma RECT estrutura que especifica a localização e o tamanho da janela restaurada
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função DrawAnimatedRects, conforme descrito no SDK do Windows.
CWnd::DrawCaption
Desenha uma legenda de janela.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Parâmetros
pDC
Um ponteiro para um contexto de dispositivo. A função desenha a legenda da janela para o contexto deste dispositivo.
lprc
Um ponteiro para uma RECT estrutura que especifica o retângulo delimitador para a legenda da janela.
uFlags
Especifica opções de desenho. Para uma lista completa de valores, veja DrawCaption.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função DrawCaption, conforme descrito no SDK do Windows.
CWnd::DrawMenuBar
Redesenha a barra de menus.
void DrawMenuBar();
Observações
Se uma barra de menu for alterada depois de o Windows criar a janela, chame esta função para desenhar a barra de menu alterada.
Example
Veja o exemplo para CWnd::GetMenu.
CWnd::EnableActiveAccessibility
Ativa funções de Acessibilidade Ativa definidas pelo utilizador.
void EnableActiveAccessibility();
Observações
O suporte padrão de Acessibilidade Ativa do MFC é suficiente para janelas e controlos padrão, incluindo controlos ActiveX; no entanto, se a sua CWndclasse -derivada contiver elementos de interface de utilizador sem janela, o MFC não tem forma de os conhecer. Nesse caso, deve sobrescrever as funções de membro Active Accessibility apropriadas na sua classe e deve chamar EnableActiveAccessibility o construtor da classe.
CWnd::EnableDynamicLayout
Ativa ou desativa o gestor de layout dinâmico. Quando o layout dinâmico está ativado, a posição e o tamanho das janelas filhos podem ajustar-se dinamicamente quando o utilizador redimensiona a janela.
void EnableDynamicLayout(BOOL bEnable = TRUE);
Parâmetros
bEnable
TRUE para permitir o layout dinâmico; FALSE para desativar o layout dinâmico.
Observações
Se quiseres ativar o layout dinâmico, tens de fazer mais do que simplesmente chamar este método. Também tens de fornecer informação dinâmica sobre a disposição das espécies, como os controlos na janela respondem às mudanças de tamanho. Pode especificar esta informação no editor de recursos, ou programaticamente, para cada controlo. Ver Layout Dinâmico.
CWnd::EnableD2DSupport
Ativa ou desativa o suporte D2D para janelas. Chame este método antes de a janela principal ser inicializada.
void EnableD2DSupport(
BOOL bEnable = TRUE,
BOOL bUseDCRenderTarget = FALSE);
Parâmetros
bEnable
Especifica se deve ativar ou desativar o suporte D2D.
bUseDCRenderTarget
Espécies se devem usar o alvo de renderização do Contexto do Dispositivo (DC), CDCRenderTarget. Se FALSE, CHwndRenderTarget é usado.
CWnd::EnableScrollBar
Ativa ou desativa uma ou ambas as setas de uma barra de scroll.
BOOL EnableScrollBar(
int nSBFlags,
UINT nArrowFlags = ESB_ENABLE_BOTH);
Parâmetros
nSBFlags
Especifica o tipo de barra de deslocamento. Pode ter um dos seguintes valores:
SB_BOTHAtiva ou desativa as setas das barras de scroll horizontais e verticais associadas à janela.SB_HORZAtiva ou desativa as setas da barra de rolagem horizontal associada à janela.SB_VERTAtiva ou desativa as setas da barra vertical associada à janela.
nArrowFlags
Especifica se as setas da barra de deslocamento estão ativadas ou desativadas e quais setas estão ativadas ou desativadas. Pode ter um dos seguintes valores:
ESB_ENABLE_BOTHAtiva ambas as setas de uma barra de deslocamento (por defeito).ESB_DISABLE_LTUPDesativa a seta esquerda de uma barra de deslocamento horizontal ou a seta para cima de uma barra de deslocamento vertical.ESB_DISABLE_RTDNDesativa a seta direita de uma barra de scroll horizontal ou a seta para baixo de uma barra de scroll vertical.ESB_DISABLE_BOTHDesativa ambas as setas da barra de deslocamento.
Valor de retorno
Diferente de zero se as setas estiverem ativadas ou desativadas conforme especificado. Caso contrário, é 0, o que indica que as setas já estão no estado solicitado ou que ocorreu um erro.
CWnd::EnableScrollBarCtrl
Ativa ou desativa a barra de deslocação desta janela.
void EnableScrollBarCtrl(
int nBar,
BOOL bEnable = TRUE);
Parâmetros
nBar
O identificador da barra de deslocamento.
bEnable
Especifica se a barra de deslocamento deve ser ativada ou desativada.
Observações
Se a janela tiver um controlo de barra de scroll irmã, essa barra de scroll é utilizada; caso contrário, é usada a barra de deslocação própria da janela.
CWnd::EnableToolTips
Permite as dicas de ferramenta para a janela dada.
BOOL EnableToolTips(BOOL bEnable = TRUE);
Parâmetros
bEnable
Especifica se o controlo da tooltip está ativado ou desativado.
TRUE permite o controlo; FALSE desativa o controlo.
Valor de retorno
TRUE se as dicas de ferramenta estiverem ativadas; caso contrário FALSE.
Observações
Override OnToolHitTest para fornecer a TOOLINFO estrutura ou estruturas para a janela.
Observação
Algumas janelas, como CToolBar, fornecem uma implementação incorporada de OnToolHitTest.
Consulte TOOLINFO o SDK do Windows para mais informações sobre esta estrutura.
Simplesmente chamar EnableToolTips não é suficiente para mostrar dicas de ferramenta para os controlos do seu filho, a menos que a janela pai seja derivada de CFrameWnd. Isto deve-se ao facto CFrameWnd de fornecer um handler padrão para a TTN_NEEDTEXT notificação. Se a sua janela de pai não for derivada de CFrameWnd, ou seja, se for uma caixa de diálogo ou uma vista de formulário, as dicas de ferramenta para os controlos do seu filho não serão exibidas corretamente, a menos que forneça um handler para a TTN_NEEDTEXT notificação da tooltip. Ver dicas de ferramenta.
As dicas de ferramenta padrão fornecidas para as suas janelas EnableToolTips não têm texto associado a elas. Para recuperar texto para a dica de ferramenta ser exibida, a TTN_NEEDTEXT notificação é enviada para a janela principal do controlo da dica pouco antes da janela da dica ser exibida. Se não houver um handler para esta mensagem atribuir algum valor ao pszText membro da TOOLTIPTEXT estrutura, não será exibido texto para a dica de ferramenta.
Example
// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
void CMdiView::OnInitialUpdate()
{
CView::OnInitialUpdate();
m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
CRect(10, 10, 100, 100), this, IDC_TTEDIT);
EnableToolTips(TRUE); // enable tool tips for view
}
//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(id);
UNREFERENCED_PARAMETER(pResult);
// need to handle both ANSI and UNICODE versions of the message
TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
CStringA strTipText;
UINT_PTR nID = pNMHDR->idFrom;
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
// idFrom is actually the HWND of the tool
nID = ::GetDlgCtrlID((HWND)nID);
}
if (nID != 0) // will be zero on a separator
strTipText.Format("Control ID = %d", nID);
if (pNMHDR->code == TTN_NEEDTEXTA)
{
strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
strTipText.GetLength() + 1);
}
else
{
::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
}
return TRUE; // message was handled
}
CWnd::EnableTrackingToolTips
Ativa ou desativa as dicas de rastreamento.
BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);
Parâmetros
bEnable
Especifica se as descrições de ferramentas de rastreamento estão ativadas ou desativadas. Se este parâmetro for TRUE, as dicas de ferramentas de rastreamento serão ativadas. Se este parâmetro for FALSE, as descrições de ferramentas de rastreamento serão desativadas.
Valor de retorno
Indica o estado antes de a EnableWindow função membro ser chamada. O valor de retorno é diferente de zero se a janela estivesse previamente desativada. O valor de retorno é 0 se a janela estivesse previamente ativada ou se ocorreu um erro.
Observações
As dicas de tracking são janelas de tooltip que podes posicionar dinamicamente no ecrã. Ao atualizar rapidamente a posição, a janela da dica de ferramenta parece mover-se suavemente, ou "rastrear". Esta funcionalidade pode ser útil se precisares de texto tipo de ferramenta para acompanhar a posição do ponteiro à medida que este se move.
CWnd::EnableWindow
Ativa ou desativa a entrada de rato e teclado.
BOOL EnableWindow(BOOL bEnable = TRUE);
Parâmetros
bEnable
Especifica se a janela dada deve ser ativada ou desativada. Se este parâmetro for TRUE, a janela será ativada. Se este parâmetro for FALSE, a janela será desativada.
Valor de retorno
Indica o estado antes de a EnableWindow função membro ser chamada. O valor de retorno é diferente de zero se a janela estivesse previamente desativada. O valor de retorno é 0 se a janela estivesse previamente ativada ou se ocorreu um erro.
Observações
Quando a entrada está desativada, a entrada como cliques de rato e teclas é ignorada. Quando a entrada está ativada, a janela processa toda a entrada.
Se o estado ativado estiver a mudar, a WM_ENABLE mensagem é enviada antes de esta função regressar.
Se desativadas, todas as janelas filhos ficam implicitamente desativadas, embora não sejam enviadas WM_ENABLE mensagens.
Uma janela deve ser ativada antes de poder ser ativada. Por exemplo, se uma aplicação estiver a exibir uma caixa de diálogo sem modos e tiver desativado a sua janela principal, a janela principal deve estar ativada antes de a caixa de diálogo ser destruída. Caso contrário, outra janela recebe o foco de entrada e é ativada. Se uma janela filha estiver desativada, é ignorada quando o Windows tenta determinar qual janela deve receber mensagens do rato.
Por defeito, uma janela está ativada quando é criada. Uma aplicação pode especificar o WS_DISABLED estilo na Create função membro ou CreateEx para criar uma janela que está inicialmente desativada. Depois de criada uma janela, uma aplicação pode também usar a EnableWindow função membro para ativar ou desativar a janela.
Uma aplicação pode usar esta função para ativar ou desativar um controlo numa caixa de diálogo. Um controlo desativado não pode receber o foco de entrada, nem o utilizador pode aceder a ele.
Example
//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
CFileDialog::OnInitDialog();
CWnd *pWndParent = GetParent();
//make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'
//disables the 'file name' edit and static control
//of the standard file open dialog
//get handle of 'file name' combobox control & disable it
CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
pWnd->EnableWindow(FALSE);
//get handle of 'file name' static control & disable it
pWnd = pWndParent->GetDlgItem(stc3);
pWnd->EnableWindow(FALSE);
return TRUE;
}
CWnd::EndModalLoop
Termina uma chamada para RunModalLoop.
virtual void EndModalLoop(int nResult);
Parâmetros
nResult
Contém o valor a ser devolvido ao chamador de RunModalLoop.
Observações
O nResult parâmetro é propagado para o valor de retorno de RunModalLoop.
CWnd::EndModalState
Chame essa função de membro para alterar uma janela de quadro de modal para sem modo.
virtual void EndModalState();
CWnd::EndPaint
Marca o fim da pintura na janela indicada.
void EndPaint(LPPAINTSTRUCT lpPaint);
Parâmetros
lpPaint
Aponta para uma PAINTSTRUCT estrutura que contém a informação de pintura recuperada pela BeginPaint função elemento.
Observações
A EndPaint função elemento é necessária para cada chamada à BeginPaint função elemento, mas apenas depois de a pintura estar concluída.
Se o caret estava oculto pela BeginPaint função membro, EndPaint restaura o caret no ecrã.
Example
Veja o exemplo para CWnd::BeginPaint.
CWnd::ExecuteDlgInit
Inicia um recurso de diálogo.
BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);
Parâmetros
lpszResourceName
Um apontador para uma cadeia terminada por nulo que especifica o nome do recurso.
lpResource
Um indicador para um recurso.
Valor de retorno
TRUE se um recurso de diálogo for executado; caso contrário FALSE.
Observações
ExecuteDlgInit utilizará recursos vinculados ao módulo em execução, ou recursos de outras fontes. Para isso, ExecuteDlgInit encontra um handle de recurso chamando AfxFindResourceHandle. Se a sua aplicação MFC não usar a DLL partilhada (MFCx0[U][D].DLL), AfxFindResourceHandle chama AfxGetResourceHandle, que devolve o handle de recurso atual para o executável. Se a sua aplicação MFC que utiliza MFCx0[U][D].DLL percorrer AfxFindResourceHandle a CDynLinkLibrary lista de objetos de DLLs partilhadas e de extensão MFC à procura do handle de recurso correto.
CWnd::FilterToolTipMessage
Chamado pelo framework para mostrar mensagens de tooltip.
void FilterToolTipMessage(MSG* pMsg);
Parâmetros
pMsg
Um apontador para a mensagem da dica de ferramenta.
Observações
Na maioria das aplicações MFC, este método é chamado pelo framework from PreTranslateMessage e EnableToolTips, e não precisa de o chamar por si próprio.
No entanto, em certas aplicações, por exemplo alguns controlos ActiveX, estes métodos podem não ser invocados pelo framework, e terá de se chamar FilterToolTipMessage a si próprio. Para mais informações, consulte Métodos de Criação de Dicas de Ferramentas.
CWnd::FindWindow
Devolve o top-level CWnd cuja classe de janela é dada por lpszClassName e cujo nome, ou título, da janela é dado por lpszWindowName.
static CWnd* PASCAL FindWindow(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName);
Parâmetros
lpszClassName
Aponta para uma cadeia terminada por nulo que especifica o nome da classe da janela (uma WNDCLASS estrutura). Se lpClassName for NULL, todos os nomes das classes coincidem.
lpszWindowName
Aponta para uma cadeia terminada por nulo que especifica o nome da janela (o título da janela). Se lpWindowName for NULL, todos os nomes de janelas coincidem.
Valor de retorno
Identifica a janela que tem o nome da classe e o nome da janela especificados. É, NULL se não for encontrada tal janela.
O CWnd* pode ser temporário e não deve ser guardado para uso posterior.
Observações
Esta função não pesquisa janelas filhas.
Example
// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
CWnd *pWndPrev, *pWndChild;
// Determine if a window with the class name exists...
pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
if (NULL != pWndPrev)
{
// If so, does it have any popups?
pWndChild = pWndPrev->GetLastActivePopup();
// If iconic, restore the main window
if (pWndPrev->IsIconic())
pWndPrev->ShowWindow(SW_RESTORE);
// Bring the main window or its popup to the foreground
pWndChild->SetForegroundWindow();
// and you are done activating the other application
return FALSE;
}
return TRUE;
}
CWnd::FindWindowEx
Recupera o objeto janela cujo nome da classe e do nome da janela correspondem às strings especificadas.
static CWnd* FindWindowEx(
HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow);
Parâmetros
hwndParent
Handle para a janela mãe cujas janelas filhas devem ser pesquisadas.
hwndChildAfter
Pega na janela de uma criança. A pesquisa começa com a próxima janela filha na ordem Z. A janela filho deve ser uma janela filha direta de hwndParent, não apenas uma janela descendente.
lpszClass
Apontador para uma cadeia terminada por nulo que especifica o nome da classe ou um átomo de classe criado por uma chamada anterior ao RegisterClass ou RegisterClassEx.
lpszWindow
Apontador para uma cadeia terminada por nulo que especifica o nome da janela (o título da janela). Se este parâmetro for NULL, todos os nomes das janelas coincidem.
Valor de retorno
Se a função tiver sucesso, o valor de retorno é um ponteiro para o objeto janela com os nomes de classe e janela especificados. Se a função falhar, o valor de retorno é NULL.
Observações
Esta função de membro emula a funcionalidade da função FindWindowEx, conforme descrito no SDK do Windows.
CWnd::FlashWindow
Pisca a janela dada uma vez.
BOOL FlashWindow(BOOL bInvert);
Parâmetros
bInvert
Especifica se o CWnd deve ser flashado ou devolvido ao seu estado original. O CWnd é flashado de um estado para o outro se bInvert for TRUE. Se bInvert for FALSE, a janela é devolvida ao seu estado original (ativo ou inativo).
Valor de retorno
Diferente de zero se a janela estivesse ativa antes da chamada para a FlashWindow função membro; caso contrário, 0.
Observações
Para flashes sucessivos, crie um temporizador de sistema e chame FlashWindowrepetidamente . Piscar o CWnd sistema muda a aparência da barra de título como se estivesse CWnd a mudar de inativo para ativo, ou vice-versa. (Uma barra de título inativa muda para uma barra de título ativa; uma barra de título ativa muda para uma barra de título inativa.)
Normalmente, uma janela é projetada para informar o utilizador de que precisa de atenção, mas que não tem atualmente o foco de entrada.
O bInvert parâmetro deve ser FALSE apenas quando a janela está a receber o foco de entrada e deixa de estar a piscar; deve estar TRUE em chamadas sucessivas enquanto espera obter o foco de entrada.
Esta função devolve sempre o que não é zero para janelas minimizadas. Se a janela estiver minimizada, FlashWindow o ícone da janela irá piscar; bInvert é ignorado para janelas minimizadas.
Example
BOOL CPenWidthsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// set timer to cause dialog to flash
SetTimer(1, 500, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
// cause the dialog to flash
FlashWindow(TRUE);
CDialog::OnTimer(nIDEvent);
}
CWnd::FlashWindowEx
Pisca a janela indicada.
BOOL FlashWindowEx(
DWORD dwFlags,
UINT uCount,
DWORD dwTimeout);
Parâmetros
dwFlags
Especifica o estado do flash. Para uma lista completa de valores, veja a FLASHWINFO estrutura.
uCount
Especifica o número de vezes a piscar a janela.
dwTimeout
Especifica a velocidade, em milissegundos, a que a janela será piscada. Se dwTimeout for zero, a função utiliza a taxa de piscar do cursor por defeito.
Valor de retorno
O valor de retorno especifica o estado da janela antes da chamada à FlashWindowEx função. Se a legenda da janela foi desenhada como ativa antes da chamada, o valor de retorno é diferente de zero. Caso contrário, o valor de retorno é zero.
Observações
Este método emula a funcionalidade da função FlashWindowEx, conforme descrito no SDK do Windows.
CWnd::FromHandle
Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado.
static CWnd* PASCAL FromHandle(HWND hWnd);
Parâmetros
hWnd
Uma HWND janela de janela.
Valor de retorno
Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado.
O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
CWnd::FromHandlePermanent
Devolve um ponteiro para um CWnd objeto quando recebe uma alavanca para uma janela.
static CWnd* PASCAL FromHandlePermanent(HWND hWnd);
Parâmetros
hWnd
Uma HWND janela de janela.
Valor de retorno
Um ponteiro para um CWnd objeto.
Observações
Se um CWnd objeto não estiver preso à pega, NULL é devolvido.
Esta função, ao contrário de FromHandle, não cria objetos temporários.
CWnd::get_accChild
Chamado pela estrutura para recuperar o endereço de uma interface IDispatch para o filho especificado.
virtual HRESULT get_accChild(
VARIANT varChild,
IDispatch** ppdispChild);
Parâmetros
varChild
Identifica a criança cuja IDispatch interface deve ser recuperada.
ppdispChild
Recebe o endereço da interface do IDispatch objeto filho.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accChild no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::get_accChild no SDK do Windows.
CWnd::get_accChildCount
Chamado pela estrutura para recuperar o número de filhos pertencentes a este objeto.
virtual HRESULT get_accChildCount(long* pcountChildren);
Parâmetros
pcountChildren
Recebe o número de crianças.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accChildCount no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere). Chame a versão base da classe e depois adicione os elementos filhos sem janela.
Para obter mais informações, consulte IAccessible::get_accChildCount no SDK do Windows.
CWnd::get_accDefaultAction
Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a ação padrão do objeto.
virtual HRESULT get_accDefaultAction(
VARIANT varChild,
BSTR* pszDefaultAction);
Parâmetros
varChild
Especifica se a ação padrão a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pszDefaultAction
Endereço de a BSTR que recebe uma string localizada descrevendo a ação padrão para o objeto especificado, ou NULL se esse objeto não tiver uma ação por defeito.
Valor de retorno
Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Ver valores de retorno em IAccessible::get_accDefaultAction no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Sobrescrita esta função na tua CWndclasse derivada de -para descrever a ação padrão do teu objeto.
Para obter mais informações, consulte IAccessible::get_accDefaultAction no SDK do Windows.
CWnd::get_accDescription
Chamado pela estrutura para recuperar uma cadeia de caracteres que descreve a aparência visual do objeto especificado.
virtual HRESULT get_accDescription(
VARIANT varChild,
BSTR* pszDescription);
Parâmetros
varChild
Especifica se a descrição a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pszDescription
Endereço de a BSTR que recebe uma string localizada a descrever o objeto especificado, ou NULL se não houver descrição disponível para esse objeto.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accDescription no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Sobrescrita esta função na tua CWndclasse derivada para descrever o teu objeto. Liga para a versão da classe base e adiciona a tua descrição.
Para obter mais informações, consulte IAccessible::get_accDescription no SDK do Windows.
CWnd::get_accFocus
Chamado pela estrutura para recuperar o objeto que tem o foco do teclado.
virtual HRESULT get_accFocus(VARIANT* pvarChild);
Parâmetros
pvarChild
Recebe informação sobre o objeto que tem o foco. Veja pvarID no IAccessible::get_accFocus SDK do Windows.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accFocus no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::get_accFocus no SDK do Windows.
CWnd::get_accHelp
Chamada pelo framework para recuperar a cadeia de propriedades Help de um objeto.
virtual HRESULT get_accHelp(
VARIANT varChild,
BSTR* pszHelp);
Parâmetros
varChild
Especifica se a informação de ajuda a ser recuperada pertence ao objeto ou a de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pszHelp
Endereço de a BSTR que recebe a string localizada contendo a informação de ajuda para o objeto especificado, ou NULL se não houver informação de ajuda disponível.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accHelp no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada para fornecer texto de ajuda para o seu objeto.
Para obter mais informações, consulte IAccessible::get_accHelp no SDK do Windows.
CWnd::get_accHelpTopic
Chamado pelo framework para recuperar o caminho completo do ficheiro WinHelp associado ao objeto especificado e o identificador do tópico apropriado dentro desse ficheiro.
virtual HRESULT get_accHelpTopic(
BSTR* pszHelpFile,
VARIANT varChild,
long* pidTopic);
Parâmetros
pszHelpFile
Endereço de a BSTR que recebe o caminho completo do WinHelp ficheiro associado ao objeto especificado, se houver.
varChild
Especifica se o tópico Ajuda a ser recuperado é o do objeto ou um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter um tópico de Ajuda para o objeto) ou um ID filho (para obter um tópico de Ajuda para um dos elementos filho do objeto).
pidTopic
Identifica o tópico do ficheiro de Ajuda associado ao objeto especificado. Veja pidTopic no IAccessible::get_accHelpTopic SDK do Windows.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accHelpTopic no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada para fornecer informação de ajuda sobre o seu objeto.
Para obter mais informações, consulte IAccessible::get_accHelpTopic no SDK do Windows.
CWnd::get_accKeyboardShortcut
Chamado pela estrutura para recuperar a tecla de atalho ou a chave de acesso do objeto especificado.
virtual HRESULT get_accKeyboardShortcut(
VARIANT varChild,
BSTR* pszKeyboardShortcut);
Parâmetros
varChild
Especifica se o atalho de teclado a recuperar é o do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pszKeyboardShortcut
Endereço de a BSTR que recebe uma string localizada identificando o atalho de teclado, ou NULL se não estiver associado nenhum atalho de teclado ao objeto especificado.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accKeyboardShortcut no SDK do Windows.
Observações
Esta função faz parte do suporte da Active Accessibility MFC.
Sobrescrita esta função na tua CWndclasse derivada para identificar o atalho de teclado do teu objeto.
Para obter mais informações, consulte IAccessible::get_accKeyboardShortcut no SDK do Windows.
CWnd::get_accName
Chamado pela estrutura para recuperar o nome do objeto especificado.
virtual HRESULT get_accName(
VARIANT varChild,
BSTR* pszName);
Parâmetros
varChild
Especifica se o nome a recuperar é o do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pszName
Endereço de a BSTR que recebe uma string contendo o nome do objeto especificado.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accName no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada para devolver o nome do seu objeto.
Para obter mais informações, consulte IAccessible::get_accName no SDK do Windows.
CWnd::get_accParent
Chamado pelo framework para recuperar a IDispatch interface do pai do objeto.
virtual HRESULT get_accParent(IDispatch** ppdispParent);
Parâmetros
ppdispParent
Recebe o endereço da interface do IDispatch objeto pai. A variável é definida para NULL se não existir um pai, ou se o filho não conseguir aceder ao seu pai.
Valor de retorno
Retornos S_OK do sucesso, um COM código de erro em caso de falha. Veja valores de retorno em IAccessible::get_accParent no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Na maioria dos casos, não tens de sobrescrever esta função.
Para obter mais informações, consulte IAccessible::get_accParent no SDK do Windows.
CWnd::get_accRole
Chamado pela estrutura para recuperar informações que descrevem a função do objeto especificado.
virtual HRESULT get_accRole(
VARIANT varChild,
VARIANT* pvarRole);
Parâmetros
varChild
Especifica se a informação do papel a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pvarRole
Recebe a informação do cargo. Veja pvarRole no IAccessible::get_accRole SDK do Windows.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accRole no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::get_accRole no SDK do Windows.
CWnd::get_accSelection
Chamado pela estrutura para recuperar os filhos selecionados deste objeto.
virtual HRESULT get_accSelection(VARIANT* pvarChildren);
Parâmetros
pvarChildren
Recebe informações sobre quais as crianças selecionadas. Veja pvarChildren no IAccessible::get_accSelection SDK do Windows.
Valor de retorno
Devolve S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accSelection no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::get_accSelection no SDK do Windows.
CWnd::get_accState
Chamado pela estrutura para recuperar o estado atual do objeto especificado.
virtual HRESULT get_accState(
VARIANT varChild,
VARIANT* pvarState);
Parâmetros
varChild
Especifica se a informação de estado a recuperar é a do objeto ou de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pvarState
Recebe informação sobre o estado do objeto. Veja pvarState no IAccessible::get_accState SDK do Windows.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accState no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::get_accState no SDK do Windows.
CWnd::get_accValue
Chamado pela estrutura para recuperar o valor do objeto especificado.
virtual HRESULT get_accValue(
VARIANT varChild,
BSTR* pszValue);
Parâmetros
varChild
Especifica se a informação de valor a recuperar pertence ao objeto ou a de um dos elementos filhos do objeto. Este parâmetro pode ser ( CHILDID_SELF para obter informação sobre o objeto) ou um ID filho (para obter informação sobre o elemento filho do objeto).
pszValue
Endereço de que BSTR recebe uma string localizada contendo o valor atual do objeto.
Valor de retorno
Retornos S_OK em caso de sucesso, um código de erro COM em caso de falha. Veja valores de retorno em IAccessible::get_accValue no SDK do Windows.
Observações
Esta função faz parte do suporte de Acessibilidade Ativa da MFC.
Substitua esta função na sua CWndclasse derivada se tiver elementos de interface de utilizador sem janelas (exceto os controlos ActiveX sem janelas, que o MFC gere).
Para obter mais informações, consulte IAccessible::get_accValue no SDK do Windows.
CWnd::GetActiveWindow
Recupera um ponteiro para a janela ativa.
static CWnd* PASCAL GetActiveWindow();
Valor de retorno
A janela ativa ou NULL se nenhuma janela estivesse ativa no momento da chamada. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
A janela ativa é ou a janela que tem o foco de entrada atual ou a janela explicitamente tornada ativa pela SetActiveWindow função membro.
CWnd::GetAncestor
Recupera o objeto janela ancestral da janela especificada.
CWnd* GetAncestor(UINT gaFlags) const;
Parâmetros
gaFlags
Especifica o antepassado a ser recuperado. Para uma lista completa de valores possíveis, veja GetAncestor.
Valor de retorno
Se a função tiver sucesso, o valor de retorno é um apontador para o objeto janela ancestral. Se a função falhar, o valor de retorno é NULL.
Observações
Esta função de membro emula a funcionalidade da função GetAncestor, conforme descrito no SDK do Windows.
CWnd::GetCapture
Recupera a janela onde o rato é capturado.
static CWnd* PASCAL GetCapture();
Valor de retorno
Identifica a janela que tem a captura do rato. É NULL se nenhuma janela tiver captura do rato.
O valor de retorno pode ser temporário e não deve ser guardado para uso posterior.
Observações
Apenas uma janela tem a captura do rato em cada momento. Uma janela recebe a captura do rato quando a SetCapture função membro é chamada. Esta janela recebe a entrada do rato, quer o cursor esteja ou não dentro das suas bordas.
CWnd::GetCaretPos
Recupera as coordenadas do cliente com a posição atual do caret e devolve-as como um CPoint.
static CPoint PASCAL GetCaretPos();
Valor de retorno
CPoint objeto contendo as coordenadas da posição do caret.
Observações
A posição do caret é dada nas coordenadas cliente da CWnd janela.
CWnd::GetCheckedRadioButton
Recupera o ID do botão de rádio atualmente verificado no grupo especificado.
int GetCheckedRadioButton(
int nIDFirstButton,
int nIDLastButton);
Parâmetros
nIDFirstButton
Especifica o identificador inteiro do primeiro botão de acesso do grupo.
nIDLastButton
Especifica o identificador inteiro do último botão de acesso do grupo.
Valor de retorno
ID do botão de rádio verificado, ou 0 se não estiver selecionado.
CWnd::GetClientRect
Copia as coordenadas cliente da CWnd área cliente na estrutura apontada por lpRect.
void GetClientRect(LPRECT lpRect) const;
Parâmetros
lpRect
Aponta para uma RECT estrutura ou objeto CRect para receber as coordenadas do cliente. Os left membros e top serão 0. Os right membros e bottom conterão a largura e a altura da janela.
Observações
As coordenadas do cliente especificam os cantos superior esquerdo e inferior direito da área do cliente. Como as coordenadas do cliente são relativas aos cantos superiores esquerdos da CWnd área do cliente, as coordenadas do canto superior esquerdo são (0,0).
Example
Veja o exemplo para CWnd::IsIconic.
CWnd::GetClipboardOwner
Recupera o atual proprietário da Prancheta.
static CWnd* PASCAL GetClipboardOwner();
Valor de retorno
Identifica a janela que detém a Área de Transferência se a função for bem-sucedida. Caso contrário, é NULL.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
A Prancheta pode conter dados mesmo que não seja atualmente possuida.
CWnd::GetClipboardViewer
Recupera a primeira janela da cadeia Clipboard-viewer.
static CWnd* PASCAL GetClipboardViewer();
Valor de retorno
Identifica a janela atualmente responsável por exibir a Área de Transferência se for bem-sucedida; caso contrário NULL (por exemplo, se não houver visualizador).
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
CWnd::GetControlUnknown
Chame esta função membro para recuperar um ponteiro para um controlo OLE desconhecido.
LPUNKNOWN GetControlUnknown();
Valor de retorno
Um ponteiro para a IUnknown interface do controlo OLE representado por este CWnd objeto. Se este objeto não representa um controlo OLE, o valor de retorno é NULL.
Observações
Não devias libertar este IUnknown ponteiro. Normalmente, usaria para obter uma interface específica do controlo.
O ponteiro de interface devolvido GetControlUnknown não é contado por referência. Não ligue IUnknown::Release pelo ponteiro a menos que já o tenha contactado anteriormente IUnknown::AddRef .
Example
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.
// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);
// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();
// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);
// use IDispatch method to invoke the control's functionality
CWnd::GetCurrentMessage
Devolve um ponteiro para a mensagem que esta janela está a processar. Só deve ser chamado quando estiver numa função membro do handler demensagens On.
static const MSG* PASCAL GetCurrentMessage();
Valor de retorno
Devolve um ponteiro para a MSG estrutura que contém a mensagem que a janela está a processar. Só deve ser chamada quando estiver num manipulador de mensagens On.
Example
Veja o exemplo para CMDIFrameWnd::MDICascade.
CWnd::GetDC
Recupera um ponteiro para um contexto comum, de classe ou de dispositivo privado para a área do cliente, dependendo do estilo de classe especificado para o CWnd.
CDC* GetDC();
Valor de retorno
Identifica o contexto do dispositivo para a CWnd área do cliente se for bem-sucedido; caso contrário, o valor de retorno é NULL. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
Para contextos comuns de dispositivos, GetDC atribui atributos predefinidos ao contexto cada vez que este é recuperado. Para contextos de classe e privados, GetDC mantém os atributos previamente atribuídos inalterados. O contexto do dispositivo pode ser usado em funções subsequentes de interface gráfica (GDI) para desenhar na área do cliente.
A menos que o contexto do dispositivo pertença a uma classe janela, a ReleaseDC função membro deve ser chamada para libertar o contexto após a pintura.
Um contexto de dispositivo pertencente à CWnd classe é devolvido pela GetDC função membro se CS_CLASSDC, CS_OWNDC, ou CS_PARENTDC foi especificado como um estilo na WNDCLASS estrutura quando a classe foi registada.
CWnd::GetDCEx
Recupera o handle de um contexto de dispositivo para a CWnd janela.
CDC* GetDCEx(
CRgn* prgnClip,
DWORD flags);
Parâmetros
prgnClip
Identifica uma região de recorte que pode ser combinada com a região visível da janela do cliente.
flags
Pode ter um dos seguintes valores predefinidos:
DCX_CACHEDevolve o contexto do dispositivo a partir da cache em vez daOWNDCjanela ouCLASSDC. SubstituiCS_OWNDCeCS_CLASSDC.DCX_CLIPCHILDRENExclui as regiões visíveis de todas as janelas filhas abaixo daCWndjanela.DCX_CLIPSIBLINGSExclui as regiões visíveis de todas as janelas irmãs acima daCWndjanela.DCX_EXCLUDERGNExclui a região de clipping identificada porprgnClipda região visível do contexto do dispositivo devolvido.DCX_INTERSECTRGNIntersecta a região de clipping identificada porprgnClipdentro da região visível do contexto do dispositivo devolvido.DCX_LOCKWINDOWUPDATEPermite desenhar mesmo que haja umLockWindowUpdateefeito de chamada que, de outra forma, excluiria essa janela. Este valor é usado para desenhar durante o rastreamento.DCX_PARENTCLIPUsa a região visível da janela pai e ignora os bits daWS_CLIPCHILDRENjanela pai eWS_PARENTDCdo estilo. Este valor define a origem do contexto do dispositivo para o canto superior esquerdo daCWndjanela.DCX_WINDOWDevolve um contexto de dispositivo que corresponde ao retângulo da janela em vez do retângulo cliente.
Valor de retorno
O contexto do dispositivo para a janela especificada, caso a função seja bem-sucedida; caso contrário NULL.
Observações
O contexto do dispositivo pode ser usado em funções GDI subsequentes para desenhar na área do cliente.
Esta função, que é uma extensão da GetDC função, dá à aplicação mais controlo sobre como e se o contexto de um dispositivo para uma janela é clipado.
A menos que o contexto do dispositivo pertença a uma classe janela, a ReleaseDC função deve ser chamada para libertar o contexto após o desenho. Como apenas cinco contextos comuns de dispositivo estão disponíveis em cada momento, a falha em libertar um contexto de dispositivo pode impedir que outras aplicações acedam ao contexto do dispositivo.
Para obter um contexto de dispositivo em cache, uma aplicação deve especificar DCX_CACHE. Se DCX_CACHE não for especificado e a janela não for nem CS_OWNDC , CS_CLASSDCesta função devolve NULL.
Um contexto de dispositivo com características especiais é devolvido pela GetDCEx função se o CS_CLASSDC, CS_OWNDC, ou CS_PARENTDC estilo foi especificado na WNDCLASS estrutura quando a classe foi registada.
Para mais informações sobre estas características, consulte a descrição da WNDCLASS estrutura no SDK do Windows.
CWnd::GetDCRenderTarget
Recupera o destino de renderização do contexto do dispositivo (DC) para a CWnd janela.
CDCRenderTarget* GetDCRenderTarget();
Valor de retorno
O alvo de renderização contextual do dispositivo para a janela especificada se a função for bem-sucedida; caso contrário NULL.
Observações
CWnd::GetDescendantWindow
Chame esta função membro para encontrar a janela descendente especificada pelo ID indicado.
CWnd* GetDescendantWindow(
int nID,
BOOL bOnlyPerm = FALSE) const;
Parâmetros
nID
Especifica o identificador da janela de controlo ou filha a ser recuperada.
bOnlyPerm
Especifica se a janela a devolver pode ser temporária. Se TRUE, apenas uma janela permanente pode ser devolvida; se FALSE, a função pode devolver uma janela temporária. Para mais informações sobre janelas temporárias, consulte a Nota Técnica 3.
Valor de retorno
Um ponteiro para um CWnd objeto, ou NULL se não for encontrada nenhuma janela filha.
Observações
Esta função membro pesquisa toda a árvore de janelas filhas, não apenas as janelas que são filhos imediatos.
CWnd::GetDesktopWindow
Devolve a janela do ambiente de trabalho do Windows.
static CWnd* PASCAL GetDesktopWindow();
Valor de retorno
Identifica a janela do ambiente de trabalho do Windows. Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
A janela do ambiente de trabalho cobre todo o ecrã e é a área em cima da qual todos os ícones e outras janelas estão pintados.
CWnd::GetDlgCtrlID
Devolve o valor de janela ou ID de controlo para qualquer janela filha, não apenas o de um controlo numa caixa de diálogo.
int GetDlgCtrlID() const;
Valor de retorno
O identificador numérico da CWnd janela filha se a função for bem-sucedida; caso contrário, 0.
Observações
Como as janelas de topo não têm um valor ID, o valor de retorno desta função é inválido se for CWnd uma janela de topo de nível.
Example
Veja o exemplo para CWnd::OnCtlColor.
CWnd::GetDlgItem
Recupera um ponteiro para a janela de controlo ou filho especificada numa caixa de diálogo ou noutra janela.
CWnd* GetDlgItem(int nID) const;
void GetDlgItem(
int nID,
HWND* phWnd) const;
Parâmetros
nID
Especifica o identificador da janela de controlo ou filha a ser recuperada.
phWnd
Um apontador para uma janela de criança.
Valor de retorno
Um apontador para a janela de controlo ou filha dada. Se não existir controlo com o ID inteiro dado pelo nID parâmetro, o valor é NULL.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
O ponteiro devolvido é geralmente lançado para o tipo de controlo identificado por nID.
Example
// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);
CWnd::GetDlgItemInt
Recupera o texto do controlo identificado por nID.
UINT GetDlgItemInt(
int nID,
BOOL* lpTrans = NULL,
BOOL bSigned = TRUE) const;
Parâmetros
nID
Especifica o identificador inteiro do controlo da caixa de diálogo a ser traduzido.
lpTrans
Aponta para a variável booleana que recebe a bandeira traduzida.
bSigned
Especifica se o valor a recuperar está assinado.
Valor de retorno
Especifica o valor traduzido do texto do item da caixa de diálogo. Como 0 é um valor de retorno válido, lpTrans deve ser usado para detetar erros. Se um valor de retorno assinado for desejado, conjure-o como um int tipo.
A função devolve 0 se o número traduzido for maior que INT_MAX (para números com assinatura) ou UINT_MAX (para não assinado).
Quando ocorrem erros, como encontrar caracteres não numéricos e exceder o máximo acima, GetDlgItemInt copia 0 para a localização apontada por lpTrans. Se não houver erros, lpTrans recebe um valor diferente de zero. Se lpTrans for NULL, GetDlgItemInt não alerta sobre erros.
Observações
Traduz o texto do controlo especificado na caixa de diálogo em valor inteiro, removendo quaisquer espaços extra no início do texto e convertendo dígitos decimais. Para a tradução quando chega ao fim do texto ou encontra qualquer carácter não numérico.
Se bSigned for TRUE, GetDlgItemInt verifica um sinal menos (-) no início do texto e traduz o texto para um número com sinal. Caso contrário, cria um valor sem sinal.
Envia uma WM_GETTEXT mensagem para o controlo.
CWnd::GetDlgItemText
Chame esta função membro para recuperar o título ou texto associado a um controlo numa caixa de diálogo.
int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
int GetDlgItemText(
int nID,
CString& rString) const;
Parâmetros
nID
Especifica o identificador inteiro do controlo cujo título deve ser recuperado.
lpStr
Aponta para o buffer para receber o título ou texto do controlo.
nMaxCount
Especifica o comprimento máximo (em caracteres) da cadeia a copiar para lpStr. Se a corda for mais longa que nMaxCount, é truncada.
rString
Uma referência a um CStringarquivo .
Valor de retorno
Especifica o número real de caracteres copiados para o buffer, não incluindo o carácter nulo que termina. O valor é 0 se não for copiado texto.
Observações
A GetDlgItemText função membro copia o texto para a localização apontada por lpStr e devolve uma contagem do número de bytes que copia.
CWnd::GetDSCCursor
Chame esta função membro para recuperar um ponteiro para o cursor subjacente definido pelas DataSourcepropriedades , UserName, Password, e SQL do controlo de código-fonte de dados.
IUnknown* GetDSCCursor();
Valor de retorno
Um apontador para um cursor definido por um controlo de fonte de dados. A MFC trata de chamar AddRef o apontador.
Observações
Use o ponteiro retornado para definir a ICursor propriedade de um controlo limitado por dados complexo, como o controlo de grelha limitado por dados. Um controlo de fonte de dados não se tornará ativo até que o primeiro controlo vinculado solicite o seu cursor. Isto pode acontecer explicitamente por uma chamada ou GetDSCCursor implicitamente pelo gestor de ligação MFC. Em qualquer dos casos, pode forçar um controlo de fonte de dados a ativar-se chamando GetDSCCursor e depois ligando Release ao ponteiro retornado para IUnknown. A ativação fará com que o controlo de fonte de dados tente ligar-se à fonte de dados subjacente. O ponteiro devolvido pode ser usado no seguinte contexto:
Example
BOOL CMyDlg::OnInitDialog()
{
// Find the child controls on the dialog
HRESULT hr = E_FAIL;
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
IUnknown *punkList = pListWnd->GetControlUnknown();
IDBList *pList = NULL;
if (NULL != punkList)
{
hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
}
if (SUCCEEDED(hr))
{
// Tell the MFC binding manager that we are
// binding DISPID 3 to the data-source control.
pListWnd->BindProperty(0x3, pDSC);
// Tell the listbox which field to expose as its bound column
pList->put_BoundColumn(_T("ContactFirstName"));
// Tell the listbox which cursor and column to populate its list from
pList->put_ListField(_T("ContactFirstName"));
IUnknown *punkCursor = pDSC->GetDSCCursor();
if (NULL != punkCursor)
{
punkCursor->Release();
}
pList->Release();
return TRUE;
}
CWnd::GetDynamicLayout
Recupera um ponteiro para o objeto gestor de layout dinâmico.
CMFCDynamicLayout* GetDynamicLayout();
Valor de retorno
Um apontador para o objeto gestor de layout dinâmico, ou NULL se o layout dinâmico não estiver ativado.
Observações
O objeto janela detém e gere a vida útil do ponteiro devolvido, pelo que deve ser usado apenas para aceder ao objeto; Não apague o ponteiro nem armazene o ponteiro permanentemente.
CWnd::GetExStyle
Devolve o estilo estendido da janela.
DWORD GetExStyle() const;
Valor de retorno
O estilo estendido da janela. Para mais informações sobre os estilos de janelas estendidas usados no MFC, consulte Estilos de Janelas Estendidas.
CWnd::GetFocus
Recupera um ponteiro para o CWnd que atualmente tem o foco de entrada.
static CWnd* PASCAL GetFocus();
Valor de retorno
Um apontador para a janela que tem o foco atual, ou NULL se não houver janela de foco.
O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
CWnd::GetFont
Envia a WM_GETFONT mensagem para a janela para recuperar a fonte atual.
CFont* GetFont() const;
Valor de retorno
Apontar para um CFont objeto que está associado à fonte atual da janela.
Observações
Este método não tem efeito a menos que a janela processe a WM_GETFONT mensagem. Muitas classes MFC que derivam de CWnd processam esta mensagem porque estão associadas a uma classe janela predefinida que inclui um manipulador de mensagens para a WM_GETFONT mensagem. Para usar este método, as classes de CWnd onde se deriva devem definir um handler de método para a WM_GETFONT mensagem.
CWnd::GetForegroundWindow
Devolve um ponteiro para a janela em primeiro plano (a janela com a qual o utilizador está a trabalhar no momento).
static CWnd* PASCAL GetForegroundWindow();
Valor de retorno
Um apontador para a janela em primeiro plano. Isto pode ser um objeto temporário CWnd .
Observações
A janela em primeiro plano aplica-se apenas às janelas de nível superior (janelas de molduras ou caixas de diálogo).
CWnd::GetIcon
Chame esta função membro para levar a pega a um ícone grande (32x32) ou a alça a um ícone pequeno (16x16), como indicado por bBigIcon.
HICON GetIcon(BOOL bBigIcon) const;
Parâmetros
bBigIcon
Especifica um ícone de 32 píxeis por 32 píxeis se TRUE; especifica um ícone de 16 píxeis por 16 píxeis se FALSE.
Valor de retorno
Um identificador para um ícone. Se não for bem-sucedido, retorna NULL.
CWnd::GetLastActivePopup
Determina qual janela pop-up pertencente CWnd esteve mais recentemente ativa.
CWnd* GetLastActivePopup() const;
Valor de retorno
Identifica a janela pop-up mais recente e ativa. O valor de retorno será a própria janela se alguma das seguintes condições for cumprida:
A janela em si esteve mais recentemente ativa.
A janela não possui nenhuma janela pop-up.
A janela não é de nível superior nem pertence a outra janela.
O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Example
Veja o exemplo para CWnd::FindWindow.
CWnd::GetLayeredWindowAttributes
Recupera a tecla de cor opacidade e transparência de uma janela em camadas.
BOOL GetLayeredWindowAttributes(
COLORREF* pcrKey,
BYTE* pbAlpha,
DWORD* pdwFlags) const;
Parâmetros
pcrKey
Apontador para um COLORREF valor que recebe a chave de cor de transparência a ser usada ao compor a janela em camadas. Todos os píxeis pintados pela janela nesta cor serão transparentes. Isto pode acontecer NULL se o argumento não for necessário.
pbAlpha
Apontador para um BYTE que recebe o valor Alpha usado para descrever a opacidade da janela em camadas. Quando a variável referida por pbAlpha é 0, a janela é completamente transparente. Quando a variável referida por pbAlpha é 255, a janela é opaca. Isto pode acontecer NULL se o argumento não for necessário.
pdwFlags
Apontador para um DWORD que recebe uma flag de camadas. Isto pode acontecer NULL se o argumento não for necessário. Para uma lista completa dos valores possíveis, veja 'GetLayeredWindowAttributes.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função GetLayeredWindowAttributes, conforme descrito no SDK do Windows.
CWnd::GetMenu
Recupera um ponteiro para o menu desta janela.
CMenu* GetMenu() const;
Valor de retorno
Identifica o menu. O valor é NULL se CWnd não tiver menu. O valor de retorno é indefinido se CWnd for uma janela filha.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
Esta função não deve ser usada para janelas crianças porque não têm menu.
Example
void CMainFrame::OnCwndDeletefilemenu()
{
// This example deletes the leftmost popup menu or leftmost
// popup menu item from the application's main window.
CWnd *pMain = AfxGetMainWnd();
// The main window _can_ be NULL, so this code
// doesn't ASSERT and actually tests.
if (pMain != NULL)
{
// Get the main window's menu
CMenu *pMenu = pMain->GetMenu();
// If there is a menu and it has items, we'll
// delete the first one.
if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
{
pMenu->DeleteMenu(0, MF_BYPOSITION);
// force a redraw of the menu bar
pMain->DrawMenuBar();
}
// No need to delete pMenu because it is an MFC
// temporary object.
}
}
CWnd::GetMenuBarInfo
Recupera informações sobre a barra de menus especificada.
BOOL GetMenuBarInfo(
LONG idObject,
LONG idItem,
PMENUBARINFO pmbi) const;
Parâmetros
idObject
Especifica o objeto do menu. Para uma lista de valores possíveis, veja GetMenuBarInfo.
idItem
Especifica o item para o qual obter informação. Se este parâmetro for zero, a função recupera informação sobre o próprio menu. Se este parâmetro for 1, a função recupera informação sobre o primeiro item no menu, e assim sucessivamente.
pmbi
Apontador para uma MENUBARINFO estrutura que recebe a informação.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função GetMenuBarInfo, conforme descrito no SDK do Windows.
CWnd::GetNextDlgGroupItem
Procura o controlo anterior ou próximo dentro de um grupo de controlos numa caixa de diálogo.
CWnd* GetNextDlgGroupItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgGroupItem(
COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;
Parâmetros
pWndCtl
Identifica o controlo a ser usado como ponto de partida para a pesquisa.
bPrevious
Especifica como a função deve pesquisar o grupo de controlos na caixa de diálogo. Se TRUE, a função procura o controlo anterior no grupo; se FALSE, procura o controlo seguinte no grupo.
pCurSiteOrWnd
Identifica o COleControlSiteOrWnd controlo. Para mais informações sobre COleControlSiteOrWnd, veja Observações.
Valor de retorno
Apontar para o controlo anterior ou seguinte no grupo se a função membro for bem-sucedida.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
Um grupo de controlos começa com um controlo criado com o WS_GROUP estilo e termina com o último controlo que não foi criado com esse WS_GROUP estilo.
Por defeito, a GetNextDlgGroupItem função membro devolve um ponteiro para o controlo seguinte no grupo. Se pWndCtl identifica o primeiro controlo do grupo e bPrevious é TRUE, GetNextDlgGroupItem devolve um ponteiro para o último controlo do grupo.
Observação
Como o MFC suporta controlos ActiveX sem janelas, os controlos ActiveX padrão e janelas, referir-se a um controlo apenas por um HWND já não é suficiente. O COleControlSiteOrWnd objeto inclui informação que identifica o objeto como um controlo ActiveX em janela, um controlo ActiveX sem janelas ou uma janela, da seguinte forma:
| Controlo ou tipo de janela | Informação identificativa |
|---|---|
| Controlo ActiveX em Janela | Contém um HWND e associa um objeto COleControlSite a ele. O elemento de COleControlSiteOrWnd está definido para o HWND do controlo, e o m_pSite elemento aponta para o do COleControlSitecontrolo .m_hWnd |
| Controlo ActiveX sem janelas | Não contém HWND. O elemento de COleControlSiteOrWnd aponta para os controlos COleControlSite, e o m_hWnd elemento é NULL.m_pSite |
| Janela padrão | Contém apenas um HWND. O m_hWnd elemento de COleControlSiteOrWnd é definido para o HWND da janela, e o m_pSite membro é NULL. |
CWnd::GetNextDlgTabItem
Recupera um ponteiro para o primeiro controlo criado com o WS_TABSTOP estilo e que precede ou segue o controlo especificado.
CWnd* GetNextDlgTabItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgTabItem(
COleControlSiteOrWnd* pCurSiteOrWnd,
BOOL bPrevious) const;
Parâmetros
pWndCtl
Identifica o controlo a ser usado como ponto de partida para a pesquisa.
pCurSiteOrWnd
Identifica o COleControlSiteOrWnd controlo. Para obter mais informações sobre COleControlSiteOrWndo , consulte CWnd::GetNextDlgGroupItem.
bPrevious
Especifica como a função deve pesquisar na caixa de diálogo. Se TRUE, a função procura o controlo anterior na caixa de diálogo; se FALSE, procura o controlo seguinte.
Valor de retorno
Apontar para o controlo anterior ou seguinte que tenha o WS_TABSTOP estilo, se a função membro for bem-sucedida.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Para obter mais informações sobre COleControlSiteOrWndo , consulte CWnd::GetNextDlgGroupItem.
CWnd::GetNextWindow
Procura a próxima (ou anterior) janela na lista do gestor de janelas.
CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;
Parâmetros
nFlag
Especifica se a função devolve um ponteiro para a janela seguinte ou para a janela anterior. Pode ser GW_HWNDNEXT, que devolve a janela que segue o CWnd objeto na lista do gestor de janelas, ou GW_HWNDPREV, que devolve a janela anterior na lista do gestor de janelas.
Valor de retorno
Identifica a janela seguinte (ou a anterior) na lista do gestor de janelas se a função membro for bem-sucedida.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
A lista do gestor de janelas contém entradas para todas as janelas de nível superior, as janelas filhas associadas e as janelas filhas de qualquer janela filha.
Se CWnd for uma janela de nível superior, a função procura a próxima (ou anterior) janela de nível superior; se CWnd for uma janela filha, a função procura a janela filha seguinte (ou anterior).
CWnd::GetOleControlSite
Recupera o site personalizado para o controlo ActiveX especificado.
COleControlSite* GetOleControlSite(UINT idControl) const;
Parâmetros
idControl
O ID do controlo ActiveX.
CWnd::GetOpenClipboardWindow
Recupera a maçaneta da janela que atualmente tem a prancheta aberta.
static CWnd* PASCAL GetOpenClipboardWindow();
Valor de retorno
O puxador da janela que atualmente tem a Prancheta aberta se a função for bem-sucedida; caso contrário NULL.
CWnd::GetOwner
Recupera um ponteiro para o dono da janela.
CWnd* GetOwner() const;
Valor de retorno
Um ponteiro para um CWnd objeto.
Observações
Se a janela não tiver proprietário, então um ponteiro para o objeto janela pai é devolvido por defeito. Note-se que a relação entre o proprietário e o proprietário difere do aspeto entre pais e filhos em vários aspetos importantes. Por exemplo, uma janela com um pai está confinada à área do cliente da sua janela mãe. Janelas próprias podem ser desenhadas em qualquer local do ambiente de trabalho.
O conceito de propriedade desta função é diferente do conceito de propriedade de GetWindow.
CWnd::GetParent
Chame esta função para obter um ponteiro para a janela pai de uma janela filho (se existir).
CWnd* GetParent() const;
Valor de retorno
Veja a secção Valores de Retorno no GetParent SDK do Windows.
Observações
A GetParent função devolve um ponteiro para o pai imediato (se existir). Em contraste, a GetParentOwner função devolve um ponteiro para a janela parental ou proprietária mais imediata que não é uma janela filho (não tem o WS_CHILD estilo). Se tiver uma janela de filho dentro de outra janela GetParent de criança e GetParentOwner devolverem resultados diferentes.
CWnd::GetParentFrame
Chame esta função membro para recuperar a janela do frame pai.
CFrameWnd* GetParentFrame() const;
Valor de retorno
Um apontador para uma janela de frame, se bem-sucedido; caso contrário NULL.
Observações
A função membro pesquisa a cadeia de progenitores até ser encontrado um CFrameWnd objeto (ou de classe derivada).
CWnd::GetParentOwner
Chama esta função membro para obter um ponteiro para a janela pai ou janela proprietária de uma janela filha.
CWnd* GetParentOwner() const;
Valor de retorno
Um ponteiro para um CWnd objeto. Se um CWnd objeto não estiver anexado à alça, um objeto temporário CWnd será criado e anexado. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
GetParentOwner Devolve um ponteiro para a janela parental ou proprietária mais imediata que não é uma janela filho (não tem o WS_CHILD estilo). A janela atual do proprietário pode ser definida com SetOwner. Por defeito, o pai de uma janela é o seu proprietário.
Em contraste, a GetParent função devolve um ponteiro para o pai imediato, seja ou não uma janela filha. Se tiver uma janela de filho dentro de outra janela GetParent de criança e GetParentOwner devolverem resultados diferentes.
CWnd::GetProperty
Chame esta função membro para obter a propriedade de controlo ActiveX especificada por dwDispID.
void GetProperty(
DISPID dwDispID,
VARTYPE vtProp,
void* pvProp)const;
Parâmetros
dwDispID
Identifica a propriedade a recuperar.
vtProp
Especifica o tipo da propriedade a ser recuperada. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.
pvProp
Endereço da variável que irá receber o valor da propriedade. Deve corresponder ao tipo especificado por vtProp.
Observações
GetProperty devolve o valor através de pvProp.
Observação
Esta função deve ser chamada apenas num CWnd objeto que represente um controlo ActiveX.
Para mais informações sobre a utilização desta função membro com Contentores de Controlo ActiveX, consulte o artigo Contentores de Controlo ActiveX: Programação de Controlos ActiveX num Contentor de Controlo ActiveX.
CWnd::GetRenderTarget
Obtém um render target associado a essa janela.
CHwndRenderTarget* GetRenderTarget();
Valor de retorno
Apontador para o alvo de renderização ou NULL.
CWnd::GetSafeHwnd
Retorna m_hWnd, ou NULL se o this ponteiro for NULL.
HWND GetSafeHwnd() const;
Valor de retorno
Devolve a maçaneta da janela por uma janela. Retorna NULL se não CWnd estiver ligado a uma janela ou se for usado com um NULLCWnd apontador.
Example
Veja o exemplo para CWnd::SubclassWindow.
CWnd::GetSafeOwner
Chame esta função membro para recuperar a janela proprietária que deve ser usada para caixas de diálogo ou outras janelas modais.
static CWnd* GetSafeOwner(
CWnd* pParent = NULL,
HWND* pWndTop = NULL);
Parâmetros
pParent
Um indicador para uma janela dos pais CWnd . Pode ser NULL.
pWndTop
Um apontador para a janela que está atualmente no topo. Pode ser NULL.
Valor de retorno
Um indicador para o dono do cofre para a janela em questão.
Observações
O proprietário do cofre é o primeiro progenitor que não é filho de pParent. Se pParent for NULL, a janela principal do tópico (recuperada via AfxGetMainWnd) é usada para encontrar um proprietário.
Observação
O próprio framework usa esta função para determinar a janela correta do proprietário para as caixas de diálogo e folhas de propriedade onde o proprietário não está especificado.
CWnd::GetScrollBarCtrl
Chame esta função membro para obter um apontador para a barra de scroll irmã ou janela divisora especificada.
virtual CScrollBar* GetScrollBarCtrl(int nBar) const;
Parâmetros
nBar
Especifica o tipo de barra de deslocamento. O parâmetro pode assumir um dos seguintes valores:
SB_HORZRecupera a posição da barra de deslocamento horizontal.SB_VERTRecupera a posição da barra de scroll vertical.
Valor de retorno
Um controlo de barra de scroll irmão, ou NULL se não houver.
Observações
Esta função membro não opera em barras de scroll criadas quando os WS_HSCROLL bits ou WS_VSCROLL são definidos durante a criação de uma janela. A CWnd implementação desta função simplesmente devolve NULL. Classes derivadas, como CView, implementam a funcionalidade descrita.
CWnd::GetScrollBarInfo
Recupera informações sobre a barra de scroll especificada.
BOOL GetScrollBarInfo(
LONG idObject,
PSCROLLBARINFO psbi) const;
Parâmetros
idObject
Especifica o objeto do menu. Para uma lista de valores possíveis, veja GetScrollBarInfo.
psbi
Apontador para uma SCROLLBARINFO estrutura que recebe a informação.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função GetScrollBarInfo, conforme descrito no SDK do Windows.
CWnd::GetScrollInfo
Chame esta função membro para recuperar a informação que a SCROLLINFO estrutura mantém sobre uma barra de deslocamento.
BOOL GetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parâmetros
nBar
Especifica se a barra de deslocamento é um controlo ou parte da área não cliente de uma janela. Se fizer parte da área não cliente, nBar indica também se a barra de deslocamento está posicionada horizontalmente, verticalmente ou ambas. Deve ser um dos seguintes:
SB_CTLRecupera os parâmetros para um controlo de barra de deslocamento. Om_hWndelemento de dados deve ser o alavanca do controlo da barra de deslocamento.SB_HORZRecupera os parâmetros para a barra horizontal padrão da janela.SB_VERTRecupera os parâmetros para a barra de scroll vertical padrão da janela.
lpScrollInfo
Um ponteiro para uma SCROLLINFO estrutura. Consulte o Windows SDK para mais informações sobre esta estrutura.
nMask
Especifica os parâmetros da barra de deslocamento a recuperar. O padrão especifica uma combinação de SIF_PAGE, SIF_POS, SIF_TRACKPOS, e SIF_RANGE. Consulte SCROLLINFO para mais informações sobre os nMask valores.
Valor de retorno
Se a mensagem recuperou algum valor, o retorno é TRUE. Caso contrário, é FALSE.
Observações
GetScrollInfo permite que as aplicações utilizem posições de scroll de 32 bits.
A SCROLLINFO estrutura contém informações sobre uma barra de deslocamento, incluindo as posições mínima e máxima, o tamanho da página e a posição da caixa de deslocamento (o polegar). Consulte o SCROLLINFO tópico de estrutura no SDK do Windows para mais informações sobre como alterar os padrões de estrutura.
Os manipuladores de mensagens MFC do Windows que indicam a posição da barra de deslocamento, CWnd::OnHScroll e CWnd::OnVScroll, fornecem apenas 16 bits de dados de posição.
GetScrollInfo e SetScrollInfo fornecem 32 bits de dados de posição da barra de deslocamento. Assim, uma aplicação pode chamar GetScrollInfo enquanto processa ou CWnd::OnVScrollCWnd::OnHScroll para obter dados de posição em barra de scroll de 32 bits.
CWnd::GetScrollLimit
Chame esta função membro para recuperar a posição máxima de scroll da barra de scroll.
int GetScrollLimit(int nBar);
Parâmetros
nBar
Especifica o tipo de barra de deslocamento. O parâmetro pode assumir um dos seguintes valores:
SB_HORZRecupera o limite de scroll da barra de scroll horizontal.SB_VERTRecupera o limite de scroll da barra vertical.
Valor de retorno
Especifica a posição máxima de uma barra de deslocamento se for bem-sucedido; caso contrário, 0.
CWnd::GetScrollPos
Recupera a posição atual da caixa de deslocamento de uma barra de deslocamento.
int GetScrollPos(int nBar) const;
Parâmetros
nBar
Especifica a barra de deslocamento a examinar. O parâmetro pode assumir um dos seguintes valores:
SB_HORZRecupera a posição da barra de deslocamento horizontal.SB_VERTRecupera a posição da barra de scroll vertical.
Valor de retorno
Especifica a posição atual da caixa de deslocamento na barra de deslocamento se for bem-sucedido; caso contrário, 0.
Observações
A posição atual é um valor relativo que depende do intervalo de scrolling atual. Por exemplo, se o intervalo de scroll for de 50 a 100 e a caixa de scroll estiver no meio da barra, a posição atual é 75.
CWnd::GetScrollRange
Copia as posições mínimas e máximas atuais da barra de rolagem para a barra de rolagem dada para as localizações especificadas por lpMinPos e lpMaxPos.
void GetScrollRange(
int nBar,
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parâmetros
nBar
Especifica a barra de deslocamento a examinar. O parâmetro pode assumir um dos seguintes valores:
SB_HORZRecupera a posição da barra de deslocamento horizontal.SB_VERTRecupera a posição da barra de scroll vertical.
lpMinPos
Aponta para a variável inteira que deve receber a posição mínima.
lpMaxPos
Aponta para a variável inteira que recebe a posição máxima.
Observações
Se CWnd não tiver barra de deslocamento, então a GetScrollRange função membro copia 0 para lpMinPos e lpMaxPos.
O intervalo padrão para uma barra de scroll padrão é de 0 a 100. O intervalo padrão para um controlo de barra de deslocamento é vazio (ambos os valores são 0).
CWnd::GetStyle
Devolve o estilo de janela atual.
DWORD GetStyle() const;
Valor de retorno
O estilo da janela. Para mais informações sobre os estilos de janelas usados no MFC, veja Estilos de Janelas.
CWnd::GetSystemMenu
Permite à aplicação aceder ao menu de Controlo para copiar e modificar.
CMenu* GetSystemMenu(BOOL bRevert) const;
Parâmetros
bRevert
Especifica a ação a tomar. Se bRevert for FALSE, GetSystemMenu devolve um handle a uma cópia do menu Control atualmente em uso. Esta cópia é inicialmente idêntica ao menu Control, mas pode ser modificada. Se bRevert for TRUE, GetSystemMenu reinicia o menu de Controlo de volta ao estado predefinido. O menu de Controlo anterior, possivelmente modificado, se é que existe, é destruído. O valor de retorno é indefinido neste caso.
Valor de retorno
Identifica uma cópia do menu de Controlo se bRevert for FALSE. Se bRevert for TRUE, o valor de retorno é indefinido.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
Qualquer janela que não use GetSystemMenu para criar a sua própria cópia do menu Control recebe o menu Control padrão.
O ponteiro devolvido pela GetSystemMenu função membro pode ser usado com as CMenu::AppendMenufunções , CMenu::InsertMenu, ou CMenu::ModifyMenu para alterar o menu Control.
O menu de Controlo contém inicialmente elementos identificados com vários valores de ID, como SC_CLOSE, SC_MOVE, e SC_SIZE. Os itens no menu de Controlo geram WM_SYSCOMMAND mensagens. Todos os itens pré-definidos do menu Control têm números de ID superiores a 0xF000. Se uma aplicação adicionar itens ao menu Controlo, deverá usar números de ID inferiores a F000.
As janelas podem automaticamente tornar os itens indisponíveis no menu de Controlo padrão.
CWnd pode realizar a sua própria seleção ou indisponibilidade respondendo às WM_INITMENU mensagens, que são enviadas antes de qualquer menu ser exibido.
Example
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUT);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CWnd::GetTitleBarInfo
Recupera informações sobre a barra de título especificada.
BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;
Parâmetros
pti
Apontador para uma TITLEBARINFO estrutura que recebe a informação.
Observações
Esta função de membro emula a funcionalidade da função GetTitleBarInfo, conforme descrito no SDK do Windows.
CWnd::GetTopLevelFrame
Chame esta função membro para recuperar a janela de frames de nível superior da janela, se existir.
CFrameWnd* GetTopLevelFrame() const;
Valor de retorno
Identifica a janela de moldura de nível superior da janela.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
Se não tiver janela anexada, ou se CWnd o seu pai de topo não for um CFrameWndobjeto derivado em , esta função devolve NULL.
CWnd::GetTopLevelOwner
Chame esta função membro para recuperar a janela de nível superior.
CWnd* GetTopLevelOwner() const;
Valor de retorno
Identifica a janela de nível superior. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
A janela de nível superior é a janela que é filha do ambiente de trabalho. Se CWnd não tiver janela anexada, esta função devolve NULL.
CWnd::GetTopLevelParent
Chame esta função membro para recuperar o pai de topo da janela.
CWnd* GetTopLevelParent() const;
Valor de retorno
Identifica a janela principal de nível superior da janela.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
GetTopLevelParent é semelhante a GetTopLevelFrame e GetTopLevelOwner; no entanto, ignora o conjunto de valores como janela atual do proprietário.
CWnd::GetTopWindow
Procura a janela filha de nível superior que pertence a CWnd.
CWnd* GetTopWindow() const;
Valor de retorno
Identifica a janela filha de nível superior numa CWnd lista ligada de janelas filhas. Se não existirem janelas filhas, o valor é NULL.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
Se CWnd não tiver filhos, esta função devolve NULL.
CWnd::GetUpdateRect
Recupera as coordenadas do retângulo mais pequeno que envolve completamente a região de atualização.
BOOL GetUpdateRect(
LPRECT lpRect,
BOOL bErase = FALSE);
Parâmetros
lpRect
Aponta para um CRect objeto ou RECT estrutura que irá receber as coordenadas do cliente da atualização que envolve a região de atualização.
Defina este parâmetro para NULL determinar se existe uma região de atualização dentro do CWnd. Se lpRect for NULL, a GetUpdateRect função membro devolve não nula se existir uma região de atualização e 0 se não existir. Isto permite determinar se uma WM_PAINT mensagem resultou de uma área inválida. Não defina este parâmetro para NULL na versão 3.0 do Windows e anteriores.
bErase
Especifica se o fundo na região de atualização deve ser apagado.
Valor de retorno
Especifica o estado da região de atualização. O valor é diferente de zero se a região de atualização não estiver vazia; caso contrário, 0.
Se o lpRect parâmetro for definido para NULL, o valor de retorno é diferente de zero se existir uma região de atualização; caso contrário, 0.
Observações
Se CWnd foi criado com o CS_OWNDC estilo e o modo de mapeamento não MM_TEXTé , a GetUpdateRect função membro dá o retângulo em coordenadas lógicas. Caso contrário, GetUpdateRect dá o retângulo em coordenadas do cliente. Se não houver região de atualização, GetUpdateRect define o retângulo como vazio (define todas as coordenadas para 0).
O bErase parâmetro especifica se GetUpdateRect deve apagar o fundo da região de atualização. Se bErase for TRUE e a região de atualização não estiverem vazias, o fundo é apagado. Para apagar o fundo, GetUpdateRect envia a WM_ERASEBKGND mensagem.
O retângulo de atualização recuperado pela BeginPaint função membro é idêntico ao recuperado pela GetUpdateRect função membro.
A BeginPaint função membro valida automaticamente a região de atualização, por isso qualquer chamada GetUpdateRect feita imediatamente após uma chamada BeginPaint recupera uma região de atualização vazia.
CWnd::GetUpdateRgn
Recupera a região de atualização numa região identificada por pRgn.
int GetUpdateRgn(
CRgn* pRgn,
BOOL bErase = FALSE);
Parâmetros
pRgn
Identifica a região de atualização.
bErase
Especifica se o fundo será apagado e se as áreas não clientes das janelas filhas serão desenhadas. Se o valor for FALSE, não se faz nenhum desenho.
Valor de retorno
Especifica uma bandeira de inteiro curto que indica o tipo de região resultante. O valor pode assumir qualquer um dos seguintes:
SIMPLEREGIONA região não tem fronteiras sobrepostas.COMPLEXREGIONA região tem fronteiras sobrepostas.NULLREGIONA região está vazia.ERRORNenhuma região foi criada.
Observações
As coordenadas desta região são relativas ao canto superior esquerdo (coordenadas do cliente).
A BeginPaint função membro valida automaticamente a região de atualização, por isso qualquer chamada GetUpdateRgn feita imediatamente após uma chamada BeginPaint recupera uma região de atualização vazia.
CWnd::GetWindow
Devolve um ponteiro para a janela solicitada, ou NULL se não houver.
CWnd* GetWindow(UINT nCmd) const;
Parâmetros
nCmd
Especifica a relação entre CWnd e a janela devolvida. Pode assumir um dos seguintes valores:
GW_CHILDIdentifica aCWndprimeira janela filha.GW_HWNDFIRSTSeCWndfor uma janela de criança, devolve a primeira janela de irmãos. Caso contrário, devolve a primeira janela de topo na lista.GW_HWNDLASTSeCWndfor uma janela de filho, devolve a última janela de irmãos. Caso contrário, devolve a última janela de topo na lista.GW_HWNDNEXTDevolve a próxima janela na lista do gestor de janelas.GW_HWNDPREVDevolve a janela anterior na lista do gestor de janelas.GW_OWNERIdentifica oCWndproprietário.
Valor de retorno
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
CWnd::GetWindowContextHelpId
Chame esta função membro para recuperar o identificador de contexto de ajuda, se existir, associado à janela.
DWORD GetWindowContextHelpId() const;
Valor de retorno
O identificador de contexto da ajuda. Devolve 0 se a janela não tiver nenhuma.
CWnd::GetWindowedChildCount
Chame esta função membro para recuperar o número de janelas filhas associadas.
long GetWindowedChildCount();
Valor de retorno
O número de janelas filhas associadas ao CWnd objeto.
CWnd::GetWindowDC
Recupera o contexto de exibição de toda a janela, incluindo a barra de legendas, menus e barras de scroll.
CDC* GetWindowDC();
Valor de retorno
Identifica o contexto de exibição para a janela dada se a função for bem-sucedida; caso contrário NULL.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
ReleaseDC deve ser chamada uma vez por cada chamada bem-sucedida para GetWindowDC.
Observações
Um contexto de exibição de janela permite pintar em qualquer lugar em CWnd, uma vez que a origem do contexto é o canto superior esquerdo de CWnd em vez da área do cliente.
Atributos padrão são atribuídos ao contexto de visualização cada vez que este recupera o contexto. Atributos anteriores são perdidos.
GetWindowDC destina-se a ser usado para efeitos especiais de pintura dentro da CWnd área não cliente. Não é recomendado pintar em áreas não relacionadas com o cliente de qualquer janela.
A GetSystemMetrics função Windows pode ser usada para recuperar as dimensões de várias partes da área não cliente, como a barra de legendas, menus e barras de scroll.
Depois de concluída a pintura, deve ser chamada a ReleaseDC função membro para libertar o contexto de visualização. A falha em libertar o contexto do ecrã afetará seriamente a pintura solicitada pelas aplicações devido às limitações no número de contextos de dispositivos que podem ser abertos ao mesmo tempo.
CWnd::GetWindowInfo
Recupera informações sobre a janela.
BOOL GetWindowInfo(PWINDOWINFO pwi) const;
Parâmetros
pwi
Um ponteiro para uma WINDOWINFO estrutura.
Observações
Esta função de membro emula a funcionalidade da função GetWindowInfo, conforme descrito no SDK do Windows.
CWnd::GetWindowlessChildCount
Recupera o número de janelas filhas sem janelas associadas.
long GetWindowlessChildCount();
Valor de retorno
O número de janelas filhas sem janelas associadas ao CWnd objeto.
CWnd::GetWindowPlacement
Recupera o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas de uma janela.
BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;
Parâmetros
lpwndpl
Aponta para a WINDOWPLACEMENT estrutura que recebe a informação de estado e posição do espetáculo.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
O flags elemento da WINDOWPLACEMENT estrutura recuperado por esta função é sempre 0. Se CWnd for maximizado, o showCmd elemento de WINDOWPLACEMENT é SW_SHOWMAXIMIZED. Se a janela for minimizada, é SW_SHOWMINIMIZED. Caso SW_SHOWNORMAL contrário.
CWnd::GetWindowRect
Copia as dimensões do retângulo delimitador do CWnd objeto para a estrutura apontada por lpRect.
void GetWindowRect(LPRECT lpRect) const;
Parâmetros
lpRect
Aponta para um CRect objeto ou umaRECT estrutura que receberá as coordenadas do ecrã dos cantos superior esquerdo e inferior direito.
Observações
As dimensões são dadas em coordenadas do ecrã relativas ao canto superior esquerdo do ecrã. As dimensões da legenda, da borda e das barras de scroll, se presentes, estão incluídas.
CWnd::GetWindowRgn
Chame esta função membro para obter a região da janela de uma janela.
int GetWindowRgn(HRGN hRgn)const;
Parâmetros
hRgn
Uma pega para uma região de janela.
Valor de retorno
O valor de retorno especifica o tipo da região que a função obtém. Pode ser um dos seguintes valores:
NULLREGIONA região está vazia.SIMPLEREGIONA região é um único retângulo.COMPLEXREGIONA região é composta por mais do que um retângulo.ERROROcorreu um erro; a região não é afetada.
Observações
A região da janela determina a área dentro da janela onde o sistema operativo permite desenhar. O sistema operativo não exibe nenhuma parte de uma janela que esteja fora da região da janela.
As coordenadas da região da janela são relativas ao canto superior esquerdo da janela, não à área cliente da janela.
Para definir a região da janela de uma janela, chame CWnd::SetWindowRgn.
CWnd::GetWindowText
Copia o CWnd título da legenda (se houver) para o buffer apontado por lpszStringBuf ou para a cadeia rStringde destino .
int GetWindowText(
LPTSTR lpszStringBuf,
int nMaxCount) const;
void GetWindowText(
CString& rString) const;
Parâmetros
lpszStringBuf
Aponta para o buffer que irá receber a cadeia copiada do título da janela.
nMaxCount
Especifica o número máximo de caracteres a serem copiados para o buffer, incluindo o carácter nulo que termina. Se a cadeia for maior do que o número de caracteres especificados em nMaxCount, é truncada.
rString
Um CString objeto que deve receber a cadeia copiada do título da janela.
Valor de retorno
Especifica o comprimento, em caracteres, da cadeia copiada, não incluindo o carácter nulo de terminação. É 0 se CWnd não tiver legenda ou se a legenda estiver vazia.
Observações
Se o CWnd objeto for um controlo, a GetWindowText função membro copia o texto dentro do controlo em vez de copiar a legenda.
Esta função membro faz com que a WM_GETTEXT mensagem seja enviada para o CWnd objeto.
Example
Veja o exemplo para CWnd::SetWindowText.
CWnd::GetWindowTextLength
Devolve o comprimento do título da CWnd legenda do objeto.
int GetWindowTextLength() const;
Valor de retorno
Especifica o comprimento do texto em caracteres, não incluindo qualquer carácter de terminação nula. O valor é 0 se tal texto não existir.
Observações
Se CWnd for um controlo, a GetWindowTextLength função membro devolve o comprimento do texto dentro do controlo em vez da legenda.
Esta função membro faz com que a WM_GETTEXTLENGTH mensagem seja enviada para o CWnd objeto.
Example
Veja o exemplo para CWnd::SetWindowText.
CWnd::HideCaret
Esconde o caret removendo-o do ecrã.
void HideCaret();
Observações
Embora o caret já não seja visível, pode ser novamente exibido usando a ShowCaret função elemento. Esconder o caret não destrói a sua forma atual.
Esconder-se é cumulativo. Se HideCaret foi chamada cinco vezes seguidas, a ShowCaret função membro deve ser chamada cinco vezes antes de o caret ser mostrado.
CWnd::HiliteMenuItem
Destaca ou remove o destaque de um item do menu de nível superior (barra de menu).
BOOL HiliteMenuItem(
CMenu* pMenu,
UINT nIDHiliteItem,
UINT nHilite);
Parâmetros
pMenu
Identifica o menu de topo que contém o item a destacar.
nIDHiliteItem
Especifica o item do menu a destacar, dependendo do valor do nHilite parâmetro.
nHilite
Especifica se o item do menu é destacado ou se o destaque é removido. Pode ser uma combinação de MF_HILITE ou MF_UNHILITE com MF_BYCOMMAND ou MF_BYPOSITION. Os valores podem ser combinados usando o operador bit a OR bit. Estes valores têm os seguintes significados:
MF_BYCOMMANDInterpretanIDHiliteItemcomo o ID do item do menu (a interpretação padrão).MF_BYPOSITIONInterpretanIDHiliteItemcomo o deslocamento zero do item do menu.MF_HILITEDestaca o item. Se este valor não for indicado, o destaque é removido do item.MF_UNHILITERemove o destaque do item.
Valor de retorno
Especifica se o item do menu foi destacado. Diferente de zero se o item estivesse destacado; caso contrário, 0.
Observações
Os MF_HILITE flags e MF_UNHILITE só podem ser usados com esta função membro; não podem ser usados com a CMenu::ModifyMenu função membro.
CWnd::HtmlHelp
Chame esta função membro para invocar a aplicação HTMLHelp.
virtual void HtmlHelp(
DWORD_PTR dwData,
UINT nCmd = 0x000F);
Parâmetros
dwData
Especifica dados adicionais. O valor utilizado depende do valor do nCmd parâmetro.
nCmd
Especifica o tipo de ajuda solicitada. Para uma lista de valores possíveis e como estes afetam o dwData parâmetro, consulte o uCommand parâmetro descrito na Referência da API de Ajuda HTML no SDK do Windows.
Observações
Consulte CWinApp::HtmlHelp para obter mais informações.
CWnd::InitDynamicLayout
Chamado pelo framework para inicializar o layout dinâmico de uma janela.
void InitDynamicLayout();
Observações
Não chame este método diretamente.
CWnd::Invalidate
Invalida toda a área do cliente de CWnd.
void Invalidate(BOOL bErase = TRUE);
Parâmetros
bErase
Especifica se o fundo dentro da região de atualização deve ser apagado.
Observações
A área do cliente está marcada para pintura quando surge a próxima WM_PAINT mensagem. A região também pode ser validada antes de ocorrer uma WM_PAINT mensagem pela ValidateRect função de membro.ValidateRgn
O bErase parâmetro especifica se o fundo dentro da área de atualização deve ser apagado quando a região de atualização for processada. Se bErase for TRUE, o fundo é apagado quando a BeginPaint função membro é chamada; se bErase for FALSE, o fundo permanece inalterado. Se bErase for TRUE para qualquer parte da região de atualização, o fundo em toda a região, e não apenas na parte dada, é apagado.
O Windows envia uma WM_PAINT mensagem sempre que a CWnd região de atualização não está vazia e não há outras mensagens na fila da aplicação para essa janela.
Example
Veja o exemplo para CWnd::UpdateWindow.
CWnd::InvalidateRect
Invalida a área cliente dentro do retângulo dado ao adicionar esse retângulo à CWnd região de atualização.
void InvalidateRect(
LPCRECT lpRect,
BOOL bErase = TRUE);
Parâmetros
lpRect
Aponta para um CRect objeto ou estruturaRECT que contém o retângulo (em coordenadas do cliente) a ser adicionado à região de atualização. Se lpRect for NULL, toda a área do cliente é adicionada à região.
bErase
Especifica se o fundo dentro da região de atualização deve ser apagado.
Observações
O retângulo invalidado, juntamente com todas as outras áreas na região de atualização, é marcado para pintura quando a próxima WM_PAINT mensagem é enviada. As áreas invalidadas acumulam-se na região de atualização até que a região seja processada quando ocorre a próxima WM_PAINT chamada, ou até que a região seja validada pela ValidateRect função ou ValidateRgn membro.
O bErase parâmetro especifica se o fundo dentro da área de atualização deve ser apagado quando a região de atualização for processada. Se bErase for TRUE, o fundo é apagado quando a BeginPaint função membro é chamada; se bErase for FALSE, o fundo permanece inalterado. Se bErase for TRUE para qualquer parte da região de atualização, o fundo em toda a região é apagado, não apenas na parte dada.
O Windows envia uma WM_PAINT mensagem sempre que a CWnd região de atualização não está vazia e não há outras mensagens na fila da aplicação para essa janela.
CWnd::InvalidateRgn
Invalida a área do cliente dentro da região dada ao adicioná-la à região de atualização atual de CWnd.
void InvalidateRgn(
CRgn* pRgn,
BOOL bErase = TRUE);
Parâmetros
pRgn
Um apontador para um CRgn objeto que identifica a região a ser adicionada à região de atualização. Assume-se que a região tem coordenadas do cliente. Se este parâmetro for NULL, toda a área do cliente é adicionada à região de atualização.
bErase
Especifica se o fundo dentro da região de atualização deve ser apagado.
Observações
A região invalidada, juntamente com todas as outras áreas da região de atualização, é marcada para ser pintada quando a WM_PAINT mensagem for enviada novamente. As áreas invalidadas acumulam-se na região de atualização até que a região seja processada quando uma WM_PAINT mensagem é enviada novamente, ou até que a região seja validada pela ValidateRect função de membro de OR ValidateRgn .
O bErase parâmetro especifica se o fundo dentro da área de atualização deve ser apagado quando a região de atualização for processada. Se bErase for TRUE, o fundo é apagado quando a BeginPaint função membro é chamada; se bErase for FALSE, o fundo permanece inalterado. Se bErase for TRUE para qualquer parte da região de atualização, o fundo em toda a região, e não apenas na parte dada, é apagado.
O Windows envia uma WM_PAINT mensagem sempre que a CWnd região de atualização não está vazia e não há outras mensagens na fila da aplicação para essa janela.
A região em questão deve ter sido criada anteriormente por uma das funções da região.
CWnd::InvokeHelper
Chame esta função membro para invocar o método ActiveX Control ou propriedade especificada por dwDispID, no contexto especificado por wFlags.
void AFX_CDECL InvokeHelper(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo,
... );
Parâmetros
dwDispID
Identifica o método ou propriedade a ser invocada.
wFlags
Bandeiras que descrevem o contexto da chamada para IDispatch::Invoke.
vtRet
Especifica o tipo do valor de retorno. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.
pvRet
Endereço da variável que irá receber o valor da propriedade ou devolver o valor. Deve corresponder ao tipo especificado por vtRet.
pbParamInfo
Apontador para uma cadeia de bytes terminada por nulo que especifica os tipos dos parâmetros após pbParamInfo. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.
...
Lista de variáveis de parâmetros, de tipos especificados em pbParamInfo.
Observações
O pbParamInfo parâmetro especifica os tipos de parâmetros passados ao método ou propriedade. A lista de variáveis de argumentos é representada por ... na declaração de sintaxe.
Esta função converte os parâmetros em VARIANTARG valores e depois invoca o IDispatch::Invoke método no controlo ActiveX. Se a chamada falhar IDispatch::Invoke , esta função lançará uma exceção. Se o SCODE (código de estado) devolvido por IDispatch::Invoke for DISP_E_EXCEPTION, esta função lança um COleException objeto, caso contrário lança um COleDispatchException.
Observação
Esta função deve ser chamada apenas num CWnd objeto que represente um controlo ActiveX.
Para mais informações sobre a utilização desta função membro com Contentores de Controlo ActiveX, consulte o artigo Contentores de Controlo ActiveX: Programação de Controlos ActiveX num Contentor de Controlo ActiveX.
CWnd::IsChild
Indica se a janela especificada por pWnd é uma janela filha ou outro descendente direto de CWnd.
BOOL IsChild(const CWnd* pWnd) const;
Parâmetros
pWnd
Identifica a janela a ser testada.
Valor de retorno
Especifica o resultado da função. O valor é diferente de zero se a janela identificada por pWnd for uma janela filha de CWnd; caso contrário, 0.
Observações
Uma janela filho é o descendente direto de CWnd se o CWnd objeto estiver na cadeia de janelas pais que conduz da janela pop-up original à janela filha.
CWnd::IsD2DSupportEnabled
Determina se o suporte a D2D está ativado.
BOOL IsD2DSupportEnabled();
Valor de retorno
TRUE se a funcionalidade estiver ativada; caso contrário FALSE.
CWnd::IsDialogMessage
Chame esta função membro para determinar se a mensagem dada é destinada a uma caixa de diálogo sem modos; se for, esta função processa a mensagem.
BOOL IsDialogMessage(LPMSG lpMsg);
Parâmetros
lpMsg
Aponta para uma MSG estrutura que contém a mensagem a verificar.
Valor de retorno
Especifica se a função membro processou a mensagem dada. É diferente de zero se a mensagem tiver sido processada; caso contrário, 0. Se o retorno for 0, chame a CWnd::PreTranslateMessage função membro da classe base para processar a mensagem. Numa sobreposição da CWnd::PreTranslateMessage função membro, o código apresenta-se assim:
BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
if (IsDialogMessage(pMsg))
return TRUE;
else
return CDialog::PreTranslateMessage(pMsg);
}
Observações
Quando a IsDialogMessage função processa uma mensagem, verifica mensagens de teclado e converte-as em comandos de seleção para a correspondente caixa de diálogo. Por exemplo, a tecla TAB seleciona o próximo controlo ou grupo de controlos, e a tecla SETA PARA BAIXO seleciona o próximo controlo num grupo.
Não deve passar uma mensagem processada IsDialogMessage para as TranslateMessage funções do Windows, DispatchMessage porque já foi processada.
CWnd::IsDlgButtonChecked
Determina se um controlo de botão tem uma marca de verificação ao lado.
UINT IsDlgButtonChecked(int nIDButton) const;
Parâmetros
nIDButton
Especifica o identificador inteiro do controlo do botão.
Valor de retorno
Não nulo se o controlo dado estiver marcado, e 0 se não estiver marcado. Só se podem assinalar botões de rádio e caixas de verificação. Para botões de três estados, o valor de retorno pode ser 2 se o botão for indeterminado. Esta função membro devolve 0 para um botão.
Observações
Se o botão for um controlo de três estados, a função elemento determina se está escurecido, verificado ou nenhum dos dois.
CWnd::IsDynamicLayoutEnabled
Determina se o layout dinâmico está ativado nesta janela. Se o layout dinâmico estiver ativado, a posição e o tamanho das janelas filhas podem mudar quando o utilizador redimensiona a janela principal.
BOOL IsDynamicLayoutEnabled() const;
Valor de retorno
TRUE se o layout dinâmico estiver ativado; caso contrário FALSE.
Observações
CWnd::IsIconic
Especifica se CWnd é minimizado (icónico).
BOOL IsIconic() const;
Valor de retorno
Não nulo se CWnd for minimizado; caso contrário 0.
Example
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::IsTouchWindow
Especifica se CWnd tem suporte por toque.
BOOL IsTouchWindow() const;
Valor de retorno
TRUE se CWnd tiver suporte de toque; caso contrário FALSE.
Observações
CWnd::IsWindowEnabled
Especifica se CWnd está ativado para entrada de rato e teclado.
BOOL IsWindowEnabled() const;
Valor de retorno
Não nulo se CWnd estiver ativado; caso contrário 0.
Example
//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
{
if (pWnd->IsWindowEnabled())
{
// Red brush for the background...
pDC->SetBkColor(RGB(255, 0, 0));
// m_pRedBrush is the CBrush object initialized with a red brush
// using CreateSolidBrush
return (HBRUSH)m_RedBrush.GetSafeHandle();
}
else
{
// Blue brush for the background...
pDC->SetBkColor(RGB(0, 0, 255));
// m_pBlueBrush is the CBrush object initialized with a blue
// brush using CreateSolidBrush
return (HBRUSH)m_BlueBrush.GetSafeHandle();
}
}
return hbr;
}
CWnd::IsWindowVisible
Determina o estado de visibilidade da janela dada.
BOOL IsWindowVisible() const;
Valor de retorno
Não nulo se CWnd for visível (tem o WS_VISIBLE bit de estilo definido, e a janela pai é visível). Como o valor de retorno reflete o estado do WS_VISIBLE bit de estilo, o valor de retorno pode ser diferente de zero, mesmo estando CWnd totalmente oculto por outras janelas.
Observações
Uma janela possui um estado de visibilidade indicado pela WS_VISIBLE parte de estilo. Quando este bit de estilo é definido com uma chamada para a ShowWindow função membro, a janela é exibida e o desenho subsequente para a janela é exibido desde que a janela tenha o bit de estilo definido.
Qualquer desenho de uma janela que tenha esse WS_VISIBLE estilo não será exibido se a janela estiver coberta por outras janelas ou estiver recortada pela sua janela principal.
Example
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
if(!m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_SHOWNORMAL);
}
}
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
if(m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_HIDE);
}
}
CWnd::IsZoomed
Determina se CWnd foi maximizado.
BOOL IsZoomed() const;
Valor de retorno
Não nulo se CWnd for maximizado; caso contrário 0.
CWnd::KillTimer
Mata o evento temporizador identificado pela nIDEvent chamada anterior para SetTimer.
BOOL KillTimer(UINT_PTR nIDEvent);
Parâmetros
nIDEvent
O valor do evento temporizador passou para SetTimer.
Valor de retorno
Especifica o resultado da função. O valor é diferente de zero se o evento foi eliminado. É 0 se a KillTimer função membro não conseguir encontrar o evento temporizador especificado.
Observações
As mensagens pendentes WM_TIMER associadas ao temporizador não são removidas da fila de mensagens.
Example
Veja o exemplo para CWnd::SetTimer.
CWnd::LoadDynamicLayoutResource
Chamado pelo framework para carregar a informação de layout dinâmico a partir do ficheiro de recurso.
BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);
Parâmetros
lpszResourceName
O nome do recurso que contém a informação de layout dinâmico desejada para esta janela.
Valor de retorno
Diferente de zero se a função for bem-sucedida. É 0 se ocorrer uma falha.
Observações
Não chame este método diretamente.
CWnd::LockWindowUpdate
Desativa o desenho na janela indicada.
BOOL LockWindowUpdate();
Valor de retorno
Diferente de zero se a função for bem-sucedida. É 0 se ocorrer uma falha ou se a LockWindowUpdate função tiver sido usada para bloquear outra janela.
Observações
Uma janela trancada não pode ser movida. Só uma janela pode ser trancada de cada vez. Para destrancar uma janela trancada com LockWindowUpdate, chame UnlockWindowUpdate.
Se uma aplicação com uma janela bloqueada (ou qualquer janela filha bloqueada) chamar a GetDCfunção , GetDCEx, ou BeginPaint Windows, a função chamada devolve um contexto de dispositivo cuja região visível está vazia. Isto ocorrerá até que a aplicação desbloqueie a janela ao chamar a UnlockWindowUpdate função membro.
Embora as atualizações de janelas estejam bloqueadas, o sistema mantém o registo do retângulo delimitador de quaisquer operações de desenho para contextos de dispositivo associadas a uma janela bloqueada. Quando o desenho é reativado, este retângulo delimitado é invalidado na janela bloqueada e nas suas janelas filhas para forçar uma mensagem eventual WM_PAINT para atualizar o ecrã. Se não ocorrer nenhum desenho enquanto as atualizações das janelas estavam bloqueadas, nenhuma área é invalidada.
A LockWindowUpdate função membro não torna a janela dada invisível nem limpa o WS_VISIBLE bit de estilo.
CWnd::m_hWnd
A maçaneta da janela das janelas ligada a este CWnd.
HWND m_hWnd;
Observações
O m_hWnd membro de dados é uma variável pública do tipo HWND.
CWnd::MapWindowPoints
Converte (mapeia) um conjunto de pontos do espaço de coordenadas do para CWnd o espaço de coordenadas de outra janela.
void MapWindowPoints(
CWnd* pwndTo,
LPRECT lpRect) const;
void MapWindowPoints(
CWnd* pwndTo,
LPPOINT lpPoint,
UINT nCount) const;
Parâmetros
pwndTo
Identifica a janela para a qual os pontos são convertidos. Se este parâmetro for NULL, os pontos são convertidos em coordenadas de ecrã.
lpRect
Especifica o retângulo cujos pontos devem ser convertidos. A primeira versão desta função está disponível apenas para Windows 3.1 e versões posteriores.
lpPoint
Um ponteiro para um array de POINT estruturas que contêm o conjunto de pontos a converter.
nCount
Especifica o número de POINT estruturas no array apontado por lpPoint.
CWnd::MessageBox
Cria e apresenta uma janela que contém uma mensagem e legenda fornecidas pela aplicação, além de uma combinação dos ícones e botões pré-definidos descritos na lista Message-Box Estilos .
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK);
Parâmetros
lpszText
Aponta para um CString objeto ou cadeia terminada por null que contém a mensagem a ser exibida.
lpszCaption
Aponta para um CString objeto ou cadeia terminada por null a ser usada na legenda da caixa de mensagem. Se lpszCaption for NULL, é usada a legenda padrão "Erro".
nType
Especifica o conteúdo e o comportamento da caixa de mensagem.
Valor de retorno
Este método utiliza a MessageBox função conforme definida no SDK do Windows. Este método devolve o resultado de chamar esta função.
Observações
Use a função AfxMessageBox global em vez desta função membro para implementar uma caixa de mensagens na sua aplicação.
Segue-se os vários ícones do sistema que podem ser usados numa caixa de mensagem:
| Ícone | Macro |
|---|---|
|
MB_ICONHAND, MB_ICONSTOPe MB_ICONERROR |
|
MB_ICONQUESTION |
|
MB_ICONEXCLAMATION e MB_ICONWARNING |
|
MB_ICONASTERISK e MB_ICONINFORMATION |
Example
void CMainFrame::OnDisplayErrorMessage()
{
// This displays a message box with the title "Error"
// and the message "Help, Something went wrong."
// The error icon is displayed in the message box, along with
// an OK button.
MessageBox(_T("Help, Something went wrong."), _T("Error"),
MB_ICONERROR | MB_OK);
}
CWnd::ModifyStyle
Chame esta função membro para modificar o estilo de uma janela.
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parâmetros
dwRemove
Especifica estilos de janelas a serem removidos durante a modificação de estilo.
dwAdd
Especifica estilos de janelas a serem adicionados durante a modificação de estilo.
nFlags
As bandeiras devem ser passadas para SetWindowPos, ou zero se SetWindowPos não devem ser chamadas. O padrão é zero. Consulte a secção de Observações para uma lista de bandeiras pré-definidas.
Valor de retorno
Não nulo se o estilo foi modificado com sucesso; caso contrário, 0.
Observações
Os estilos a serem adicionados ou removidos podem ser combinados usando o operador bit a bit OR (|). Consulte os tópicos Estilos de Janelas e CreateWindow no SDK do Windows para informações sobre os estilos de janelas disponíveis.
Se nFlags for diferente de zero, ModifyStyle chama a função SetWindowPos da API do Windows e redesenha a janela combinando nFlags com as seguintes quatro bandeiras predefinidas:
SWP_NOSIZEMantém o tamanho atual.SWP_NOMOVEMantém a posição atual.SWP_NOZORDERMantém a ordem Z atual.SWP_NOACTIVATENão ativa a janela.
Para modificar os estilos estendidos de uma janela, veja ModifyStyleEx.
Observação
Para alguns estilos em certos controlos (o ES_READONLY estilo no controlo de edição, por exemplo), ModifyStyle pode não alterar corretamente o estilo porque o controlo pode precisar de realizar um processamento interno especial. Nestes casos, estará disponível uma mensagem correspondente para alterar o estilo ( EM_SETREADONLY no exemplo mencionado).
Example
// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
ModifyStyle(0, WS_CLIPCHILDREN);
}
CWnd::ModifyStyleEx
Chame esta função membro para modificar o estilo estendido de uma janela.
BOOL ModifyStyleEx(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parâmetros
dwRemove
Especifica estilos estendidos a serem removidos durante a modificação de estilo.
dwAdd
Especifica estilos estendidos a serem adicionados durante a modificação de estilo.
nFlags
As bandeiras devem ser passadas para SetWindowPos, ou zero se SetWindowPos não devem ser chamadas. O padrão é zero. Consulte a secção de Observações para uma lista de bandeiras pré-definidas.
Valor de retorno
Não nulo se o estilo foi modificado com sucesso; caso contrário, 0.
Observações
Estilos a adicionar ou remover podem ser combinados usando o operador bit a bit OR (|). Consulte os tópicos Estilos de Janelas Estendidas neste livro e CreateWindowEx no SDK do Windows para informações sobre os estilos estendidos disponíveis
Se nFlags for diferente de zero, ModifyStyleEx chama a função SetWindowPos da API do Windows e redesenha a janela combinando nFlags com as seguintes quatro bandeiras predefinidas:
SWP_NOSIZEMantém o tamanho atual.SWP_NOMOVEMantém a posição atual.SWP_NOZORDERMantém a ordem Z atual.SWP_NOACTIVATENão ativa a janela.
Para modificar janelas usando estilos de janelas normais, veja ModifyStyle.
Example
// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyleEx(0, WS_EX_TRANSPARENT);
return 0;
}
CWnd::MoveWindow
Muda a posição e as dimensões.
void MoveWindow(
int x,
int y,
int nWidth,
int nHeight,
BOOL bRepaint = TRUE);
void MoveWindow(
LPCRECT lpRect,
BOOL bRepaint = TRUE);
Parâmetros
x
Especifica a nova posição do lado esquerdo do CWnd.
y
Especifica a nova posição do topo do CWnd.
nWidth
Especifica a nova largura do CWnd.
nHeight
Especifica a nova altura do CWnd.
bRepaint
Especifica se CWnd deve ser repintado. Se TRUE, CWnd recebe uma WM_PAINT mensagem no seu OnPaint manipulador de mensagens como de costume. Se este parâmetro for FALSE, não ocorre qualquer tipo de repintura. Isto aplica-se à área do cliente, à área não-cliente (incluindo o título e as barras de scroll), e a qualquer parte da janela principal descoberta como resultado do CWnd's move. Quando este parâmetro é FALSE, a aplicação deve invalidar ou redesenhar explicitamente quaisquer partes de CWnd uma janela pai que devam ser redesenhadas.
lpRect
O CRect objeto ou RECT estrutura que especifica o novo tamanho e posição.
Observações
Para um objeto de nível CWnd superior, os x parâmetros e y são relativos ao canto superior esquerdo do ecrã. Para um objeto filho CWnd , são relativos ao canto superior esquerdo da área cliente da janela principal.
A MoveWindow função envia a WM_GETMINMAXINFO mensagem. Lidar com esta mensagem dá CWnd a oportunidade de modificar os valores predefinidos para as janelas maiores e menores possíveis. Se os parâmetros da MoveWindow função membro excederem estes valores, os valores podem ser substituídos pelos valores mínimos ou máximos no WM_GETMINMAXINFO handler.
Example
Veja o exemplo para CWnd::ClientToScreen.
CWnd::NotifyWinEvent
Sinaliza ao sistema que ocorreu um evento pré-definido. Se alguma aplicação cliente tiver registado uma função hook para o evento, o sistema chama a função hook do cliente.
void NotifyWinEvent(
DWORD event,
LONG idObjectType,
LONG idObject);
Parâmetros
event
Especifica o evento que ocorreu. Este valor deve ser uma das constantes do evento.
idObjectType
Identifica o tipo de objeto que gerou o evento. Este valor é um dos identificadores de objeto pré-definidos ou um valor personalizado de ID de objeto.
idObject
Identifica se o evento foi gerado por um objeto ou por um elemento filho do objeto. Se este valor for CHILDID_SELF, o evento foi gerado pelo próprio objeto. Se não, este valor é o ID filho do elemento que gerou o evento.
Observações
Esta função de membro emula a funcionalidade da função NotifyWinEvent, conforme descrito no SDK do Windows.
CWnd::OnActivate
A estrutura chama a este elemento função quando um CWnd objeto está a ser ativado ou desativado.
afx_msg void OnActivate(
UINT nState,
CWnd* pWndOther,
BOOL bMinimized);
Parâmetros
nState
Especifica se o CWnd está sendo ativado ou desativado. Pode ser um dos seguintes valores:
WA_INACTIVEA janela está a ser desativada.WA_ACTIVEA janela é ativada por algum método que não seja um clique do rato (por exemplo, usando a interface do teclado para selecionar a janela).WA_CLICKACTIVEA janela é ativada por um clique do rato.
pWndOther
Ponteiro para o CWnd que está sendo ativado ou desativado. O ponteiro pode ser NULL, e pode ser temporário.
bMinimized
Especifica o estado minimizado do CWnd que está sendo ativado ou desativado. Um valor de TRUE indica que a janela é minimizada.
Se TRUE, o CWnd estiver a ser ativado; caso contrário, desativado.
Observações
Se o CWnd objeto for ativado com um clique do rato, também receberá uma OnMouseActivate chamada de função membro.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnActivateApp
A estrutura chama esta função membro a todas as janelas de topo da tarefa a ativar e a todas as janelas de topo da tarefa a ser desativadas.
afx_msg void OnActivateApp(
BOOL bActive,
DWORD dwThreadID);
Parâmetros
bActive
Especifica se o CWnd está sendo ativado ou desativado.
TRUE significa que está CWnd a ser ativado.
FALSE significa que está CWnd a ser desativado.
dwThreadID
Especifica o valor do ID da thread. Se bActive for TRUE, dwThreadID identifica a thread que detém o CWnd ser desativado. Se bActive for FALSE, dwThreadID identifica o thread que detém o CWnd ser ativado.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnAmbientProperty
O framework chama esta função membro para obter valores de propriedades ambientais a partir de uma janela que contém controlos OLE.
virtual BOOL OnAmbientProperty(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvar);
Parâmetros
pSite
Aponta para o local do controlo que solicitou a propriedade ambiente.
dispid
O ID de despacho da propriedade ambiente solicitada.
pvar
Apontar para uma estrutura atribuída VARIANT pelo chamador, através da qual o valor da propriedade ambiente será devolvido.
Valor de retorno
TRUE se a propriedade ambiente for suportada; FALSE se não.
Observações
Substitua esta função para alterar os valores de propriedades ambientais predefinidos devolvidos por um contentor de controlo OLE para os seus controlos. Quaisquer pedidos de propriedade ambiente que não sejam tratados por uma função sobreposta devem ser encaminhados para a implementação da classe base.
CWnd::OnAppCommand
O framework chama esta função membro quando o utilizador gera um evento de comando de aplicação. Tal evento ocorre quando o utilizador clica num botão de comando de aplicação ou digita uma tecla de comando de aplicação.
afx_msg void OnAppCommand(
CWnd* pWnd,
UINT nCmd,
UINT nDevice,
UINT nKey);
Parâmetros
pWnd
[dentro] Apontador para um CWnd objeto que representa a janela onde o utilizador clicou no botão de comando ou pressionou a tecla de comando. Esta janela pode ser uma janela filha da janela que recebe a mensagem.
nCmd
[dentro] Indica o comando de aplicação. Para uma lista de valores possíveis, veja os comandos sob a cmd secção do lParam parâmetro de WM_APPCOMMAND.
nDevice
[dentro] O dispositivo de entrada que gerou o evento de entrada. Para uma lista de valores possíveis, veja os dispositivos sob a uDevice secção do lParam parâmetro de WM_APPCOMMAND.
nKey
[dentro] Indica quaisquer teclas virtuais que estejam para baixo, como a tecla CTRL ou o botão esquerdo do rato. Para uma lista de valores possíveis, veja as chaves sob a dwKeys secção do lParam parâmetro de WM_APPCOMMAND. Para mais informações, consulte o subtítulo "Parâmetros da Mensagem" em Sobre a Entrada do Rato.
Observações
Este método recebe a WM_APPCOMMAND notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnAskCbFormatName
A estrutura chama esta função membro quando a Área de Transferência contém um handler de dados para o CF_OWNERDISPLAY formato (ou seja, quando o proprietário da Área de Transferência irá mostrar o conteúdo da Área de Transferências).
afx_msg void OnAskCbFormatName(
UINT nMaxCount,
LPTSTR lpszString);
Parâmetros
nMaxCount
Especifica o número máximo de bytes a copiar.
lpszString
Aponta para o buffer onde a cópia do nome do formato deve ser armazenada.
Observações
O proprietário da Clipboard deve fornecer um nome para o seu formato.
Sobrescrita esta função membro e copia o nome do CF_OWNERDISPLAY formato para o buffer especificado, sem exceder o número máximo de bytes especificado.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCancelMode
A estrutura chama esta função membro para informar CWnd para cancelar qualquer modo interno.
afx_msg void OnCancelMode();
Observações
Se o CWnd objeto tiver o foco, a sua OnCancelMode função membro é chamada quando uma caixa de diálogo ou caixa de mensagem é exibida. Isto dá a CWnd oportunidade de cancelar modos como a captura do rato.
A implementação padrão responde chamando a ReleaseCapture função Windows. Substitui esta função membro na tua classe derivada para lidar com outros modos.
CWnd::OnCaptureChanged
O framework chama esta função membro para notificar a janela que está a perder a captura do rato.
afx_msg void OnCaptureChanged(CWnd* pWnd);
Parâmetros
pWnd
Um apontador para a janela para capturar com o rato
Observações
Uma janela recebe esta mensagem mesmo que se chame ReleaseCapture a si própria. Uma aplicação não deve tentar definir a captura do rato em resposta a esta mensagem. Quando recebe esta mensagem, uma janela deve redesenhar-se, se necessário, para refletir o novo estado de captura do rato.
Consulte o SDK do Windows para informações sobre a ReleaseCapture função do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnChangeCbChain
A estrutura chama esta função membro para cada janela na cadeia Clipboard-viewer para a notificar de que uma janela está a ser removida da cadeia.
afx_msg void OnChangeCbChain(
HWND hWndRemove,
HWND hWndAfter);
Parâmetros
hWndRemove
Especifica a manivela da janela que está a ser removida da cadeia Clipboard-viewer.
hWndAfter
Especifica o handler da janela que segue a janela ser removido da cadeia Clipboard-viewer.
Observações
Cada CWnd objeto que recebe uma OnChangeCbChain chamada deve usar a SendMessage função Windows para enviar a WM_CHANGECBCHAIN mensagem para a próxima janela na cadeia Clipboard-viewer (o handle devolvido por SetClipboardViewer). Se hWndRemove for a próxima janela na cadeia, a janela especificada por hWndAfter torna-se a janela seguinte, e as mensagens da Área de Transferência são passadas para ela.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnChangeUIState
É chamado quando o estado da interface de utilizador (UI) deve ser alterado.
afx_msg void OnChangeUIState(
UINT nAction,
UINT nUIElement);
Parâmetros
nAction
Especifica a ação a tomar. Pode ser um dos seguintes valores:
UIS_CLEARO elemento de estado da interface (especificado pornUIElement) deve estar oculto.UIS_INITIALIZEO elemento de estado da interface (especificado pornUIElement) deve ser alterado com base no último evento de entrada. Para mais informações, consulte a secção de Observações deWM_CHANGEUISTATE.UIS_SETO elemento de estado da interface (especificado pornUIElement) deve ser visível.
nUIElement
Especifica quais os elementos do estado da interface que são afetados ou o estilo do controlo. Pode ser um dos seguintes valores:
UISF_HIDEACCELAceleradores de teclado.UISF_HIDEFOCUSIndicadores de foco.UISF_ACTIVEWindows XP: Um controlo deve ser desenhado no estilo usado para controlos ativos.
Observações
Esta função membro emula a funcionalidade da WM_CHANGEUISTATE mensagem, conforme descrito no SDK do Windows.
CWnd::OnChar
O framework chama a este elemento função quando uma tecla se traduz para um carácter não de sistema.
afx_msg void OnChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Contém o valor do código do carácter da chave.
nRepCnt
Contém a contagem de repetições, o número de vezes que a tecla é repetida quando o utilizador mantém a tecla pressionada.
nFlags
Contém o código de varrimento, código de transição de chave, estado anterior da chave e código de contexto, conforme mostrado na lista seguinte:
| Valor | Meaning |
|---|---|
| 0-15 | Especifica a contagem de repetições. O valor é o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada. |
| 16-23 | Especifica o código de varrimento. O valor depende do fabricante original do equipamento (OEM) |
| 24 | Especifica se a tecla é uma tecla estendida, como as teclas ALT e CTRL da mão direita que aparecem num teclado melhorado de 101 ou 102 teclas. O valor é 1 se for uma chave estendida; caso contrário, é 0. |
| 25-28 | Usado internamente pelo Windows. |
| 29 | Especifica o código de contexto. O valor é 1 se a tecla ALT for mantida pressionada enquanto a tecla é pressionada; caso contrário, o valor é 0. |
| 30 | Especifica o estado da chave anterior. O valor é 1 se a chave estiver desativada antes da mensagem ser enviada, ou é 0 se a chave estiver ativa. |
| 31 | Especifica o estado de transição. O valor é 1 se a tecla estiver a ser libertada, ou 0 se a tecla estiver a ser pressionada. |
Observações
Esta função é chamada antes da OnKeyUp função membro e depois de a OnKeyDown função membro ser chamada.
OnChar contém o valor da tecla do teclado pressionada ou libertada.
Como não existe necessariamente uma correspondência um-para-um entre as teclas pressionadas e OnChar as chamadas geradas, a informação presente nFlags geralmente não é útil para as aplicações. A informação em nFlags aplica-se apenas à chamada mais recente para a OnKeyUp função membro ou à OnKeyDown função membro que precede a chamada para OnChar.
Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCharToItem
Chamada quando uma caixa de lista com o LBS_WANTKEYBOARDINPUT estilo envia uma WM_CHARTOITEM mensagem ao seu proprietário em resposta a uma WM_CHAR mensagem.
afx_msg int OnCharToItem(
UINT nChar,
CListBox* pListBox,
UINT nIndex);
Parâmetros
nChar
Especifica o valor da tecla pressionada pelo utilizador.
pListBox
Especifica um ponteiro para a caixa da lista. Pode ser temporário.
nIndex
Especifica a posição atual do caret.
Valor de retorno
O framework chama esta função membro para especificar a ação que a aplicação realizou em resposta à chamada. Um valor de retorno de -2 indica que a aplicação tratou de todos os aspetos da seleção do item e não quer que a caixa da lista faça mais ação. Um valor de retorno de -1 indica que a caixa de lista deve executar a ação padrão em resposta ao pressionamento da tecla. Um valor de retorno de 0 ou superior especifica o índice em base zero de um item na caixa de lista e indica que a caixa de lista deve executar a ação padrão para a tecla pressionada no item dado.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnChildActivate
Se o CWnd objeto for uma janela filha de múltiplos documentos (MDI), OnChildActivate é chamada pelo framework quando o utilizador clica na barra de título da janela ou quando a janela é ativada, movida ou dimensionada.
afx_msg void OnChildActivate();
CWnd::OnChildNotify
Esta função membro é chamada pela janela principal desta janela quando recebe uma mensagem de notificação que se aplica a essa janela.
virtual BOOL OnChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parâmetros
message
Um número de mensagem do Windows enviado para uma janela principal.
wParam
O wparam associado à mensagem.
lParam
O lparam associado à mensagem.
pLResult
Um apontador para um valor a ser devolvido do procedimento da janela do pai. Este apontador será NULL se não for esperado valor de retorno.
Valor de retorno
Não nula se esta janela for responsável por tratar a mensagem enviada ao seu pai; caso contrário, 0.
Observações
Nunca chame esta função de membro diretamente.
A implementação padrão desta função membro devolve 0, o que significa que o pai deve tratar da mensagem.
Substitua esta função membro para prolongar a forma como um controlo responde a mensagens de notificação.
CWnd::OnClipboardUpdate
A estrutura chama a este elemento função quando o conteúdo da prancheta mudou.
afx_msg void OnClipboardUpdate();
CWnd::OnClose
O framework chama a esta função membro um sinal de que a CWnd ou uma aplicação deve terminar.
afx_msg void OnClose();
Observações
A implementação padrão chama DestroyWindow.
CWnd::OnColorizationColorChanged
A estrutura chama este membro quando a política de renderização para a área não cliente mudou.
afx_msg void OnColorizationColorChanged(
DWORD dwColorizationColor,
BOOL bOpacity);
Parâmetros
dwColorizationColor
[dentro] Especifica a nova cor de colorização. O formato de cor é um número hexadecimal da forma 0xAARRGGBB, onde cada um dos quatro componentes varia de 0x00 a 0xFF. O componente AA é o valor alfa, RR é a cor vermelha, GG é verde e BB é azul.
bOpacity
[dentro] TRUE se a nova cor for misturada com opacidade; FALSE Se não for.
Observações
Este método recebe a WM_DWMNCRENDERINGCHANGED mensagem de notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCommand
O framework chama esta função membro quando o utilizador seleciona um item de um menu, quando um controlo filho envia uma mensagem de notificação, ou quando uma tecla aceleradora é traduzida.
virtual BOOL OnCommand(
WPARAM wParam,
LPARAM lParam);
Parâmetros
wParam
A palavra de ordem baixa identifica wParam o ID do comando do item do menu, controlo ou acelerador. A palavra de ordem superior de wParam especifica a mensagem de notificação se a mensagem for de um controlo. Se a mensagem for de um acelerador, a palavra de ordem superior é 1. Se a mensagem for de um menu, a palavra de ordem superior é 0.
lParam
Identifica o controlo que envia a mensagem se a mensagem for de um controlo. Caso contrário, lParam é 0.
Valor de retorno
Uma aplicação devolve uma resposta diferente de zero se processar esta mensagem; caso contrário, 0.
Observações
OnCommand processa o mapa de mensagens para notificações de controlo e ON_COMMAND entradas, e chama a função membro apropriada.
Substitua esta função membro na sua classe derivada para tratar da WM_COMMAND mensagem. Um override não processará o mapa da mensagem a menos que a classe OnCommand base seja chamada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCompacting
A estrutura chama a esta função membro para todas as janelas de topo quando o Windows deteta que mais de 12,5 por cento do tempo do sistema, num intervalo de 30 a 60 segundos, está a ser gasto a compactar a memória.
afx_msg void OnCompacting(UINT nCpuTime);
Parâmetros
nCpuTime
Especifica a razão entre o tempo de CPU atualmente gasto pelo Windows a compactar memória e o tempo de CPU gasto a realizar outras operações. Por exemplo, 8000h representa 50 por cento do tempo de CPU gasto a compactar memória.
Observações
Isto indica que a memória do sistema é baixa.
Quando um CWnd objeto recebe esta chamada, deve libertar o máximo de memória possível, tendo em conta o nível atual de atividade da aplicação e o número total de aplicações a correr no Windows. A aplicação pode chamar a função Windows para determinar quantas aplicações estão a correr.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCompareItem
O framework chama esta função membro para especificar a posição relativa de um novo item numa combinação de sorteio proprietário ordenada ou numa caixa de lista.
afx_msg int OnCompareItem(
int nIDCtl,
LPCOMPAREITEMSTRUCT lpCompareItemStruct);
Parâmetros
nIDCtl
O identificador do controlo que enviou a WM_COMPAREITEM mensagem.
lpCompareItemStruct
Contém um ponteiro longo para uma COMPAREITEMSTRUCT estrutura de dados que contém os identificadores e dados fornecidos pela aplicação para dois itens na caixa combinada ou lista.
Valor de retorno
Indica a posição relativa dos dois itens. Pode ser qualquer um dos seguintes valores:
| Valor | Meaning |
|---|---|
| -1 | O item 1 classifica-se antes do item 2. |
| 0 | O item 1 e o item 2 ordenam-se da mesma forma. |
| 1 | O item 1 classifica-se depois do item 2. |
Observações
Se for criado um combo ou caixa de lista com o CBS_SORT estilo ou, LBS_SORT o Windows envia uma WM_COMPAREITEM mensagem ao proprietário da caixa de combo ou da caixa de lista sempre que a aplicação adiciona um novo item.
Dois itens na caixa de combo ou lista são reformados numa COMPAREITEMSTRUCT estrutura apontada por lpCompareItemStruct.
OnCompareItem deve devolver um valor que indique quais dos itens devem aparecer antes do outro. Normalmente, o Windows faz esta chamada várias vezes até determinar a posição exata do novo item.
Se o hwndItem elemento da COMPAREITEMSTRUCT estrutura pertencer a um CListBox objeto ou CComboBox , então a CompareItem função virtual da classe apropriada é chamada. Substitui CComboBox::CompareItem ou CListBox::CompareItem entra no teu derivado CListBox ou CComboBox classe para fazer a comparação de itens.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCompositionChanged
O framework chama esta função membro para todas as janelas de topo quando a composição do Gestor de Janelas do Ambiente de Trabalho (DWM) está ativada ou desativada.
afx_msg void OnCompositionChanged();
Observações
Este método recebe a WM_DWMCOMPOSITIONCHANGED notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnContextMenu
É chamada pela framework quando o utilizador clicou no botão direito do rato (clicou com o botão direito) na janela.
afx_msg void OnContextMenu(
CWnd* pWnd,
CPoint pos);
Parâmetros
pWnd
Handle para a janela onde o utilizador clicou com o botão direito do rato. Esta pode ser uma janela filha da janela que recebe a mensagem. Para mais informações sobre o processamento desta mensagem, consulte a secção Observações.
pos
Posição do cursor, em coordenadas do ecrã, no momento do clique do rato.
Observações
Pode processar esta mensagem exibindo um menu de contexto usando o TrackPopupMenuarquivo .
Se não mostrar um menu contextual, deve passar esta mensagem para a DefWindowProc função. Se a sua janela for uma janela filha, DefWindowProc envia a mensagem para o pai. Caso contrário, DefWindowProc apresenta um menu contextual predefinido se a posição especificada estiver na legenda da janela.
CWnd::OnCopyData
Esta função membro é chamada pelo framework para copiar dados de uma aplicação para outra.
afx_msg BOOL OnCopyData(
CWnd* pWnd,
COPYDATASTRUCT* pCopyDataStruct);
Parâmetros
pWnd
Um apontador para um CWnd objeto que está a enviar os dados.
pCopyDataStruct
Um apontador para uma COPYDATASTRUCT estrutura que contém os dados enviados.
Valor de retorno
Retorna TRUE se a aplicação recetora aceitar com sucesso os dados. Caso contrário, retorna FALSE.
Observações
Os dados passados não devem conter ponteiros ou outras referências a objetos não acessíveis à aplicação que recebe os dados.
Enquanto os dados estão a ser copiados, não podem ser alterados por outro fio do processo de envio.
A aplicação recetora deve considerar os dados apenas de leitura. A estrutura apontada pelo parâmetro pCopyDataStruct é válida apenas durante a transferência de dados; no entanto, a aplicação recetora não deve libertar a memória associada à estrutura.
Se a aplicação recetora precisar de acesso aos dados após o retorno desta função, deve copiar os dados recebidos para um buffer local.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCreate
O framework chama esta função membro quando uma aplicação solicita que a janela do Windows seja criada chamando a Create função ou CreateEx membro.
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
Parâmetros
lpCreateStruct
Aponta para uma CREATESTRUCT estrutura que contém informação sobre o CWnd objeto a ser criado.
Valor de retorno
OnCreate deve devolver 0 para continuar a criação do CWnd objeto. Se a candidatura devolver -1, a janela será destruída.
Observações
O CWnd objeto recebe esta chamada depois de a janela ser criada, mas antes de se tornar visível.
OnCreate é chamada antes do retorno da Create função membro ou CreateEx .
Sobrescrita esta função membro para realizar qualquer inicialização necessária de uma classe derivada.
A CREATESTRUCT estrutura contém cópias dos parâmetros usados para criar a janela.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnCtlColor
A estrutura chama a este elemento função quando um controlo filho está prestes a ser desenhado.
afx_msg HBRUSH OnCtlColor(
CDC* pDC,
CWnd* pWnd,
UINT nCtlColor);
Parâmetros
pDC
Contém um ponteiro para o contexto de exibição da janela filho. Pode ser temporário.
pWnd
Contém um ponteiro para o controlo a pedir a cor. Pode ser temporário.
nCtlColor
Contém um dos seguintes valores, especificando o tipo de controlo:
CTLCOLOR_BTNControlo por botõesCTLCOLOR_DLGCaixa de diálogoCTLCOLOR_EDITControlo de ediçãoCTLCOLOR_LISTBOXControlo por caixa de listaCTLCOLOR_MSGBOXCaixa de mensagemCTLCOLOR_SCROLLBARControlo por barra de deslocamentoCTLCOLOR_STATICControlo estático
Valor de retorno
OnCtlColor deve devolver um cabo ao pincel que será usado para pintar o fundo de controlo.
Observações
A maioria dos controlos envia esta mensagem para o seu pai (normalmente uma caixa de diálogo) para os pDC preparar para desenhar o controlo usando as cores corretas.
Para alterar a cor do texto, chame a SetTextColor função membro com os valores desejados de vermelho, verde e azul (RGB).
Para alterar a cor de fundo de um controlo de edição de linha única, defina o cabo do pincel tanto nos CTLCOLOR_EDIT códigos da mensagem and CTLCOLOR_MSGBOX e chame a CDC::SetBkColor função em resposta ao CTLCOLOR_EDIT código.
OnCtlColor não será chamada para a caixa de lista de uma caixa de combo suspensa porque a caixa de lista suspensa é na verdade um filho da caixa de combo e não um filho da janela. Para mudar a cor da caixa da lista suspensa, crie um CComboBox com uma sobreposição de OnCtlColor que verifica CTLCOLOR_LISTBOX no nCtlColor parâmetro. Neste handler, a SetBkColor função membro deve ser usada para definir a cor de fundo do texto.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função. Para adicionar o seguinte método à sua classe de diálogo, use o painel de propriedades do Visual Studio para adicionar um manipulador de mensagens para WM_CTLCOLOR. Em alternativa, pode adicionar manualmente uma ON_WM_CTLCOLOR() entrada ao mapa da mensagem.
Example
// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// Call the base class implementation first! Otherwise, it may
// undo what we're trying to accomplish here.
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// Are we painting the IDC_MYSTATIC control? We can use
// CWnd::GetDlgCtrlID() to perform the most efficient test.
if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
{
// Set the text color to red
pDC->SetTextColor(RGB(255, 0, 0));
// Set the background mode for text to transparent
// so background will show thru.
pDC->SetBkMode(TRANSPARENT);
// Return handle to our CBrush object
hbr = m_brush;
}
return hbr;
}
CWnd::OnDeadChar
O framework chama esta função membro quando a OnKeyUp função membro e as OnKeyDown funções membros são chamadas.
afx_msg void OnDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Especifica o valor do carácter dead-key.
nRepCnt
Especifica a contagem de repetições.
nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:
| Valor | Description |
|---|---|
| 0-7 | Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta. |
| 8 | Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0). |
| 9-10 | Não utilizado. |
| 11-12 | Usado internamente pelo Windows. |
| 13 | Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0). |
| 14 | Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa). |
| 15 | Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada). |
Observações
Esta função membro pode ser usada para especificar o valor de carácter de uma chave morta. Uma chave morta é uma chave, como o carácter umlaut (ponto duplo), que é combinada com outros caracteres para formar um carácter composto. Por exemplo, o carácter umlaut-O consiste na tecla morta, umlaut e tecla O.
Uma aplicação normalmente serve OnDeadChar para dar feedback ao utilizador sobre cada tecla pressionada. Por exemplo, uma aplicação pode mostrar o destaque na posição atual do carácter sem mover a caridade.
Como não existe necessariamente uma correspondência um-para-um entre as teclas pressionadas e OnDeadChar as chamadas, a informação em nFlags geral não é útil para as aplicações. A informação aplica-se nFlags apenas à chamada mais recente à OnKeyUp função membro ou à OnKeyDown função membro que precede a chamada OnDeadChar .
Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnDeleteItem
A estrutura chama esta função membro para informar o proprietário de uma caixa de lista de sorteio proprietário ou caixa de combo que a caixa de lista ou caixa de combo foi destruída ou que os itens foram removidos por CComboBox::DeleteString, CListBox::DeleteString, CComboBox::ResetContent, ou CListBox::ResetContent.
afx_msg void OnDeleteItem(
int nIDCtl,
LPDELETEITEMSTRUCT lpDeleteItemStruct);
Parâmetros
nIDCtl
O identificador do controlo que enviou a WM_DELETEITEM mensagem.
lpDeleteItemStruct
Especifica um ponteiro longo para uma DELETEITEMSTRUCT estrutura de dados que contém informação sobre o item da caixa da lista eliminada.
Observações
Se o hwndItem membro da DELETEITEMSTRUCT estrutura pertencer a uma caixa combo ou caixa de lista, então a DeleteItem função virtual da classe apropriada é chamada. Sobrescreva a DeleteItem função membro da classe do controlo apropriado para eliminar dados específicos do item.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnDestroy
A estrutura chama esta função membro para informar o CWnd objeto de que está a ser destruído.
afx_msg void OnDestroy();
Observações
OnDestroy é chamado depois de o CWnd objeto ser removido do ecrã.
OnDestroy chama-se primeiro pelo CWnd ser destruído, depois pelas janelas crianças de CWnd à medida que são destruídas. Pode assumir-se que todas as janelas filhas ainda existem durante OnDestroy a execução.
Se o CWnd objeto a ser destruído fizer parte da cadeia Clipboard-viewer (definida ao chamar a SetClipboardViewer função membro), o CWnd Clipboard-viewer deve retirar-se da cadeia Clipboard-viewer chamando a ChangeClipboardChain função membro antes de regressar da OnDestroy função.
CWnd::OnDestroyClipboard
A estrutura chama esta função membro para o proprietário da Área de Transferência quando esta é esvaziada através de uma chamada à EmptyClipboard função Windows.
afx_msg void OnDestroyClipboard();
CWnd::OnDeviceChange
A estrutura chama esta função membro para notificar uma aplicação ou controlador de dispositivo sobre uma alteração na configuração de hardware de um dispositivo ou do computador.
afx_msg BOOL OnDeviceChange(
UINT nEventType,
DWORD_PTR dwData);
Parâmetros
nEventType
Um tipo de evento. Consulte a secção de Observações para uma descrição dos valores disponíveis
dwData
O endereço de uma estrutura que contém dados específicos de um evento. O seu significado depende do evento em questão.
Observações
Para dispositivos que oferecem funcionalidades controláveis por software, como ejeção e bloqueio, o sistema operativo normalmente envia uma DBT_DEVICEREMOVEPENDING mensagem para permitir que aplicações e drivers de dispositivos terminem a utilização do dispositivo de forma gradual.
Se o sistema operativo remover à força um dispositivo, pode não enviar uma DBT_DEVICEQUERYREMOVE mensagem antes de o fazer.
O nEvent parâmetro pode ser um destes valores:
DBT_DEVICEARRIVALUm dispositivo foi inserido e está agora disponível.DBT_DEVICEQUERYREMOVEPede-se permissão para remover um dispositivo. Qualquer candidatura pode recusar este pedido e cancelar a remoção.DBT_DEVICEQUERYREMOVEFAILEDO pedido para remover um dispositivo foi cancelado.DBT_DEVICEREMOVEPENDINGO dispositivo está prestes a ser removido. Não se pode negar.DBT_DEVICEREMOVECOMPLETEO dispositivo foi removido.DBT_DEVICETYPESPECIFICEvento específico do dispositivo.DBT_CONFIGCHANGEDA configuração atual mudou.DBT_DEVNODES_CHANGEDO nó do dispositivo mudou.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnDevModeChange
O framework chama esta função membro para todos os objetos de topo CWnd quando o utilizador altera as definições do modo do dispositivo.
afx_msg void OnDevModeChange(LPTSTR lpDeviceName);
Parâmetros
lpDeviceName
Aponta para o nome do dispositivo especificado no ficheiro de inicialização do Windows, WIN.INI.
Observações
As aplicações que tratam da WM_DEVMODECHANGE mensagem podem reinicializar as suas definições de modo de dispositivo. As aplicações que utilizam a função Windows ExtDeviceMode para guardar e restaurar definições do dispositivo normalmente não processam esta função.
Esta função não é chamada quando o utilizador altera a impressora por defeito a partir do Painel de Controlo. Neste caso, a OnWinIniChange função é chamada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnDrawClipboard
A estrutura chama esta função membro para cada janela na cadeia Clipboard-viewer quando o conteúdo da Clipboard muda.
afx_msg void OnDrawClipboard();
Observações
Apenas as aplicações que se juntaram à cadeia Clipboard-viewer ao chamar a SetClipboardViewer função membro precisam de responder a esta chamada.
Cada janela que recebe uma OnDrawClipboard chamada deve chamar a SendMessage função Windows para passar uma WM_DRAWCLIPBOARD mensagem para a próxima janela na cadeia Clipboard-viewer. O handle da janela seguinte é devolvido pela SetClipboardViewer função membro; pode ser modificado em resposta a uma OnChangeCbChain chamada de função membro.
CWnd::OnDrawIconicThumbnailOrLivePreview
É chamado pelo framework quando este precisa de obter um bitmap para ser exibido na miniatura do separador do Windows 7, ou no cliente para o peek da aplicação.
virtual void OnDrawIconicThumbnailOrLivePreview(
CDC& dc,
CRect rect,
CSize szRequiredThumbnailSize,
BOOL bIsThumbnail,
BOOL& bAlphaChannelSet);
Parâmetros
dc
Especifica o contexto do dispositivo.
rect
Especifica o retângulo delimitador da área a renderizar.
szRequiredThumbnailSize
Especifica o tamanho da miniatura alvo. Deve ser ignorado se bIsThumbnail for FALSE.
bIsThumbnail
Especifica se este método é chamado para miniatura icónica ou pré-visualização ao vivo (espreitação).
bAlphaChannelSet
[fora] Defina para TRUE se a sua implementação inicializar o canal alfa de um bitmap selecionado em dc.
Observações
Sobrepor este método numa classe derivada e recorrer ao contexto especificado do dispositivo para personalizar miniatura e peek. Se bThumbnail for TRUE, szRequiredThumbnailSize pode ser ignorado. Neste caso, deve estar ciente de que desenha um bitmap em tamanho real (ou seja, um bitmap que cobre toda a área do cliente). O contexto do dispositivo (dc) vem com um bitmap selecionado de 32 bits. A implementação padrão envia WM_PRINT para esta janela com PRF_CLIENT, PRF_CHILDREN, e PRF_NONCLIENT flags.
CWnd::OnDrawItem
A estrutura chama esta função membro para o proprietário de um controlo de botão de desenho do proprietário, controlo de caixa combo, controlo de caixa de lista ou menu quando um aspeto visual do controlo ou menu mudou.
afx_msg void OnDrawItem(
int nIDCtl,
LPDRAWITEMSTRUCT lpDrawItemStruct);
Parâmetros
nIDCtl
Contém o identificador do controlo que enviou a WM_DRAWITEM mensagem. Se um menu enviou a mensagem, nIDCtl contém 0.
lpDrawItemStruct
Especifica um ponteiro longo para uma DRAWITEMSTRUCT estrutura de dados que contém informação sobre o item a desenhar e o tipo de desenho necessário.
Observações
O itemAction elemento da DRAWITEMSTRUCT estrutura define a operação de desenho que deve ser realizada. Os dados neste elemento permitem ao proprietário do controlo determinar qual a ação de desenho necessária.
Antes de regressar do processamento desta mensagem, uma aplicação deve garantir que o contexto do dispositivo identificado pelo hDC membro da DRAWITEMSTRUCT estrutura é restaurado para o estado predefinido.
Se o hwndItem membro pertencer a um CButtonobjeto , CMenu, CListBox, ou CComboBox , então a DrawItem função virtual da classe apropriada é chamada. Sobrescreva a DrawItem função membro da classe do controlo apropriado para desenhar o item.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnDropFiles
A estrutura chama esta função membro quando o utilizador solta o botão esquerdo do rato sobre uma janela que se registou como destinatária dos ficheiros descartados.
afx_msg void OnDropFiles(HDROP hDropInfo);
Parâmetros
hDropInfo
Um apontador para uma estrutura de dados interna que descreve os ficheiros caídos. Este handle é usado pelas DragFinishfunções , DragQueryFile, e DragQueryPoint Windows para recuperar informação sobre os ficheiros perdidos.
Observações
Normalmente, uma classe derivada é desenhada para suportar ficheiros descartados e regista-se durante a construção da janela.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnEnable
O framework chama esta função membro quando uma aplicação altera o estado habilitado do CWnd objeto.
afx_msg void OnEnable(BOOL bEnable);
Parâmetros
bEnable
Especifica se o CWnd objeto foi ativado ou desativado. Este parâmetro é TRUE se o CWnd tiver sido ativado; é FALSE se o CWnd tiver sido desativado.
Observações
OnEnable é chamada antes do retorno da EnableWindow função membro, mas depois de o estado de janela ativado (WS_DISABLED bit de estilo) ter mudado.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnEndSession
O framework chama esta função membro depois de o CWnd objeto ter retornado um valor diferente de zero a partir de uma OnQueryEndSession chamada de função membro.
afx_msg void OnEndSession(BOOL bEnding);
Parâmetros
bEnding
Especifica se a sessão está a ser terminada ou não. É TRUE se a sessão estiver a terminar; caso contrário FALSE.
Observações
A OnEndSession chamada informa o CWnd objeto se a sessão está realmente a terminar.
Se bEnding for TRUE, o Windows pode terminar a qualquer momento depois de todas as aplicações terem regressado do processamento desta chamada. Consequentemente, fazer com que uma aplicação execute todas as tarefas necessárias para a terminação dentro OnEndSessionde .
Não precisa de chamar a DestroyWindow função membro ou PostQuitMessage a função Windows quando a sessão está a terminar.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnEnterIdle
A estrutura chama esta função membro para informar o procedimento da janela principal da aplicação de que uma caixa de diálogo modal ou um menu está a entrar num estado de inatividade.
afx_msg void OnEnterIdle(
UINT nWhy,
CWnd* pWho);
Parâmetros
nWhy
Especifica se a mensagem é resultado de uma caixa de diálogo ou de um menu a ser exibido. Este parâmetro pode ser um dos seguintes valores:
MSGF_DIALOGBOXO sistema está inativo porque está a ser exibida uma caixa de diálogo.MSGF_MENUO sistema está inativo porque está a ser exibido um menu.
pWho
Especifica um ponteiro para a caixa de diálogo (se nWhy for MSGF_DIALOGBOX), ou para a janela que contém o menu apresentado (se nWhy for MSGF_MENU). Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
Uma caixa de diálogo ou menu modal entra em estado de inatividade quando não há mensagens à espera na sua fila depois de ter processado uma ou mais mensagens anteriores.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnEnterMenuLoop
A estrutura chama a esta função membro quando um laço modal de menu é introduzido.
afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);
Parâmetros
bIsTrackPopupMenu
Especifica se o menu envolvido é um menu pop-up. Tem um valor não nulo se a função for bem-sucedida; caso contrário, 0.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnEnterSizeMove
A estrutura chama esta função membro uma vez depois de a janela afetada entrar num ciclo modal em movimento ou dimensionamento.
afx_msg void OnEnterSizeMove();
Observações
Este método recebe a WM_ENTERSIZEMOVE notificação, que é descrita no SDK do Windows.
Uma janela entra num ciclo modal em movimento ou dimensionamento quando o utilizador clica na barra de título ou na borda de dimensionamento da janela, ou quando a janela passa a WM_SYSCOMMAND mensagem para a CWnd::DefWindowProc função e o parâmetro wParam dessa mensagem especifica SC_MOVE ou SC_SIZE.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnEraseBkgnd
A estrutura chama esta função membro quando o CWnd fundo do objeto precisa de ser apagado (por exemplo, quando redimensionado).
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
Parâmetros
pDC
Especifica o objeto de contexto do dispositivo.
Valor de retorno
Diferente de zero se apagar o fundo; caso contrário, 0.
Observações
É chamado para preparar uma região invalidada para pintura.
A implementação padrão apaga o fundo usando o pincel de fundo da classe window especificado pelo hbrBackground membro da estrutura da classe window.
Se o hbrBackground membro for NULL, a sua versão OnEraseBkgnd sobreposta de deve apagar a cor de fundo. A sua versão também deve alinhar a origem do pincel pretendido com as CWnd coordenadas, chamando UnrealizeObject primeiro o pincel e depois selecionando o pincel.
Um overriden OnEraseBkgnd deve devolver um valor diferente de zero em resposta a WM_ERASEBKGND se processa a mensagem e apaga o fundo; isto indica que não é necessário apagar mais. Se devolver 0, a janela permanecerá marcada como necessitando de ser apagada. (Normalmente, isto significa que o fErase elemento da PAINTSTRUCT estrutura será TRUE.)
O Windows assume que o fundo é calculado com o MM_TEXT modo de mapeamento. Se o contexto do dispositivo estiver a usar qualquer outro modo de mapeamento, a área apagada pode não estar dentro da parte visível da área do cliente.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnExitMenuLoop
A estrutura chama esta função membro quando um ciclo modal de menu é encerrado.
afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);
Parâmetros
bIsTrackPopupMenu
Especifica se o menu envolvido é um menu pop-up. Tem um valor não nulo se a função for bem-sucedida; caso contrário, 0.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnExitSizeMove
A estrutura chama esta função membro uma vez após a janela afetada sair de um ciclo modal em movimento ou dimensionamento.
afx_msg void OnExitSizeMove();
Observações
Este método recebe a WM_EXITSIZEMOVE notificação, que é descrita no SDK do Windows.
Uma janela entra num ciclo modal em movimento ou dimensionamento quando o utilizador clica na barra de título ou na borda de dimensionamento da janela, ou quando a janela passa a WM_SYSCOMMAND mensagem para a CWnd::DefWindowProc função e o wParam parâmetro dessa mensagem especifica SC_MOVE ou SC_SIZE.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnFontChange
Todas as janelas de topo no sistema recebem uma OnFontChange chamada do framework após a aplicação alterar o conjunto de recursos de fontes.
afx_msg void OnFontChange();
Observações
Uma aplicação que adicione ou remova fontes do sistema (por exemplo, através da AddFontResource função ou RemoveFontResource Windows) deve enviar a WM_FONTCHANGE mensagem para todas as janelas de nível superior.
Para enviar esta mensagem, use a SendMessage função do Windows com o hWnd parâmetro definido como HWND_BROADCAST.
CWnd::OnGetDlgCode
É solicitado um controlo para que o controlo possa processar seta e teclas TAB por si próprio.
afx_msg UINT OnGetDlgCode();
Valor de retorno
Um ou mais dos seguintes valores, indicando que tipo de entrada a aplicação processa:
DLGC_BUTTONBotão (genérico).DLGC_DEFPUSHBUTTONBotão padrão de pressão.DLGC_HASSETSELEM_SETSELmensagens.DLGC_UNDEFPUSHBUTTONSem processamento padrão de botões. (Uma aplicação pode usar este flag comDLGC_BUTTONpara indicar que processa a introdução de botões, mas depende do sistema para o processamento padrão de botões.)DLGC_RADIOBUTTONBotão de rádio.DLGC_STATICControlo estático.DLGC_WANTALLKEYSToda a entrada do teclado.DLGC_WANTARROWSTeclas de seta.DLGC_WANTCHARSWM_CHARmensagens.DLGC_WANTMESSAGEToda a entrada do teclado. A aplicação transmite esta mensagem ao controlo.DLGC_WANTTABTecla TAB.
Observações
Normalmente, o Windows trata de toda a entrada por setas e teclas TAB para um CWnd controlo. Ao sobrepor OnGetDlgCode, um CWnd controlo pode escolher um tipo particular de entrada para processar a si próprio.
As funções padrão OnGetDlgCode para as classes de controlo predefinidas retornam um código apropriado para cada classe.
CWnd::OnGetMinMaxInfo
O framework chama esta função membro sempre que o Windows precisa de saber a posição ou dimensões maximizadas, ou o tamanho mínimo ou máximo de rastreamento.
afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
Parâmetros
lpMMI
Aponta para uma MINMAXINFO estrutura que contém informação sobre o tamanho e posição maximizados de uma janela e o seu tamanho mínimo e máximo de rastreamento. Para mais informações sobre esta estrutura, consulte a MINMAXINFO estrutura.
Observações
O tamanho máximo é o tamanho da janela quando as suas bordas estão totalmente estendidas. O tamanho máximo de rastreamento da janela é o maior tamanho de janela que pode ser alcançado usando as bordas para dimensionar a janela. O tamanho mínimo de tracking da janela é o menor tamanho de janela que pode ser alcançado usando as bordas para dimensionar a janela.
O Windows preenche um array de pontos especificando valores padrão para as várias posições e dimensões. A aplicação pode alterar estes valores em OnGetMinMaxInfo.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnHelp
Trata da Ajuda F1 dentro da aplicação (usando o contexto atual).
afx_msg void OnHelp();
Observações
Consulte CWinApp::OnHelp para obter mais informações.
CWnd::OnHelpFinder
Trata dos ID_HELP_FINDER comandos e ID_DEFAULT_HELP .
afx_msg void OnHelpFinder();
Observações
Consulte CWinApp::OnHelpFinder para obter mais informações.
CWnd::OnHelpIndex
Trata do ID_HELP_INDEX comando e fornece um tópico de Ajuda por defeito.
afx_msg void OnHelpIndex();
Observações
Consulte CWinApp::OnHelpIndex para obter mais informações.
CWnd::OnHelpInfo
Chamada pelo framework quando o utilizador pressiona a tecla F1.
afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);
Parâmetros
lpHelpInfo
Apontador para uma HELPINFO estrutura que contenha informação sobre o item do menu, controlo, caixa de diálogo ou janela para a qual se solicita ajuda.
Valor de retorno
Retorna TRUE se uma janela tiver o foco do teclado ou se um menu estiver ativo dentro de uma janela. Se nenhuma janela tiver o foco do teclado, devolve FALSE.
Observações
Se um menu estiver ativo quando F1 é pressionado, WM_HELP é enviado para a janela associada ao menu; caso contrário, WM_HELP é enviado para a janela onde o teclado está focado. Se nenhuma janela tiver o foco do teclado, WM_HELP é enviado para a janela atualmente ativa.
CWnd::OnHelpUsing
Trata da ID_HELP_USING ordem.
afx_msg void OnHelpUsing();
Observações
Consulte CWinApp::OnHelpUsing para obter mais informações.
CWnd::OnHotKey
O framework chama esta função membro quando o utilizador pressiona uma tecla de atalho a nível do sistema.
afx_msg void OnHotKey(
UINT nHotKeyId,
UINT nKey1,
UINT nKey2);
Parâmetros
nHotKeyId
[dentro] Identificador para a tecla de atalho que gerou a mensagem. Se a mensagem foi gerada por uma tecla de atalho definida pelo sistema, este parâmetro será um dos seguintes valores:
-
IDHOT_SNAPDESKTOP- A tecla de atalho do snap desktop era pressionada. -
IDHOT_SNAPWINDOW- A tecla de atalho da janela de encaixe foi pressionada.
nKey1
[dentro] Uma combinação bit a bit (OR) de flags que indicam as teclas pressionadas em combinação com a tecla especificada pelo nKey2 parâmetro. Os valores possíveis são:
-
MOD_ALT- Qualquer tecla ALT estava pressionada. -
MOD_CONTROL- Qualquer tecla CTRL estava pressionada. -
MOD_SHIFT- Qualquer tecla SHIFT era mantida pressionada. -
MOD_WIN- Qualquer tecla WINDOWS estava pressionada. Estas teclas estão identificadas com o logótipo do Microsoft Windows.
nKey2
[dentro] O código da tecla virtual da tecla de atalho.
Observações
Este método recebe a WM_HOTKEY notificação, que é descrita no SDK do Windows. Esta mensagem é colocada no topo da fila de mensagens associada ao thread que registou a tecla de atalho. Use a RegisterHotKey função para registar uma tecla de atalho em todo o sistema.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnHScroll
A estrutura chama a este elemento função quando o utilizador clica na barra de scroll horizontal de uma janela.
afx_msg void OnHScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parâmetros
nSBCode
Especifica um código de barras de scroll que indica o pedido de scroll do utilizador. Este parâmetro pode ser um dos seguintes:
SB_LEFTDesloce-se para a esquerda.SB_ENDSCROLLFim do scroll.SB_LINELEFTDesloca para a esquerda.SB_LINERIGHTDesloca-te para a direita.SB_PAGELEFTDesloca uma página para a esquerda.SB_PAGERIGHTRole uma página para a direita.SB_RIGHTDesloca-te para a direita.SB_THUMBPOSITIONDesça até à posição absoluta. A posição atual é especificada pelonPosparâmetro.SB_THUMBTRACKArrasta a caixa de scroll para a posição especificada. A posição atual é especificada pelonPosparâmetro.
nPos
Especifica a posição da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION ou SB_THUMBTRACK; caso contrário, não usado. Dependendo do alcance inicial do pergaminho, nPos pode ser negativo e deve ser lançado para um int se necessário.
pScrollBar
Se a mensagem de scroll veio de um controlo de barra de scroll, contém um ponteiro para o controlo. Se o utilizador clicou na barra de scroll de uma janela, este parâmetro é NULL. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
O SB_THUMBTRACK código de barras de deslocamento é normalmente usado por aplicações que fornecem algum feedback enquanto a caixa de deslocamento está a ser arrastada.
Se uma aplicação deslocar o conteúdo controlado pela barra de deslocamento, deve também redefinir a posição da caixa de deslocamento com a SetScrollPos função membro.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
Example
void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
// Get the minimum and maximum scroll-bar positions.
int minpos;
int maxpos;
GetScrollRange(SB_HORZ, &minpos, &maxpos);
maxpos = GetScrollLimit(SB_HORZ);
// Get the current position of scroll box.
int curpos = GetScrollPos(SB_HORZ);
// Determine the new position of scroll box.
switch (nSBCode)
{
case SB_LEFT: // Scroll to far left.
curpos = minpos;
break;
case SB_RIGHT: // Scroll to far right.
curpos = maxpos;
break;
case SB_ENDSCROLL: // End scroll.
break;
case SB_LINELEFT: // Scroll left.
if (curpos > minpos)
curpos--;
break;
case SB_LINERIGHT: // Scroll right.
if (curpos < maxpos)
curpos++;
break;
case SB_PAGELEFT: // Scroll one page left.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos > minpos)
curpos = max(minpos, curpos - (int)info.nPage);
}
break;
case SB_PAGERIGHT: // Scroll one page right.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos < maxpos)
curpos = min(maxpos, curpos + (int)info.nPage);
}
break;
case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
curpos = nPos; // of the scroll box at the end of the drag operation.
break;
case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
curpos = nPos; // position that the scroll box has been dragged to.
break;
}
// Set the new position of the thumb (scroll box).
SetScrollPos(SB_HORZ, curpos);
CView::OnHScroll(nSBCode, nPos, pScrollBar);
}
CWnd::OnHScrollClipboard
A função de membro do OnHScrollClipboard proprietário da Área de Transferência é chamada pelo visualizador da Área de Transferência quando os dados da Área de Transferência têm o CF_OWNERDISPLAY formato e há um evento na barra de deslocação horizontal do visualizador da Área de Transferências.
afx_msg void OnHScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parâmetros
pClipAppWnd
Especifica um ponteiro para uma janela de visualização de prancheta. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
nSBCode
Especifica um dos seguintes códigos de barras de deslocamento na palavra de ordem baixa:
SB_BOTTOMDesça para o canto inferior direito.SB_ENDSCROLLFim do scroll.SB_LINEDOWNDesça uma linha para baixo.SB_LINEUPRole uma linha para cima.SB_PAGEDOWNDesça uma página para baixo.SB_PAGEUPDesliza uma página para cima.SB_THUMBPOSITIONDesloca até à posição absoluta. A posição atual é fornecida emnPos.SB_TOPDesloca até ao canto superior esquerdo.
nPos
Contém a posição da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION; caso contrário, não utilizado.
Observações
O proprietário deve deslocar a imagem do Clipboard, invalidar a secção apropriada e atualizar os valores da barra de deslocamento.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnIconEraseBkgnd
A estrutura chama esta função de elemento para um objeto minimizado (icónico) CWnd quando o fundo do ícone deve ser preenchido antes de o pintar.
afx_msg void OnIconEraseBkgnd(CDC* pDC);
Parâmetros
pDC
Especifica o objeto de contexto do dispositivo do ícone. Pode ser temporário e não deve ser guardado para uso posterior.
Observações
CWnd recebe esta chamada apenas se um ícone de classe for definido para a implementação padrão da janela; caso contrário OnEraseBkgnd , é chamado.
A DefWindowProc função membro preenche o fundo do ícone com o pincel de fundo da janela principal.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnInitMenu
A estrutura chama esta função membro quando um menu está prestes a tornar-se ativo.
afx_msg void OnInitMenu(CMenu* pMenu);
Parâmetros
pMenu
Especifica o menu a inicializar. Pode ser temporário e não deve ser guardado para uso posterior.
Observações
OnInitMenu é chamada quando o utilizador clica num item na barra de menu ou pressiona uma tecla de menu. Substitua esta função membro para modificar o menu antes de ser exibido.
OnInitMenu é chamada apenas uma vez, quando um menu é acedido pela primeira vez (por exemplo, quando um utilizador clica num item na barra de menus). Este método não fornece informações sobre os itens do menu. À medida que o utilizador se move para itens dentro do menu (por exemplo, movendo o rato por vários itens do menu), a função não é chamada novamente. Quando o utilizador sai do menu (por exemplo, clicando na área do cliente da aplicação) e mais tarde clica num item na barra de menus, a função será chamada novamente.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnInitMenuPopup
O framework chama esta função membro quando um menu pop-up está prestes a ativar-se.
afx_msg void OnInitMenuPopup(
CMenu* pPopupMenu,
UINT nIndex,
BOOL bSysMenu);
Parâmetros
pPopupMenu
Especifica o objeto do menu pop-up. Pode ser temporário e não deve ser guardado para uso posterior.
nIndex
Especifica o índice do menu pop-up no menu principal.
bSysMenu
TRUE se o menu pop-up for o menu Control; caso contrário FALSE.
Observações
Isto permite que uma aplicação modifique o menu pop-up antes de este ser exibido sem alterar todo o menu.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnInputDeviceChange
A estrutura chama esta função membro quando um dispositivo de E/S é adicionado ou removido do sistema.
afx_msg void OnInputDeviceChange(unsigned short uFlag);
Parâmetros
uFlag
[dentro] Esta bandeira pode conter os seguintes valores:
-
GIDC_ARRIVAL- Foi adicionado um novo dispositivo ao sistema. -
GIDC_REMOVAL- Um dispositivo foi removido do sistema.
Observações
Este método recebe a WM_INPUT_DEVICE_CHANGE notificação, que é descrita no SDK do Windows. É uma mensagem genérica de dispositivo de entrada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnInputLangChange
O framework chama este membro para a janela mais afetada depois de a linguagem de entrada da aplicação ter sido alterada.
afx_msg void OnInputLangChange(
UINT nCharSet,
UINT nLocaleId);
Parâmetros
nCharSet
[dentro] O conjunto de personagens do novo local. Para mais informações, consulte o lfCharSet parâmetro da LOGFONT estrutura.
nLocaleId
[dentro] O identificador local de entrada. Para mais informações, veja Constantes e Strings de Identificadores de Linguagem.
Observações
Este método recebe a WM_INPUTLANGCHANGE mensagem de notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnInputLangChangeRequest
A estrutura chama este elemento para janela com o foco quando o utilizador escolhe uma nova linguagem de entrada.
afx_msg void OnInputLangChangeRequest(
UINT nFlags,
UINT nLocaleId);
Parâmetros
nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indica que a nova localização foi selecionada a partir da localização anterior ou seguinte na lista instalada de locais, ou que o layout do teclado da nova localização de entrada pode ser usado com o conjunto de caracteres do sistema. Os valores possíveis são INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARDe INPUTLANGCHANGE_SYSCHARSET.
nLocaleId
[dentro] O identificador local de entrada. Para mais informações, veja Constantes e Strings de Identificadores de Linguagem.
Observações
Este método recebe a WM_INPUTLANGCHANGEREQUEST mensagem de notificação, que é descrita no SDK do Windows. Esta mensagem é publicada quando o utilizador escolhe uma nova linguagem de entrada com uma tecla de atalho especificada na aplicação do painel de controlo do teclado, ou a partir do indicador na barra de tarefas do sistema.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnKeyDown
A estrutura chama esta função membro quando uma tecla não do sistema é pressionada.
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Especifica o código de chave virtual da chave dada. Para uma lista de códigos de chave virtuais padrão, veja Winuser.h
nRepCnt
Contagem de repetições (o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada).
nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:
| Valor | Description |
|---|---|
| 0-7 | Código de varrimento (valor dependente do OEM). |
| 8 | Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida). |
| 9-10 | Não utilizado. |
| 11-12 | Usado internamente pelo Windows. |
| 13 | Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0). |
| 14 | Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa). |
| 15 | Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada). |
Para uma WM_KEYDOWN mensagem, o bit de transição de chave (bit 15) é 0 e o bit de código de contexto (bit 13) é 0.
Observações
Uma tecla não-sistema é uma tecla de teclado que é pressionada quando a tecla ALT não está pressionada ou uma tecla de teclado que é pressionada quando CWnd tem o foco de entrada.
Devido à repetição automática, pode ocorrer mais do que uma OnKeyDown chamada antes de ser feita uma OnKeyUp chamada de função membro. O bit que indica o estado anterior da chave pode ser usado para determinar se a OnKeyDown chamada é a transição de primeiro down ou uma transição repetida para baixo.
Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnKeyUp
O framework chama esta função membro quando uma chave não do sistema é libertada.
afx_msg void OnKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Especifica o código de chave virtual da chave dada. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h
nRepCnt
Contagem de repetições (o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada).
nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:
| Valor | Description |
|---|---|
| 0-7 | Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta. |
| 8 | Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0). |
| 9-10 | Não utilizado. |
| 11-12 | Usado internamente pelo Windows. |
| 13 | Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0). |
| 14 | Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa). |
| 15 | Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada). |
Para uma WM_KEYUP mensagem, o bit de transição de chave (bit 15) é 1 e o bit de código de contexto (bit 13) é 0.
Observações
Uma tecla não-sistema é uma tecla de teclado que é pressionada quando a tecla ALT não está pressionada ou uma tecla de teclado que é pressionada quando tem CWnd o foco de entrada.
Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnKillFocus
O framework chama esta função membro imediatamente antes de perder o foco de entrada.
afx_msg void OnKillFocus(CWnd* pNewWnd);
Parâmetros
pNewWnd
Especifica um ponteiro para a janela que recebe o foco de entrada (pode ser NULL ou pode ser temporário).
Observações
Se o CWnd objeto estiver a exibir um caret, o caret deve ser destruído neste ponto.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnLButtonDblClk
A estrutura chama esta função membro quando o utilizador faz duplo clique no botão esquerdo do rato.
afx_msg void OnLButtonDblClk(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_LBUTTONDefine se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Só as janelas com este CS_DBLCLKSWNDCLASS estilo recebem OnLButtonDblClk chamadas. Este é o padrão para as janelas da Microsoft Foundation Class. O Windows chama OnLButtonDblClk quando o utilizador pressiona, larga e depois pressiona novamente o botão esquerdo do rato dentro do limite de tempo de duplo clique do sistema. Clicar duas vezes no botão esquerdo do rato gera, na verdade, quatro eventos: WM_LBUTTONDOWN, WM_LBUTTONUP mensagens, a WM_LBUTTONDBLCLK chamada e outra WM_LBUTTONUP mensagem quando o botão é libertado.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnLButtonDown
A estrutura chama esta função membro quando o utilizador pressiona o botão esquerdo do rato.
afx_msg void OnLButtonDown(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_LBUTTONDefine se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnLButtonUp
A estrutura chama esta função membro quando o utilizador solta o botão esquerdo do rato.
afx_msg void OnLButtonUp(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMButtonDblClk
A estrutura chama esta função membro quando o utilizador faz duplo clique no botão do meio do rato.
afx_msg void OnMButtonDblClk(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_LBUTTONDefine se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Só as janelas com este CS_DBLCLKSWNDCLASS estilo recebem OnMButtonDblClk chamadas. Este é o padrão para todas as janelas da Microsoft Foundation Class. O Windows gera uma OnMButtonDblClk chamada quando o utilizador pressiona, larga e depois pressiona novamente o botão do meio do rato dentro do limite de tempo de duplo clique do sistema. Fazer duplo clique no botão do meio do rato gera, na verdade, quatro eventos: WM_MBUTTONDOWN e WM_MBUTTONUP mensagens, a WM_MBUTTONDBLCLK chamada e outra WM_MBUTTONUP mensagem.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMButtonDown
A estrutura chama esta função membro quando o utilizador pressiona o botão do meio do rato.
afx_msg void OnMButtonDown(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_LBUTTONDefine se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMButtonUp
A estrutura chama esta função membro quando o utilizador solta o botão do meio do rato.
afx_msg void OnMButtonUp(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_LBUTTONDefine se o botão esquerdo do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMDIActivate
A estrutura chama a esta função membro para a janela filho que está a ser desativada e a janela filha que está a ser ativada.
afx_msg void OnMDIActivate(
BOOL bActivate,
CWnd* pActivateWnd,
CWnd* pDeactivateWnd);
Parâmetros
bActivate
TRUE se a criança está a ser ativada e FALSE se está a ser desativada.
pActivateWnd
Contém um ponteiro para a janela filho MDI a ser ativada. Quando recebida por uma janela filho MDI, pActivateWnd contém um ponteiro para a janela filha que está a ser ativada. Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.
pDeactivateWnd
Contém um ponteiro para a janela filho do MDI a ser desativada. Este ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
Uma janela filho MDI é ativada independentemente da janela de quadro MDI. Quando o frame se torna ativo, a janela filho que foi ativada pela última vez com uma OnMDIActivate chamada recebe uma WM_NCACTIVATE mensagem para desenhar um frame de janela ativo e uma barra de legendas, mas não recebe outra OnMDIActivate chamada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMeasureItem
A estrutura chama esta função membro pela estrutura para o proprietário de um botão de desenho do proprietário, caixa de combo, caixa de lista ou item de menu quando o controlo é criado.
afx_msg void OnMeasureItem(
int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
Parâmetros
nIDCtl
A ID do controle.
lpMeasureItemStruct
Aponta para uma MEASUREITEMSTRUCT estrutura de dados que contém as dimensões do controlo proprietário-draw.
Observações
Sobrepor esta função membro e preencher a MEASUREITEMSTRUCT estrutura de dados apontada por lpMeasureItemStruct e retornar; isto informa o Windows das dimensões do controlo e permite que o Windows processe corretamente a interação do utilizador com o controlo.
Se for criada uma caixa de lista ou de combinação com o LBS_OWNERDRAWVARIABLE estilo ou CBS_OWNERDRAWVARIABLE , o framework chama esta função para o proprietário de cada item no controlo; caso contrário, esta função é chamada uma vez.
O Windows inicia a chamada para OnMeasureItem o proprietário das caixas combinadas e caixas de lista criadas com o OWNERDRAWFIXED estilo antes de enviar a WM_INITDIALOG mensagem. Como resultado, quando o proprietário recebe esta chamada, o Windows ainda não determinou a altura e largura da fonte usada no controlo; Chamadas de funções e cálculos que requerem estes valores devem ocorrer na função principal da aplicação ou biblioteca.
Se o item a ser medido for um CMenu, CListBox ou CComboBox objeto, então a MeasureItem função virtual da classe apropriada é chamada. Substitua a MeasureItem função membro da classe do controlo apropriada para calcular e definir o tamanho de cada item.
OnMeasureItemserá chamada apenas se a classe do controlo for criada em tempo de execução, ou se for criada com o LBS_OWNERDRAWVARIABLE estilo ou.CBS_OWNERDRAWVARIABLE Se o controlo for criado pelo editor de diálogo, OnMeasureItem não será chamado. Isto deve-se ao facto de a WM_MEASUREITEM mensagem ser enviada cedo no processo de criação do controlo. Se subclassificares usando DDX_Control, SubclassDlgItem, ou SubclassWindow, a subclasse geralmente ocorre após o processo de criação. Portanto, não há forma de gerir a WM_MEASUREITEM mensagem na função do OnChildNotify controlo, que é o mecanismo que a MFC utiliza para implementar ON_WM_MEASUREITEM_REFLECT.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMenuChar
O framework chama esta função membro quando o utilizador pressiona um carácter mnemónico do menu que não corresponde a nenhum dos mnemónicos predefinidos no menu atual.
afx_msg LRESULT OnMenuChar(
UINT nChar,
UINT nFlags,
CMenu* pMenu);
Parâmetros
nChar
Dependendo das definições de compilação, especifica o carácter ANSI ou Unicode que o utilizador pressionou.
nFlags
Contém a MF_POPUP flag se o menu for um menu pop-up. Contém a MF_SYSMENU bandeira se o menu for um menu Controlo.
pMenu
Contém um ponteiro para o .CMenu O ponteiro pode ser temporário e não deve ser guardado.
Valor de retorno
A palavra de ordem superior do valor de retorno deve conter um dos seguintes códigos de comando:
| Valor | Description |
|---|---|
| 0 | Diz ao Windows para descartar o carácter que o utilizador pressionou e cria um breve bip no altifalante do sistema. |
| 1 | Diz ao Windows para fechar o menu atual. |
| 2 | Informa o Windows que a palavra de ordem baixa do valor de retorno contém o número do item para um item específico. Este item é selecionado pelo Windows. |
A palavra de ordem baixa é ignorada se a palavra de ordem alta contiver 0 ou 1. As aplicações devem processar esta mensagem quando são usadas teclas aceleradoras (atalhos) para selecionar bitmaps colocados num menu.
Observações
É enviado para o CWnd dono do menu.
OnMenuChar também é chamada quando o utilizador pressiona ALT e qualquer outra tecla, mesmo que a tecla não corresponda a um carácter mnemónico. Neste caso, pMenu aponta para o menu pertencente ao CWnd, e nFlags é 0.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMenuDrag
A estrutura chama esta função membro do menu atual de arrastar e largar quando o utilizador começa a arrastar um item do menu.
afx_msg UINT OnMenuDrag(
UINT nPos,
CMenu* pMenu);
Parâmetros
nPos
[dentro] A posição do índice do item do menu quando a operação de arrastar começa.
pMenu
[dentro] Aponta para o CMenu objeto que contém o item do menu.
Valor de retorno
| Valor de retorno | Meaning |
|---|---|
MND_CONTINUE |
O menu deve permanecer ativo. Se o rato for libertado, deve ser ignorado. |
MND_ENDMENU |
O menu devia estar terminado. |
Observações
Este método recebe a WM_MENUDRAG notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMenuGetObject
A estrutura chama esta função membro do menu atual de arrastar e largar quando o cursor do rato entra num item do menu ou se move do centro do item para o topo ou base do item.
afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);
Parâmetros
pMenu
[dentro] Apontador para uma MENUGETOBJECTINFO estrutura que contém informação sobre o menu de arrastar e largar onde está o cursor do rato.
Valor de retorno
| Valor de retorno | Meaning |
|---|---|
MNGO_NOERROR |
Um ponteiro de interface que suporta operações de drop-and-drag é devolvido no pvObj membro da MENUGETOBJECTINFO estrutura. Atualmente, apenas a IDropTarget interface é suportada. |
MNGO_NOINTERFACE |
Não é suportada qualquer interface de largar e arrastar. |
Observações
Este método recebe a WM_MENUGETOBJECT notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMenuRButtonUp
A estrutura chama esta função membro quando o utilizador solta o botão direito do rato enquanto o cursor está num item do menu.
afx_msg void OnMenuRButtonUp(
UINT nPos,
CMenu* pMenu);
Parâmetros
nPos
[dentro] A posição do índice do item do menu quando o botão direito do rato era libertado.
pMenu
[dentro] Aponta para o CMenu objeto que contém o item do menu.
Observações
Este método recebe a WM_MENURBUTTONUP notificação, que é descrita no SDK do Windows. A WM_MENURBUTTONUP mensagem permite que uma aplicação forneça um menu sensível ao contexto para o item do menu especificado na mensagem.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMenuSelect
Se o CWnd objeto estiver associado a um menu, OnMenuSelect é chamado pela framework quando o utilizador seleciona um item do menu.
afx_msg void OnMenuSelect(
UINT nItemID,
UINT nFlags,
HMENU hSysMenu);
Parâmetros
nItemID
Identifica o item selecionado. Se o item selecionado for um item do menu, nItemID contém o ID do item do menu. Se o item selecionado contém um menu pop-up, nItemID contém o índice do menu pop-up e hSysMenu contém o handle do menu principal (clicado).
nFlags
Contém uma combinação das seguintes flags do menu:
MF_BITMAPItem é um bitmap.MF_CHECKEDO item está verificado.MF_DISABLEDItem desativado.MF_GRAYEDO item está escurecido.MF_MOUSESELECTO item foi selecionado com um rato.MF_OWNERDRAWO item é um item que o proprietário saca.MF_POPUPO item contém um menu pop-up.MF_SEPARATORItem é um separador menu-item.MF_SYSMENUO item está contido no menu Controlo.
hSysMenu
Se nFlags contém MF_SYSMENU, identifica o menu associado à mensagem. Se nFlags contém MF_POPUP, identifica a alavanca do menu principal. Se nFlags não contém nem MF_SYSMENU , MF_POPUPnão é utilizada.
Observações
Se nFlags contém 0xFFFF e hSysMenu contém 0, o Windows fechou o menu porque o utilizador pressionou a tecla ESC ou clicou fora do menu.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMouseActivate
A estrutura chama esta função membro quando o cursor está numa janela inativa e o utilizador pressiona um botão do rato.
afx_msg int OnMouseActivate(
CWnd* pDesktopWnd,
UINT nHitTest,
UINT message);
Parâmetros
pDesktopWnd
Especifica um ponteiro para a janela pai de nível superior da janela que está sendo ativada. O ponteiro pode ser temporário e não deve ser guardado.
nHitTest
Especifica o indicativo do teste de acesso . Um teste de acerto é um teste que determina a localização do cursor.
message
Especifica o número da mensagem do mouse.
Valor de retorno
Especifica se deve ativar e CWnd descartar o evento do rato. Deve ser um dos seguintes valores:
MA_ACTIVATEAtivarCWndo objeto.MA_NOACTIVATENão ativeCWndo objeto.MA_ACTIVATEANDEATAtivaCWndo objeto e descarta o evento do rato.MA_NOACTIVATEANDEATNão ativeCWndo objeto e descarte o evento do rato.
Observações
A implementação por defeito passa esta mensagem para a janela principal antes de qualquer processamento ocorrer. Se a janela pai devolver TRUE, o processamento é interrompido.
Para uma descrição dos indicativos individuais dos testes de ataque, veja a OnNcHitTest função membro
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
Example
// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
CWnd::OnMouseHover
O framework chama esta função membro quando o cursor paira sobre a área cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent.
afx_msg void OnMouseHover(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.
point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.
Observações
Este método recebe a WM_MOUSEHOVER notificação, que é descrita no SDK do Windows.
O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.
| Tecla Modificadora | Description |
|---|---|
MK_CONTROL |
A tecla CTRL é pressionada. |
MK_LBUTTON |
O botão esquerdo do rato é pressionado. |
MK_MBUTTON |
O botão do meio do rato é pressionado. |
MK_RBUTTON |
O botão direito do rato é pressionado. |
MK_SHIFT |
A tecla SHIFT é pressionada. |
MK_XBUTTON1 |
O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado. |
MK_XBUTTON2 |
O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado. |
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMouseHWheel
A estrutura chama este elemento quando a roda horizontal do rato está inclinada ou rodada.
afx_msg void OnMouseHWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parâmetros
nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada. Para uma lista de flags, consulte o subtítulo "Parâmetros da Mensagem" em Sobre a Entrada do Rato.
zDelta
[dentro] Indica a distância que a roda é rodada, expressa em múltiplos ou divisões de WHEEL_DELTA, que é 120. Um valor positivo indica que a roda foi rodada para a direita; um valor negativo indica que a roda foi rodada para a esquerda.
pt
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.
Observações
Este método recebe a WM_MOUSEHWHEEL mensagem de notificação, que é descrita no SDK do Windows. Esta mensagem é enviada para a janela que tem o foco quando a roda horizontal do rato é inclinada ou rodada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMouseLeave
A estrutura chama esta função membro quando o cursor sai da área cliente da janela especificada numa chamada anterior para TrackMouseEvent.
afx_msg void OnMouseLeave();
Observações
Este método recebe a WM_MOUSELEAVE notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMouseMove
A estrutura chama esta função membro quando o cursor do rato se move.
afx_msg void OnMouseMove(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_LBUTTONDefine se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Se o rato não for capturado, a WM_MOUSEMOVE mensagem é recebida pelo CWnd objeto por baixo do cursor do rato; caso contrário, a mensagem vai para a janela que capturou o rato.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMouseWheel
A estrutura chama a este elemento função à medida que o utilizador roda a roda do rato e encontra o próximo entalhe da roda.
afx_msg BOOL OnMouseWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefine se a tecla CTRL estiver desativada.MK_LBUTTONDefine se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver baixa.
zDelta
Indica distância rodada. O zDelta valor é expresso em múltiplos ou divisões de WHEEL_DELTA, que é 120. Um valor inferior a zero indica a rotação para trás (em direção ao utilizador), enquanto um valor superior a zero indica a rotação para a frente (afastando-se do utilizador). O utilizador pode reverter esta resposta alterando a definição do volante no software do rato. Consulte as Observações para mais informações sobre este parâmetro.
pt
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Valor de retorno
Diferente de zero se a rolagem da roda do rato estiver ativada; caso contrário, 0.
Observações
A menos que seja sobreposto, OnMouseWheel chama o padrão de WM_MOUSEWHEEL. O Windows encaminha automaticamente a mensagem para a janela de controlo ou filha que tem o foco. A função DefWindowProc Win32 propaga a mensagem pela cadeia de pais até à janela que a processa.
O zDelta parâmetro é um múltiplo de WHEEL_DELTA, que está definido em 120. Este valor é o limiar para uma ação ser realizada, e uma dessas ações (por exemplo, avançar um ental) deve ocorrer para cada delta.
WHEEL_DELTA foi definido para 120 para permitir rodas de resolução mais fina, como uma roda de rotação livre sem entalhes. Uma roda de resolução mais fina envia mais mensagens por rotação, mas cada mensagem tem um valor delta menor. Para usar tal roda, deve adicionar os valores de zDelta entrada até WHEEL_DELTA ser atingido (para obter a mesma resposta para uma dada rotação delta), ou deslocar linhas parciais em resposta às mensagens mais frequentes. Também podes escolher a granularidade do pergaminho e acumular deltas até WHEEL_DELTA atingir.
Substitua esta função de membro para fornecer o seu próprio comportamento de scroll na roda do rato.
Observação
OnMouseWheel gere mensagens para Windows NT 4.0 e versões posteriores. Para o tratamento de mensagens do Windows 95/98 ou Windows NT 3.51, use OnRegisteredMouseWheel.
CWnd::OnMove
O framework chama esta função membro depois de o CWnd objeto ter sido movido.
afx_msg void OnMove(
int x,
int y);
Parâmetros
x
Especifica a nova localização das coordenadas x no canto superior esquerdo da área do cliente. Esta nova localização é dada em coordenadas de ecrã para janelas sobrepostas e pop-up, e coordenadas pai-cliente para janelas filhas.
y
Especifica a nova localização da coordenada y no canto superior esquerdo da área do cliente. Esta nova localização é dada em coordenadas de ecrã para janelas sobrepostas e pop-up, e coordenadas pai-cliente para janelas filhas.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnMoving
O framework chama esta função membro enquanto o utilizador está a mover um CWnd objeto.
afx_msg void OnMoving(
UINT nSide,
LPRECT lpRect);
Parâmetros
nSide
A borda da janela a ser movida.
lpRect
Endereço da CRectouRECT estrutura que conterá as coordenadas do item.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcActivate
O framework chama a esta função membro quando a área não-cliente precisa de ser alterada para indicar um estado ativo ou inativo.
afx_msg BOOL OnNcActivate(BOOL bActive);
Parâmetros
bActive
Especifica quando uma barra de legenda ou ícone precisa de ser alterado para indicar um estado ativo ou inativo. O bActive parâmetro é TRUE se se pretende desenhar uma legenda ativa ou um ícone. É FALSE para uma legenda ou ícone inativo.
Valor de retorno
Diferente de zero se o Windows deve avançar com o processamento por defeito; 0 para evitar que a barra de legendas ou o ícone sejam desativados.
Observações
A implementação padrão desenha a barra de título e o texto da barra de título nas suas cores ativas se bActive for TRUE e nas suas cores inativas se bActive for FALSE.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcCalcSize
A estrutura chama esta função membro quando é necessário calcular o tamanho e a posição da área do cliente.
afx_msg void OnNcCalcSize(
BOOL bCalcValidRects,
NCCALCSIZE_PARAMS* lpncsp);
Parâmetros
bCalcValidRects
Especifica se a aplicação deve especificar qual a parte da área do cliente que contém informação válida. O Windows irá copiar a informação válida para a área especificada dentro da nova área do cliente. Se este parâmetro for VERDADEIRO, a aplicação deve especificar qual a parte da área do cliente válida.
lpncsp
Aponta para uma NCCALCSIZE_PARAMS estrutura de dados que contém informação que uma aplicação pode usar para calcular o novo tamanho e posição do CWnd retângulo (incluindo área do cliente, bordas, legendas, barras de deslocamento, e assim por diante).
Observações
Ao processar esta mensagem, uma aplicação pode controlar o conteúdo da área cliente da janela quando o tamanho ou a posição da janela muda.
Independentemente do valor de bCalcValidRects, o primeiro retângulo no array especificado pelo rgrc membro estrutural da NCCALCSIZE_PARAMS estrutura contém as coordenadas da janela. Para uma janela filha, as coordenadas são relativas à área cliente da janela principal. Para janelas de nível superior, as coordenadas são coordenadas de ecrã. Uma aplicação deve modificar o rgrc[0] retângulo para refletir o tamanho e a posição da área do cliente.
Os rgrc[1] retângulos e rgrc[2] são válidos apenas se bCalcValidRects for TRUE. Neste caso, o rgrc[1] retângulo contém as coordenadas da janela antes de esta ser movida ou redimensionada. O rgrc[2] retângulo contém as coordenadas da área cliente da janela antes de esta ser movida. Todas as coordenadas são relativas à janela ou ecrã principal.
A implementação padrão calcula o tamanho da área do cliente com base nas características da janela (presença de barras de deslocamento, menu, etc.) e coloca o resultado em lpncsp.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcCreate
O framework chama esta função membro antes da WM_CREATE mensagem quando o CWnd objeto é criado pela primeira vez.
afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
Parâmetros
lpCreateStruct
Aponta para a CREATESTRUCT estrutura de dados para CWnd.
Valor de retorno
Diferente de zero se a área não-cliente for criada. É 0 se ocorrer um erro; A Create função irá regressar failure neste caso.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcDestroy
Chamada pelo framework quando a área não-cliente está a ser destruída, e é a última função membro chamada quando a janela do Windows é destruída.
afx_msg void OnNcDestroy();
Observações
A implementação padrão realiza alguma limpeza e depois chama a função PostNcDestroyvirtual membro .
Override PostNcDestroy se quiseres fazer a tua própria limpeza, como uma delete this operação. Se sobrescreveres OnNcDestroy, tens de chamar OnNcDestroy a tua classe base para garantir que qualquer memória internamente alocada para a janela é libertada.
CWnd::OnNcHitTest
O framework chama esta função membro para o CWnd objeto que contém o cursor (ou o CWnd objeto que usou a SetCapture função membro para captar a entrada do rato) sempre que o rato é movido.
afx_msg LRESULT OnNcHitTest(CPoint point);
Parâmetros
point
Contém as coordenadas x e y do cursor. Estas coordenadas são sempre coordenadas de ecrã.
Valor de retorno
Um dos valores enumerados do teste de acerto do rato. Veja WM_NCHITTEST a lista de valores.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcLButtonDblClk
A estrutura chama esta função membro quando o utilizador faz duplo clique no botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
afx_msg void OnNcLButtonDblClk(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor. Veja WM_NCHITTEST a lista de valores.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Se for o caso, a WM_SYSCOMMAND mensagem é enviada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcLButtonDown
A estrutura chama esta função membro quando o utilizador pressiona o botão esquerdo do rato enquanto o cursor está dentro de uma área não cliente do CWnd objeto.
afx_msg void OnNcLButtonDown(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor. Veja WM_NCHITTEST a lista de valores.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Se apropriado, o WM_SYSCOMMAND é enviado.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcLButtonUp
A estrutura chama esta função membro quando o utilizador solta o botão esquerdo do rato enquanto o cursor está numa área não cliente.
afx_msg void OnNcLButtonUp(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor. Veja WM_NCHITTEST a lista de valores.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Se for apropriado, WM_SYSCOMMAND é enviado.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcMButtonDblClk
A estrutura chama esta função membro quando o utilizador faz duplo clique no botão do meio do rato enquanto o cursor está numa área não cliente.
afx_msg void OnNcMButtonDblClk(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcMButtonDown
O framework chama esta função membro quando o utilizador pressiona o botão do meio do rato enquanto o cursor está dentro de uma área não cliente.
afx_msg void OnNcMButtonDown(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcMButtonUp
O framework chama esta função membro quando o utilizador solta o botão do meio do rato enquanto o cursor está numa área não cliente.
afx_msg void OnNcMButtonUp(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcMouseHover
O framework chama esta função membro quando o cursor paira sobre a área não cliente da janela durante o período especificado numa chamada anterior para TrackMouseEvent.
afx_msg void OnNcMouseHover(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.
point
[dentro] Um CPoint objeto que especifica as coordenadas x e y do cursor em relação ao canto superior esquerdo do ecrã.
Observações
Este método recebe a WM_NCMOUSEHOVER notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcMouseLeave
O framework chama esta função membro quando o cursor sai da área não cliente da janela especificada numa chamada anterior para TrackMouseEvent.
afx_msg void OnNcMouseLeave();
Observações
Este método recebe a WM_NCMOUSELEAVE notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcMouseMove
O framework chama esta função membro quando o cursor é movido dentro de uma área não cliente.
afx_msg void OnNcMouseMove(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Se for o caso, a WM_SYSCOMMAND mensagem é enviada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcPaint
A estrutura chama a esta função membro quando a área não-cliente precisa de ser pintada.
afx_msg void OnNcPaint();
Observações
A implementação padrão pinta a moldura da janela.
Uma aplicação pode sobrescrever esta chamada e pintar a sua própria moldura personalizada da janela. A região de recorte é sempre retangular, mesmo que a forma do enquadramento seja alterada.
CWnd::OnNcRButtonDblClk
A estrutura chama esta função membro quando o utilizador faz duplo clique no botão direito do rato enquanto o cursor está dentro de uma área não cliente de CWnd.
afx_msg void OnNcRButtonDblClk(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcRButtonDown
A estrutura chama esta função membro quando o utilizador pressiona o botão direito do rato enquanto o cursor está dentro de uma área não cliente.
afx_msg void OnNcRButtonDown(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcRButtonUp
A estrutura chama esta função membro quando o utilizador solta o botão direito do rato enquanto o cursor está numa área não cliente.
afx_msg void OnNcRButtonUp(
UINT nHitTest,
CPoint point);
Parâmetros
nHitTest
Especifica o código do teste de acerto. Um teste de acerto é um teste que determina a localização do cursor.
point
Especifica um CPoint objeto que contém as coordenadas x e y do ecrã da posição do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo do ecrã.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcRenderingChanged
A estrutura chama este membro quando a política de renderização para a área não cliente mudou.
afx_msg void OnNcRenderingChanged(BOOL bIsRendering);
Parâmetros
bIsRendering
[dentro] TRUE se o Gestor de Janelas de Ambiente de Trabalho (DWM) estiver ativado para a área não cliente da janela; FALSE se a renderização estiver desativada.
Observações
Este método recebe a WM_DWMNCRENDERINGCHANGED notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcXButtonDblClk
A estrutura chama esta função membro quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área não cliente de uma janela.
void OnNcXButtonDblClk(
short nHitTest,
UINT nButton,
CPoint point);
Parâmetros
nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.
nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse for duplamente clicado, ou XBUTTON2 se o segundo botão X estiver duplamente clicado.
point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.
Observações
Este método recebe a WM_XBUTTONDBLCLK notificação, que é descrita no SDK do Windows. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcXButtonDown
A estrutura chama esta função membro quando o utilizador pressiona XBUTTON1 o XBUTTON2 rato enquanto o cursor está na área não cliente de uma janela.
afx_msg void OnNcXButtonDown(
short nHitTest,
UINT nButton,
CPoint point);
Parâmetros
nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.
nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do rato é pressionado, ou XBUTTON2 se o segundo botão X é pressionado.
point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo do ecrã.
Observações
Este método recebe a WM_NCXBUTTONDOWN notificação, que é descrita no SDK do Windows. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNcXButtonUp
A estrutura chama esta função membro quando o utilizador solta XBUTTON1 o XBUTTON2 rato enquanto o cursor está na área não cliente de uma janela.
afx_msg void OnNcXButtonUp(
short nHitTest,
UINT nButton,
CPoint point);
Parâmetros
nHitTest
[dentro] O valor do teste de acerto devolvido pela CWnd::DefWindowProc função como resultado do processamento da WM_NCHITTEST mensagem.
nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do rato é libertado, ou XBUTTON2 se o segundo botão X é libertado.
point
[dentro] Um CPoint objeto que especifica as coordenadas x e y do cursor em relação ao canto superior esquerdo do ecrã.
Observações
Este método recebe a WM_NCXBUTTONUP notificação, que é descrita no SDK do Windows. Esta mensagem é publicada na janela que contém o cursor. Se uma janela capturou o rato, esta mensagem não é publicada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNextMenu
A estrutura chama esta função membro quando a seta direita ou esquerda é usada para alternar entre a barra do menu e o menu do sistema.
afx_msg void OnNextMenu(
UINT nKey,
LPMDINEXTMENU lpMdiNextMenu);
Parâmetros
nKey
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada. Para uma lista de flags, consulte o subtítulo "Parâmetros da Mensagem" em Sobre a Entrada do Rato.
lpMdiNextMenu
[dentro] Apontar para uma MDINEXTMENU estrutura que contém informação sobre o menu a ativar.
Observações
Este método recebe a WM_UNINITMENUPOPUP notificação, que é descrita no SDK do Windows. Em resposta a esta mensagem, a sua aplicação pode definir o hmenuNext membro da MDINEXTMENU estrutura para especificar o menu para o qual mudar, e o hwndNext membro para especificar a janela para receber mensagens de notificação no menu.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnNotify
A estrutura chama a esta função membro para informar a janela pai de um controlo de que ocorreu um evento no controlo ou que este requer algum tipo de informação.
virtual BOOL OnNotify(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parâmetros
wParam
Identifica o controlo que envia a mensagem se a mensagem for de um controlo. Caso contrário, wParam é 0.
lParam
Apontador para uma estrutura de mensagem de notificação (NMHDR) que contém o código de notificação e informações adicionais. Para algumas mensagens de notificação, este parâmetro aponta para uma estrutura maior que tem a NMHDR estrutura como seu primeiro membro.
pResult
Apontador para uma LRESULT variável onde armazenar o código do resultado se a mensagem for tratada.
Valor de retorno
Uma aplicação devolve uma resposta diferente de zero se processar esta mensagem; caso contrário, 0.
Observações
OnNotify processa o mapa de mensagens para notificação de controlo.
Substitua esta função membro na sua classe derivada para tratar da WM_NOTIFY mensagem. Um override não processará o mapa da mensagem a menos que a classe OnNotify base seja chamada.
Para mais informações sobre a WM_NOTIFY mensagem, consulte a Nota Técnica 61 (TN061) ON_NOTIFY e WM_NOTIFY as mensagens. Também poderá interessar-se pelos tópicos relacionados descritos em Tópicos de Controlo e TN062, Reflexão de Mensagens para Controlos do Windows.
CWnd::OnNotifyFormat
A estrutura chama esta função membro para determinar se a janela atual aceita estruturas ANSI ou Unicode na WM_NOTIFY mensagem de notificação.
afx_msg UINT OnNotifyFormat(
CWnd* pWnd,
UINT nCommand);
Parâmetros
pWnd
[dentro] Um ponteiro para um CWnd objeto que representa a janela que envia a WM_NOTIFY mensagem. Este parâmetro é o ponteiro para um controlo se o nCommand parâmetro for NF_QUERY, ou o ponteiro para a janela pai de um controlo se nCommand for NF_REQUERY.
nCommand
[dentro] Um valor de comando que especializa a WM_NOTIFY mensagem. Os valores possíveis são:
-
NF_QUERY- A mensagem é uma consulta para determinar se estruturas ANSI ou Unicode devem ser usadas nasWM_NOTIFYmensagens. Esta mensagem é enviada de um controlo para a sua janela principal durante a criação de um controlo, e em resposta àNF_REQUERYforma dessa mensagem. -
NF_REQUERY- A mensagem é um pedido para que um controlo envie aNF_QUERYforma desta mensagem para a sua janela principal. Este pedido é enviado a partir da janela pai e pede ao controlo que volte a interrogar o pai sobre o tipo de estrutura a usar nasWM_NOTIFYmensagens. Se onCommandparâmetro forNF_REQUERY, o valor de retorno é o resultado da operação de reconsulta.
Valor de retorno
| Valor de retorno | Meaning |
|---|---|
NFR_ANSI |
As estruturas ANSI devem ser usadas nas WM_NOTIFY mensagens enviadas pelo controlo. |
NFR_UNICODE |
As estruturas Unicode devem ser usadas nas WM_NOTIFY mensagens enviadas pelo controlo. |
| 0 | Ocorreu um erro. |
Observações
Este método recebe a WM_NOTIFYFORMAT notificação, que é descrita no SDK do Windows.
WM_NOTIFY As mensagens são enviadas de um controlo comum para a sua janela pai, e da janela principal para o controlo comum.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnPaint
O framework chama esta função membro quando o Windows ou uma aplicação faz um pedido para repintar uma parte da janela de uma aplicação.
afx_msg void OnPaint();
Observações
A WM_PAINT mensagem é enviada quando a UpdateWindow função membro ou RedrawWindow é chamada.
Uma janela pode receber mensagens de pintura interna como resultado de chamar a RedrawWindow função membro com o RDW_INTERNALPAINT flag definido. Neste caso, a janela pode não ter uma região de atualização. Uma aplicação deve chamar a GetUpdateRect função membro para determinar se a janela tem uma região de atualização. Se GetUpdateRect devolver 0, a aplicação não deve chamar as BeginPaint funções membro and EndPaint .
É responsabilidade da aplicação verificar qualquer repintura ou atualização interna necessária, analisando as suas estruturas de dados internas para cada WM_PAINT mensagem, pois uma WM_PAINT mensagem pode ter sido causada tanto por uma área inválida como por uma chamada à RedrawWindow função membro com a RDW_INTERNALPAINT bandeira definida.
Uma mensagem interna WM_PAINT é enviada apenas uma vez pelo Windows. Depois de uma mensagem interna WM_PAINT ser enviada para uma janela pela UpdateWindow função membro, nenhuma outra WM_PAINT mensagem será enviada ou publicada até que a janela seja invalidada ou até que a RedrawWindow função membro seja chamada novamente com a RDW_INTERNALPAINT flag definida.
Para informações sobre como renderizar uma imagem em aplicações de documentos/visualizações, veja CView::OnDraw.
Para mais informações sobre a utilização WM_Paintde , veja os seguintes tópicos no SDK do Windows:
CWnd::OnPaintClipboard
A função de membro do OnPaintClipboard proprietário da Prancheta é chamada por um visualizador da Prancheta quando o proprietário da Prancheta colocou dados na Prancheta no CF_OWNERDISPLAY formato e a área de cliente do visualizador da Prancheta precisa de ser repintada.
afx_msg void OnPaintClipboard(
CWnd* pClipAppWnd,
HGLOBAL hPaintStruct);
Parâmetros
pClipAppWnd
Especifica um ponteiro para a janela de aplicação Clipboard. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
hPaintStruct
Identifica uma PAINTSTRUCT estrutura de dados que define que parte da área do cliente deve pintar.
Observações
Para determinar se toda a área do cliente ou apenas uma parte dela precisa de ser repintada, o proprietário da prancheta deve comparar as dimensões da área de desenho dada no rcpaint elemento da PAINTSTRUCT estrutura com as dimensões indicadas na OnSizeClipboard chamada mais recente da função do membro.
OnPaintClipboard deve usar a GlobalLock função Windows para bloquear a memória que contém a PAINTSTRUCT estrutura de dados e desbloquear essa memória com a GlobalUnlock função Windows antes de esta sair.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnPaletteChanged
A estrutura chama esta função membro para todas as janelas de topo depois de a janela com foco de entrada ter alcançado a sua paleta lógica, alterando assim a paleta do sistema.
afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
Parâmetros
pFocusWnd
Especifica um ponteiro para a janela que causou a alteração da paleta do sistema. O ponteiro pode ser temporário e não deve ser guardado.
Observações
Esta chamada permite que uma janela sem o foco de entrada, que utiliza uma paleta de cores, realize as suas paletas lógicas e atualize a sua área cliente.
A OnPaletteChanged função membro é chamada para todas as janelas de topo e sobrepostas, incluindo aquela que alterou a paleta do sistema e causou o envio da WM_PALETTECHANGED mensagem. Se qualquer janela filho usar uma paleta de cores, esta mensagem deve ser transmitida para ela.
Para evitar um loop infinito, a janela não deve realizar a sua paleta a menos que determine que pFocusWnd não contém um ponteiro para si própria.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnPaletteIsChanging
O framework chama esta função membro para informar as aplicações de que uma aplicação vai realizar a sua paleta lógica.
afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);
Parâmetros
pRealizeWnd
Especifica a janela que está prestes a concretizar a sua paleta lógica.
Observações
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnParentNotify
A função membro de OnParentNotify um pai é chamada pelo framework quando a sua janela filha é criada ou destruída, ou quando o utilizador clica num botão do rato enquanto o cursor está sobre a janela filha.
afx_msg void OnParentNotify(
UINT message,
LPARAM lParam);
Parâmetros
message
Especifica o evento para o qual o pai está a ser notificado e o identificador da janela filha. O evento é a palavra de ordem baixa de message. Se o evento for WM_CREATE ou WM_DESTROY, a palavra de ordem superior de message é o identificador da janela filha; caso contrário, a palavra de ordem superior é indefinida. O evento (palavra de ordem baixa de message) pode ter qualquer um destes valores:
WM_CREATEA janela criança está a ser criada.WM_DESTROYA janela da criança está a ser destruída.WM_LBUTTONDOWNO utilizador colocou o cursor do rato sobre a janela filho e clicou no botão esquerdo do rato.WM_MBUTTONDOWNO utilizador colocou o cursor do rato sobre a janela filho e clicou no botão do meio.WM_RBUTTONDOWNO utilizador colocou o cursor do rato sobre a janela filho e clicou no botão direito do rato.
lParam
Se o evento (palavra de ordem baixa) de message for WM_CREATE ou WM_DESTROY, lParam especificar o handle da janela filha; caso contrário lParam contém as coordenadas x e y do cursor. A coordenada x está na palavra de ordem baixa e a coordenada y na palavra de ordem alta.
Observações
Quando a janela filha está a ser criada, o sistema chama OnParentNotify pouco antes de a Create função membro que cria a janela regressar. Quando a janela filha está a ser destruída, o sistema chama OnParentNotify antes de qualquer processamento para destruir a janela.
OnParentNotify é chamada para todas as janelas ancestrais da janela filha, incluindo a janela do nível superior.
Todas as janelas filhas, exceto aquelas que têm o WS_EX_NOPARENTNOTIFY estilo, enviam esta mensagem para as suas janelas mães. Por defeito, as janelas filhos numa caixa de diálogo têm o WS_EX_NOPARENTNOTIFY estilo, a menos que a janela filha tenha sido criada sem esse estilo ao chamar a CreateEx função membro.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnPowerBroadcast
A estrutura chama a este elemento função quando ocorre um evento de gestão de energia.
afx_msg UINT OnPowerBroadcast(
UINT nPowerEvent,
UINT nEventData);
Parâmetros
nPowerEvent
[dentro] O evento de gestão de energia.
nEventData
[dentro] Dados específicos de eventos.
Valor de retorno
Se o evento for um pedido, volte TRUE para conceder o pedido ou BROADCAST_QUERY_DENY para negar o pedido.
Observações
Este método recebe a WM_POWERBROADCAST mensagem, que é descrita no SDK do Windows.
O nPowerEvent parâmetro especifica eventos como a bateria está baixa, o estado da energia mudou, a permissão para suspender a operação é solicitada ou negada, uma operação está a retomar automaticamente após um evento, o sistema está a suspender a operação ou uma operação está a retomar após a suspensão. O nEventData parâmetro normalmente não é utilizado. Para mais informações, consulte os wParam parâmetros e lParam da WM_POWERBROADCAST mensagem.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnQueryDragIcon
A estrutura chama esta função membro por uma janela minimizada (icónica) que não tem um ícone definido para a sua classe.
afx_msg HCURSOR OnQueryDragIcon();
Valor de retorno
Um valor de palavra dupla que contém um cursor ou alça de ícone na palavra de ordem baixa. O cursor ou ícone deve ser compatível com a resolução do driver do ecrã. Se a aplicação devolver NULL, o sistema mostra o cursor padrão. O valor padrão de retorno é NULL.
Observações
O sistema faz esta chamada para obter o cursor a ser exibido enquanto o utilizador arrasta a janela minimizada. Se uma aplicação devolver o nome de um ícone ou cursor, o sistema converte-o para preto e branco. Se uma aplicação devolver um handle, o handle deve identificar um cursor ou ícone monocromático compatível com a resolução do driver de visualização. A aplicação pode chamar as CWinApp::LoadCursor funções membros ou CWinApp::LoadIcon para carregar um cursor ou ícone a partir dos recursos no seu ficheiro executável e obter este handle.
CWnd::OnQueryEndSession
O framework chama esta função membro quando o utilizador escolhe terminar a sessão do Windows ou quando uma aplicação chama a ExitWindows função do Windows.
afx_msg BOOL OnQueryEndSession();
Valor de retorno
Diferente de zero se uma aplicação puder ser convenientemente desligada; caso contrário, 0.
Observações
Se alguma aplicação devolver 0, a sessão do Windows não termina. O Windows deixa de chamar OnQueryEndSession assim que uma aplicação devolve 0 e envia a WM_ENDSESSION mensagem com um valor de parâmetro de FALSE para qualquer aplicação que já tenha devolvedo não zero.
CWnd::OnQueryNewPalette
A estrutura chama a esta função membro quando o CWnd objeto está prestes a receber o foco de entrada, dando ao CWnd objeto a oportunidade de realizar a sua paleta lógica quando recebe o foco.
afx_msg BOOL OnQueryNewPalette();
Valor de retorno
Não nulo se o CWnd realizar a sua paleta lógica; caso contrário, 0.
CWnd::OnQueryOpen
A estrutura chama esta função membro quando o CWnd objeto é minimizado e o utilizador solicita que este CWnd seja restaurado ao seu tamanho e posição pré-minimizados.
afx_msg BOOL OnQueryOpen();
Valor de retorno
Não zero se o ícone puder ser aberto, ou 0 para impedir que o ícone seja aberto.
Observações
Enquanto estiver em OnQueryOpen, CWnd não deve realizar nenhuma ação que cause uma ativação ou mudança de foco (por exemplo, criar uma caixa de diálogo).
CWnd::OnQueryUIState
Chamado para recuperar o estado da interface de utilizador (UI) de uma janela.
afx_msg UINT OnQueryUIState();
Valor de retorno
O valor de retorno é NULL se os indicadores de foco e os aceleradores do teclado estiverem visíveis. Caso contrário, o valor de retorno pode ser um ou mais dos seguintes valores:
UISF_HIDEFOCUSOs indicadores de foco estão escondidos.UISF_HIDEACCELAceleradores de teclado estão escondidos.UISF_ACTIVEWindows XP: Um controlo deve ser desenhado no estilo usado para controlos ativos.
Observações
Esta função membro emula a funcionalidade da WM_QUERYUISTATE mensagem, conforme descrito no SDK do Windows.
CWnd::OnRawInput
A estrutura chama esta função membro quando a janela atual recebe entrada bruta.
afx_msg void OnRawInput(
UINT nInputCode,
HRAWINPUT hRawInput);
Parâmetros
nInputCode
[dentro] Código de entrada que indica se a entrada ocorreu enquanto a aplicação estava em primeiro plano ou não. Em qualquer dos casos, a aplicação deve chamar CWnd::DefWindowProc para que o sistema possa realizar a limpeza. Este parâmetro pode ser um dos seguintes valores:
-
RIM_INPUT- A entrada ocorreu enquanto a aplicação estava em primeiro plano. -
RIM_INPUTSINK- A entrada ocorreu enquanto a aplicação não estava em primeiro plano.
hRawInput
[dentro] Handle para uma RAWINPUT estrutura que contenha a entrada bruta do dispositivo.
Observações
Este método recebe a WM_INPUT notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnRButtonDblClk
A estrutura chama esta função membro quando o utilizador faz duplo clique no botão direito do rato.
afx_msg void OnRButtonDblClk(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefinir se a tecla CTRL estiver desativada.MK_LBUTTONDefinir se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver pressionada.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Só janelas com o estilo CS_DBLCLKS WNDCLASS podem receber OnRButtonDblClk chamadas. Este é o padrão para janelas dentro da Microsoft Foundation Class Library. O Windows chama OnRButtonDblClk quando o utilizador pressiona, larga e depois volta a pressionar o botão direito do rato dentro do limite de tempo de duplo clique do sistema. Fazer duplo clique no botão direito do rato gera, na verdade, quatro eventos: WM_RBUTTONDOWN e WM_RBUTTONUP mensagens, a OnRButtonDblClk chamada e outra mensagem WM_RBUTTONUP quando o botão é libertado.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnRButtonDown
O framework chama esta função membro quando o utilizador pressiona o botão direito do rato.
afx_msg void OnRButtonDown(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefinir se a tecla CTRL estiver desativada.MK_LBUTTONDefinir se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_RBUTTONDefine se o botão direito do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver pressionada.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnRButtonUp
A estrutura chama esta função membro quando o utilizador solta o botão direito do rato.
afx_msg void OnRButtonUp(
UINT nFlags,
CPoint point);
Parâmetros
nFlags
Indica se várias chaves virtuais estão inativas. Este parâmetro pode ser qualquer combinação dos seguintes valores:
MK_CONTROLDefinir se a tecla CTRL estiver desativada.MK_LBUTTONDefinir se o botão esquerdo do rato estiver pressionado.MK_MBUTTONDefine se o botão do meio do rato estiver pressionado.MK_SHIFTDefinir se a tecla SHIFT estiver pressionada.
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela.
Observações
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnRegisteredMouseWheel
A estrutura chama a este elemento função à medida que o utilizador roda a roda do rato e encontra o próximo entalhe da roda.
afx_msg LRESULT OnRegisteredMouseWheel(
WPARAM wParam,
LPARAM lParam);
Parâmetros
wParam
Posição horizontal do apontador.
lParam
Posição vertical do apontador.
Valor de retorno
Insignificante neste momento. Sempre zero.
Observações
A menos que seja sobreposto, OnRegisteredMouseWheel encaminha a mensagem para a janela apropriada (a janela pai com foco) e chama o WM_MOUSEWHEEL handler dessa janela.
Substitua esta função membro para fornecer o seu próprio encaminhamento de mensagens ou para alterar o comportamento de scroll da roda do rato.
Observação
OnRegisteredMouseWheel gere mensagens para Windows 95/98 e Windows NT 3.51. Para o tratamento de mensagens do Windows NT 4.0, use OnMouseWheel.
CWnd::OnRenderAllFormats
A função membro do OnRenderAllFormats proprietário do Clipboard é chamada pelo framework quando a aplicação proprietária está a ser destruída.
afx_msg void OnRenderAllFormats();
Observações
O proprietário da Área de Transferência deve renderizar os dados em todos os formatos que é capaz de gerar e passar um handle de dados para cada formato para a Área de Transferência chamando a SetClipboardData função Windows. Isto garante que a Área de Transferência contém dados válidos, mesmo que a aplicação que os renderizou tenha sido destruída. A aplicação deve chamar a OpenClipboard função membro antes de chamar a SetClipboardData função Windows e chamar a CloseClipboard função Windows depois.
CWnd::OnRenderFormat
A função membro do OnRenderFormat proprietário do Clipboard é chamada pelo framework quando um determinado formato com renderização retardada precisa de ser renderizado.
afx_msg void OnRenderFormat(UINT nFormat);
Parâmetros
nFormat
Especifica o formato da Área de Transferências.
Observações
O recetor deve renderizar os dados nesse formato e passá-los para a Área de Transferência chamando a SetClipboardData função Windows.
Não chame a OpenClipboard função membro nem a CloseClipboard função Windows a partir de dentro OnRenderFormatde .
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSessionChange
O framework chama esta função membro para notificar uma aplicação de uma alteração no estado da sessão.
afx_msg void OnSessionChange(
UINT nSessionState,
UINT nId);
Parâmetros
nSessionState
[dentro] Um código de estado descreve a alteração do estado da sessão.
nId
[dentro] Um identificador de sessão.
Observações
Este método recebe a WM_WTSSESSION_CHANGE notificação, que é descrita no SDK do Windows.
O nSessionState parâmetro especifica que uma sessão está ligada ou desligada da consola ou de um terminal remoto, que um utilizador está ligado ou desligado, que uma sessão está bloqueada ou desbloqueada, ou que uma sessão mudou para estado controlado remotamente. Para mais informações, consulte o wParam parâmetro da WM_WTSSESSION_CHANGE mensagem.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSetCursor
O framework chama esta função membro se a entrada do rato não for capturada e o rato causar movimento do cursor dentro do CWnd objeto.
afx_msg BOOL OnSetCursor(
CWnd* pWnd,
UINT nHitTest,
UINT message);
Parâmetros
pWnd
Especifica um ponteiro para a janela que contém o cursor. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
nHitTest
Especifica o indicativo do teste de acesso . O teste de acerto determina a localização do cursor.
message
Especifica o número da mensagem do mouse.
Valor de retorno
Não zero para parar o processamento, ou 0 para continuar.
Observações
A implementação padrão chama as janelas OnSetCursor pais antes do processamento. Se a janela pai devolver TRUE, o processamento adicional é interrompido. Chamar a janela pai dá-lhe controlo sobre a definição do cursor numa janela filha.
A implementação padrão define o cursor para uma seta se não estiver na área do cliente ou para o cursor de classe registada se estiver.
Se nHitTest for HTERROR e message for uma mensagem de botão para baixo do rato, a MessageBeep função membro é chamada.
O parâmetro da mensagem é 0 ao CWnd entrar no modo menu.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSetFocus
A estrutura chama esta função membro após obter o foco de entrada.
afx_msg void OnSetFocus(CWnd* pOldWnd);
Parâmetros
pOldWnd
Contém o CWnd objeto que perde o foco de entrada (pode ser NULL). O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
Para mostrar um caret, CWnd deve chamar as funções caret apropriadas neste ponto.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSettingChange
O framework exige OnSettingChange todas as janelas de topo quando a função SystemParametersInfo do Win32 altera uma configuração a nível do sistema.
afx_msg void OnSettingChange(
UINT uFlags,
LPCTSTR lpszSection);
Parâmetros
uFlags
Quando o sistema envia a mensagem como resultado de uma SystemParametersInfo chamada, este parâmetro é uma bandeira que indica o parâmetro do sistema que foi alterado. Para uma lista de valores, veja SystemParametersInfo no SDK do Windows. Quando uma aplicação envia a mensagem, este parâmetro deve ser 0.
lpszSection
Aponta para uma cadeia que especifica o nome da secção que mudou. (A corda não inclui os colchetes quadrados que envolvem o nome da secção.)
Observações
Uma aplicação deve enviar a mensagem para todas as janelas de topo quando fizer alterações nos parâmetros do sistema, e o Windows enviará a mensagem se o utilizador alterar as definições através do Painel de Controlo.
A ON_WM_SETTINGCHANGE mensagem é semelhante à ON_WM_WININICHANGE mensagem, com a seguinte diferença:
Use
ON_WM_SETTINGCHANGEquando estiver a correr Windows NT 4.0 ou mais recente, ou sob Windows 95/98.Usar
ON_WININICHANGEao correr Windows NT 3.51 ou mais antigo. Esta mensagem está agora obsoleta.
Deves ter apenas uma destas macros no teu mapa de mensagens. Para escrever um programa que funcione tanto para Windows 95/98 como para Windows NT 4.0, escreva um handler para ON_WM_SETTINGCHANGE. No Windows NT 3.51, o teu handler será chamado por OnSettingChange e uFlags e será sempre zero.
CWnd::OnShowWindow
O framework chama a este elemento função quando o CWnd objeto está prestes a ser ocultado ou mostrado.
afx_msg void OnShowWindow(
BOOL bShow,
UINT nStatus);
Parâmetros
bShow
Especifica se uma janela está a ser mostrada. É TRUE se a janela estiver a ser mostrada; é FALSE se a janela estiver a ser escondida.
nStatus
Especifica o estado da janela que está a ser mostrada. É 0 se a mensagem for enviada devido a uma ShowWindow chamada de função membro; caso contrário nStatus , é um dos seguintes:
SW_PARENTCLOSINGA janela principal está a fechar (tornando-se icónica) ou uma janela pop-up está a ser ocultada.SW_PARENTOPENINGA janela principal está a abrir (a ser exibida) ou uma janela pop-up está a ser mostrada.
Observações
Uma janela é oculta ou mostrada quando a ShowWindow função membro é chamada, quando uma janela sobreposta é maximizada ou restaurada, ou quando uma janela sobreposta ou pop-up é fechada (tornada icónica) ou aberta (exibida no ecrã). Quando uma janela sobreposta está fechada, todas as janelas pop-up associadas a essa janela ficam ocultas.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSize
A estrutura chama esta função membro depois de o tamanho da janela ter mudado.
afx_msg void OnSize(
UINT nType,
int cx,
int cy);
Parâmetros
nType
Especifica o tipo de redimensionamento solicitado. Este parâmetro pode ser um dos seguintes valores:
SIZE_MAXIMIZEDA janela foi maximizada.SIZE_MINIMIZEDA janela foi minimizada.SIZE_RESTOREDA janela foi redimensionada, mas nadaSIZE_MINIMIZEDnemSIZE_MAXIMIZEDse aplica.SIZE_MAXHIDEA mensagem é enviada para todas as janelas pop-up quando outra janela é maximizada.SIZE_MAXSHOWA mensagem é enviada para todas as janelas pop-up quando outra janela foi restaurada ao seu tamanho anterior.
cx
Especifica a nova largura da área do cliente.
cy
Especifica a nova altura da área do cliente.
Observações
Se a SetScrollPos função membro ou MoveWindow for chamada para uma janela filha de OnSize, o bRedraw parâmetro de SetScrollPos ou MoveWindow deve ser diferente de zero para causar que a CWnd repintura seja repintada.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
Example
// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// Resize edit to fill the whole view.
// OnSize can be called before OnInitialUpdate
// so make sure the edit control has been created.
if (::IsWindow(m_Edit.GetSafeHwnd()))
{
m_Edit.MoveWindow(0, 0, cx, cy);
}
}
CWnd::OnSizeClipboard
A função membro do OnSizeClipboard proprietário da Prancheta é chamada pelo visualizador da Prancheta quando esta contém dados com o CF_OWNERDISPLAY atributo e o tamanho da área do cliente da janela do visualizador da Prancheta alterou.
afx_msg void OnSizeClipboard(
CWnd* pClipAppWnd,
HGLOBAL hRect);
Parâmetros
pClipAppWnd
Identifica a janela da aplicação da Área de Transferências. O ponteiro pode ser temporário e não deve ser guardado.
hRect
Identifica um objeto de memória global. O objeto de memória contém uma RECT estrutura de dados que especifica a área para o proprietário da Prancheta pintar.
Observações
A OnSizeClipboard função membro é chamada com um retângulo nulo (0,0,0,0) como novo tamanho quando a aplicação Clipboard está prestes a ser destruída ou minimizada. Isto permite ao proprietário da prancheta libertar os seus recursos de visualização.
Dentro de OnSizeClipboard, uma aplicação deve usar a GlobalLock função Windows para bloquear a memória que contém a RECT estrutura de dados. Peça à aplicação desbloquear essa memória com a GlobalUnlock função do Windows antes de ceder ou devolver o controlo.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSizing
A estrutura chama esta função membro para indicar que o utilizador está a redimensionar o retângulo.
afx_msg void OnSizing(
UINT nSide,
LPRECT lpRect);
Parâmetros
nSide
A borda da janela a ser movida.
lpRect
Endereço da CRectouRECT estrutura que conterá as coordenadas do item.
Observações
Ao processar esta mensagem, uma aplicação pode monitorizar o tamanho e a posição do retângulo de arrasto e, se necessário, alterar o seu tamanho ou posição.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
Example
void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
CMDIChildWnd::OnSizing(fwSide, pRect);
// Resize the splitter window in the frame. m_wndSplitter is of
// type CSplitterWnd
int nWidth = (pRect->right) - (pRect->left);
m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
m_wndSplitter.RecalcLayout();
}
CWnd::OnSpoolerStatus
O framework chama esta função membro do Print Manager sempre que um trabalho é adicionado ou removido da fila do Print Manager.
afx_msg void OnSpoolerStatus(
UINT nStatus,
UINT nJobs);
Parâmetros
nStatus
Especifica a SP_JOBSTATUS bandeira.
nJobs
Especifica o número de trabalhos restantes na fila do Gestor de Impressão.
Observações
Este apelo destina-se apenas a fins informativos.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnStyleChanged
O framework chama a este elemento função depois de a SetWindowLong função ter alterado um ou mais estilos da janela.
afx_msg void OnStyleChanged(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parâmetros
nStyleType
Especifica se os estilos estendidos ou não estendidos da janela mudaram. Este parâmetro pode ser uma combinação dos seguintes valores:
GWL_EXSTYLEOs estilos estendidos da janela mudaram.GWL_STYLEOs estilos não estendidos da janela mudaram.
lpStyleStruct
Aponta para uma STYLESTRUCT estrutura que contém os novos estilos para a janela. Uma aplicação pode analisar os estilos, mas não os pode alterar.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnStyleChanging
A estrutura chama a este elemento função quando a SetWindowLong função está prestes a mudar um ou mais estilos da janela.
afx_msg void OnStyleChanging(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parâmetros
nStyleType
Especifica se os estilos estendidos ou não estendidos da janela mudaram. Este parâmetro pode ser uma combinação dos seguintes valores:
GWL_EXSTYLEOs estilos estendidos da janela mudaram.GWL_STYLEOs estilos não estendidos da janela mudaram.
lpStyleStruct
Aponta para uma STYLESTRUCT estrutura que contém os novos estilos para a janela. Uma aplicação pode analisar os estilos e alterá-los.
Observações
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSysChar
A estrutura chama esta função membro se CWnd tiver o foco de entrada e as WM_SYSKEYUP mensagens e WM_SYSKEYDOWN forem traduzidas.
afx_msg void OnSysChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Especifica o código de tecla ASCII de uma tecla do menu Control.
nRepCnt
Especifica a contagem de repetições, ou seja, o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada.
nFlags
O nFlags parâmetro pode ter estes valores:
| Valor | Meaning |
|---|---|
| 0-15 | Especifica a contagem de repetições. O valor é o número de vezes que a tecla é repetida como resultado do utilizador manter a tecla pressionada. |
| 16-23 | Especifica o código de varrimento. O valor depende do fabricante original do equipamento (OEM) |
| 24 | Especifica se a tecla é uma tecla estendida, como as teclas ALT e CTRL da mão direita que aparecem num teclado melhorado de 101 ou 102 teclas. O valor é 1 se for uma chave estendida; caso contrário, é 0. |
| 25-28 | Usado internamente pelo Windows. |
| 29 | Especifica o código de contexto. O valor é 1 se a tecla ALT for mantida pressionada enquanto a tecla é pressionada; caso contrário, o valor é 0. |
| 30 | Especifica o estado da chave anterior. O valor é 1 se a chave estiver desativada antes da mensagem ser enviada, ou é 0 se a chave estiver ativa. |
| 31 | Especifica o estado de transição. O valor é 1 se a tecla estiver a ser libertada, ou 0 se a tecla estiver a ser pressionada. |
Observações
Especifica o código de tecla virtual da tecla do menu Control. (Para uma lista de códigos de chave virtuais padrão, veja Winuser.h)
Quando o código de contexto é 0, WM_SYSCHAR pode passar a WM_SYSCHAR mensagem para a TranslateAccelerator função Windows, que a tratará como se fosse uma mensagem de chave normal em vez de uma chave de carácter do sistema. Isto permite que as teclas aceleradoras sejam usadas com a janela ativa mesmo que a janela ativa não tenha o foco de entrada.
Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSysColorChange
A estrutura chama a esta função membro para todas as janelas de topo quando é feita uma alteração na definição de cor do sistema.
afx_msg void OnSysColorChange();
Observações
O Windows exige OnSysColorChange qualquer janela que seja afetada por uma alteração de cor do sistema.
Aplicações que tenham pincéis que usem as cores existentes do sistema devem eliminar esses pincéis e recriá-los com as novas cores do sistema.
CWnd::OnSysCommand
A estrutura chama esta função membro quando o utilizador seleciona um comando no menu Control, ou quando seleciona o botão Maximizar ou Minimizar.
afx_msg void OnSysCommand(
UINT nID,
LPARAM lParam);
Parâmetros
nID
Especifica o tipo de comando do sistema solicitado. Este parâmetro pode ser qualquer um dos seguintes valores:
SC_CLOSEFecha oCWndobjeto.SC_HOTKEYAtive oCWndobjeto associado à tecla de atalho especificada pela aplicação. A palavra de ordem baixa delParamidentifica oHWNDda janela a ativar.SC_HSCROLLDesloca horizontalmente.SC_KEYMENURecupera um menu com uma tecla.SC_MAXIMIZE(ouSC_ZOOM) Maximiza oCWndobjeto.SC_MINIMIZE(ouSC_ICON) Minimiza oCWndobjeto.SC_MOUSEMENURecupera um menu com um clique do rato.SC_MOVEMove oCWndobjeto.SC_NEXTWINDOWAvança para a próxima janela.SC_PREVWINDOWMuda para a janela anterior.SC_RESTORERestaure a janela à posição e tamanho normais.SC_SCREENSAVEExecuta a aplicação de protetor de ecrã especificada na secção [boot] doSYSTEM.INIficheiro.SC_SIZEDimensiona oCWndobjeto.SC_TASKLISTExecutar ou ativar a aplicação Gestor de Tarefas do Windows.SC_VSCROLLDesliza verticalmente.
lParam
Se um comando no menu de Controlo for escolhido com o rato, lParam contém as coordenadas do cursor. A palavra de ordem baixa contém a coordenada x, e a palavra de ordem superior contém a coordenada y. Caso contrário, este parâmetro não é utilizado.
SC_HOTKEYAtive a janela associada à tecla de atalho especificada pela aplicação. A palavra de ordem baixa identificalParama janela a ativar.SC_SCREENSAVEExecute a aplicação de gravação de ecrã especificada na secção Desktop do Painel de Controlo.
Observações
Por defeito, OnSysCommand executa o pedido do menu de Controlo para as ações pré-definidas especificadas na tabela anterior.
Nas WM_SYSCOMMAND mensagens, os quatro bits de ordem baixa do nID parâmetro são usados internamente pelo Windows. Quando uma aplicação testa o valor de nID, deve combinar o valor 0xFFF0 com o nID valor usando o operador bit a bit AND para obter o resultado correto.
Os itens do menu num menu de Controlo podem ser modificados com as GetSystemMenufunções , AppendMenu, InsertMenu, e ModifyMenu membros. As aplicações que modificam o menu de Controlo devem processar WM_SYSCOMMAND mensagens, e quaisquer WM_SYSCOMMAND mensagens não tratadas pela aplicação devem ser encaminhadas para OnSysCommand. Quaisquer valores de comando adicionados por uma aplicação devem ser processados pela aplicação e não podem ser passados para OnSysCommand.
Uma aplicação pode executar qualquer comando do sistema a qualquer momento, passando uma WM_SYSCOMMAND mensagem para OnSysCommand.
As teclas aceleradoras (atalhos) definidas para selecionar itens no menu Control são traduzidas em OnSysCommand chamadas; todas as outras teclas do acelerador são traduzidas em WM_COMMAND mensagens.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSysDeadChar
O framework chama esta função membro se o CWnd objeto tiver o foco de entrada quando a OnSysKeyUp função ou OnSysKeyDown membro é chamada.
afx_msg void OnSysDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Especifica o valor do carácter dead-key.
nRepCnt
Especifica a contagem de repetições.
nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:
| Valor | Meaning |
|---|---|
| 0-7 | Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta. |
| 8 | Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0). |
| 9-10 | Não utilizado. |
| 11-12 | Usado internamente pelo Windows. |
| 13 | Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada; caso contrário, 0). |
| 14 | Estado anterior da chave (1 se a chave estiver desligada antes da chamada, 0 se a chave estiver ativa). |
| 15 | Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada). |
Observações
Especifica o valor de carácter de uma chave morta.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSysKeyDown
Se o CWnd objeto tiver o foco de entrada, a OnSysKeyDown função membro é chamada pelo framework quando o utilizador mantém pressionada a tecla ALT e depois pressiona outra tecla.
afx_msg void OnSysKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Especifica o código de tecla virtual da tecla pressionada. Para uma lista de códigos de chave virtuais padrão, veja Winuser.h
nRepCnt
Especifica a contagem de repetições.
nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:
| Valor | Meaning |
|---|---|
| 0-7 | Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta. |
| 8 | Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0). |
| 9-10 | Não utilizado. |
| 11-12 | Usado internamente pelo Windows. |
| 13 | Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada, 0 caso contrário). |
| 14 | Estado da chave anterior (1 se a chave estiver desativada antes da mensagem ser enviada, 0 se a chave estiver ativa). |
| 15 | Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada). |
Para OnSysKeyDown chamadas, o bit de transição de chave (bit 15) é 0. O bit de código de contexto (bit 13) é 1 se a tecla ALT estiver para baixo enquanto a tecla está pressionada; é 0 se a mensagem for enviada para a janela ativa porque nenhuma janela tem o foco de entrada.
Observações
Se nenhuma janela tiver atualmente o foco de entrada, a função membro da OnSysKeyDown janela ativa é chamada. O CWnd objeto que recebe a mensagem pode distinguir entre estes dois contextos verificando o código de contexto em nFlags.
Quando o código de contexto é 0, a WM_SYSKEYDOWN mensagem recebida por OnSysKeyDown pode ser passada para a TranslateAccelerator função Windows, que a tratará como se fosse uma mensagem de chave normal em vez de uma mensagem de chave de sistema. Isto permite que as teclas aceleradoras sejam usadas com a janela ativa mesmo que a janela ativa não tenha o foco de entrada.
Devido à repetição automática, podem ocorrer mais do que uma OnSysKeyDown chamada antes de a WM_SYSKEYUP mensagem ser recebida. O estado da chave anterior (bit 14) pode ser usado para determinar se a OnSysKeyDown chamada indica a transição da primeira descida ou uma transição repetida para baixo.
Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnSysKeyUp
Se o CWnd objeto tiver o foco, a OnSysKeyUp função membro é chamada pelo framework quando o utilizador liberta uma tecla que foi pressionada enquanto a tecla ALT estava pressionada.
afx_msg void OnSysKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
Especifica o código de tecla virtual da tecla pressionada. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h
nRepCnt
Especifica a contagem de repetições.
nFlags
Especifica o código de varrimento, código de transição de chave, estado da chave anterior e código de contexto, conforme mostrado na lista seguinte:
| Valor | Meaning |
|---|---|
| 0-7 | Código de varrimento (valor dependente do OEM). Um byte baixo de palavra de ordem alta. |
| 8 | Tecla estendida, como uma tecla de função ou uma tecla no teclado numérico (1 se for uma tecla estendida; caso contrário 0). |
| 9-10 | Não utilizado. |
| 11-12 | Usado internamente pelo Windows. |
| 13 | Código de contexto (1 se a tecla ALT estiver pressionada enquanto a tecla é pressionada, 0 caso contrário). |
| 14 | Estado da chave anterior (1 se a chave estiver desativada antes da mensagem ser enviada, 0 se a chave estiver ativa). |
| 15 | Estado de transição (1 se a tecla estiver a ser libertada, 0 se a tecla estiver a ser pressionada). |
Para OnSysKeyUp chamadas, o bit de transição de chave (bit 15) é 1. O bit de código de contexto (bit 13) é 1 se a tecla ALT estiver para baixo enquanto a tecla está pressionada; é 0 se a mensagem for enviada para a janela ativa porque nenhuma janela tem o foco de entrada.
Observações
Se nenhuma janela tiver atualmente o foco de entrada, a função membro da OnSysKeyUp janela ativa é chamada. O CWnd objeto que recebe a chamada pode distinguir entre estes dois contextos verificando o código de contexto em nFlags.
Quando o código de contexto é 0, a WM_SYSKEYUP mensagem recebida por OnSysKeyUp pode ser passada para a TranslateAccelerator função Windows, que a tratará como se fosse uma mensagem de chave normal em vez de uma mensagem de chave de sistema. Isto permite que as teclas de acelerador (atalho) sejam usadas com a janela ativa mesmo que esta não tenha o foco de entrada.
Para teclados IBM Enhanced de 101 e 102 teclas, as teclas melhoradas são o ALT direito e as teclas CTRL direitas na secção principal do teclado; o INS, DEL, HOME, END, PAGE UP, PAGE DOWN, e as setas nos clusters à esquerda do teclado numérico; e as teclas de barra (/) e ENTER no teclado numérico. Alguns outros teclados podem suportar o bit de tecla estendida em nFlags.
Para pessoas fora dos EUA. Teclados aprimorados de 102 teclas, a tecla ALT direita é tratada como a combinação CTRL+ALT. O seguinte mostra a sequência de mensagens e chamadas que resultam quando o utilizador pressiona e solta esta tecla:
| Sequence | Função Acedida | Mensagem Passada |
|---|---|---|
| 1. | WM_KEYDOWN |
VK_CONTROL |
| 2. | WM_KEYDOWN |
VK_MENU |
| 3. | WM_KEYUP |
VK_CONTROL |
| 4. | WM_SYSKEYUP |
VK_MENU |
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnTCard
O framework chama esta função membro quando o utilizador clica num botão autorável.
afx_msg void OnTCard(
UINT idAction,
DWORD dwActionData);
Parâmetros
idAction
Indica a ação que o utilizador tomou. Este parâmetro pode ser um destes valores:
IDABORTO utilizador clicava num botão de Abortar autorável.IDCANCELO utilizador clicava num botão Cancelar autorável.IDCLOSEO utilizador fechou o cartão de treino.IDHELPO utilizador clicava num botão de Ajuda do Windows com autoria.IDIGNOREO utilizador clicava num botão Ignorar com autor.IDOKO utilizador clicou num botão de OK autorável.IDNOO utilizador clicou num botão Não autorável.IDRETRYO utilizador clicava num botão Retry autorável.HELP_TCARD_DATAO utilizador clicava num botão autorável. OdwActionDataparâmetro contém um inteiro longo especificado pelo autor da ajuda.HELP_TCARD_NEXTO utilizador clicava num botão Seguir autorável.HELP_TCARD_OTHER_CALLEROutra candidatura pediu cartões de formação.IDYESO utilizador clicava num botão Sim autorável.
dwActionData
Se idAction especificar HELP_TCARD_DATA, este parâmetro é um inteiro longo especificado pelo autor da ajuda. Caso contrário, este parâmetro é zero.
Observações
Esta função é chamada apenas quando uma aplicação iniciou um cartão de treino com o Windows Help. Uma aplicação inicia um cartão de treino especificando o HELP_TCARD comando numa chamada à WinHelp função.
CWnd::OnTimeChange
O framework chama esta função membro depois de o tempo do sistema ser alterado.
afx_msg void OnTimeChange();
Observações
Qualquer aplicação que altere a hora do sistema envie esta mensagem para todas as janelas de topo de nível. Para enviar a WM_TIMECHANGE mensagem a todas as janelas de topo, uma aplicação pode usar a SendMessage função Windows com o seu hwnd parâmetro definido para HWND_BROADCAST.
CWnd::OnTimer
A estrutura chama esta função membro após cada intervalo especificado na SetTimer função membro usada para instalar um temporizador.
afx_msg void OnTimer(UINT_PTR nIDEvent);
Parâmetros
nIDEvent
Especifica o identificador do temporizador.
Observações
A DispatchMessage função Windows envia uma WM_TIMER mensagem quando não há outras mensagens na fila de mensagens da aplicação.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
Example
Veja o exemplo em CWnd::SetTimer.
CWnd::OnToolHitTest
A estrutura chama esta função membro para determinar se um ponto está no retângulo delimitador da ferramenta especificada.
virtual INT_PTR OnToolHitTest(
CPoint point,
TOOLINFO* pTI) const;
Parâmetros
point
Especifica as coordenadas x e y do cursor. Estas coordenadas são sempre relativas ao canto superior esquerdo da janela
pTI
Um ponteiro para uma TOOLINFO estrutura. Os seguintes valores estruturais são definidos por defeito:
hwnd=m_hWndMaçaneta a uma janelauId=(UINT)hWndChildPega numa janela de criançauFlags|=TTF_IDISHWNDPega da ferramentalpszText=LPSTR_TEXTCALLBACKApontador para a cadeia que deve ser exibida na janela especificada
Valor de retorno
Se o controlo tooltip fosse encontrado, o ID do controlo da janela. Se o controlo da tooltip não fosse encontrado, -1.
Observações
Se o ponto estiver no retângulo, recupera informação sobre a ferramenta.
Se a área com que a tooltip está associada não for um botão, OnToolHitTest define os flags da estrutura para TTF_NOTBUTTON e TTF_CENTERTIP.
Override OnToolHitTest para fornecer informação diferente da que o padrão fornece.
Consulte TOOLINFO, no SDK do Windows, para mais informações sobre a estrutura.
CWnd::OnTouchInput
Processar uma única entrada do Windows Touch.
virtual BOOL OnTouchInput(
CPoint pt,
int nInputNumber,
int nInputsCount,
PTOUCHINPUT pInput);
Parâmetros
pt
Ponto onde o ecrã foi tocado (nas coordenadas do cliente).
nInputNumber
Número de entradas por toque.
nInputsCount
Número total de entradas táteis.
pInput
Apontar para TOUCHINPUT a estrutura.
Valor de retorno
TRUE se a aplicação processar a entrada por toque do Windows; caso contrário FALSE.
Observações
CWnd::OnTouchInputs
Processa entradas do Windows Touch.
virtual BOOL OnTouchInputs(
UINT nInputsCount,
PTOUCHINPUT pInputs);
Parâmetros
nInputsCount
Número total de entradas táteis do Windows.
pInputs
Array de TOUCHINPUT.
Valor de retorno
TRUE se a aplicação processar entradas táteis do Windows; caso contrário FALSE.
Observações
CWnd::OnUniChar
A estrutura chama esta função membro quando uma tecla é pressionada. Ou seja, a janela atual tem o foco do teclado e uma WM_KEYDOWN mensagem é traduzida pela TranslateMessage função.
afx_msg void OnUniChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parâmetros
nChar
[dentro] Especifica o código do carácter da tecla pressionada.
nRepCnt
[dentro] Especifica a contagem de repetições para a mensagem atual. O valor é o número de vezes que a tecla é repetida automaticamente como resultado do utilizador manter a tecla pressionada. Se a tecla for mantida pressionada tempo suficiente, são enviadas várias mensagens. No entanto, o número de repetições não é cumulativo.
nFlags
[dentro] Flags que especificam o código de varrimento, chave estendida, código de contexto, estado da chave anterior e estado de transição, conforme mostrado na tabela seguinte:
| Bits de flag | Description |
|---|---|
| 0-7 | Especifica o código de varrimento. O valor depende do fabricante original do equipamento (OEM). |
| 8 | Especifica uma tecla estendida, como as teclas ALT e CTRL da mão direita que aparecem num teclado melhorado de 101 ou 102 teclas. A bandeira é 1 se a chave for uma chave estendida; caso contrário, é 0. |
| 9-12 | Usado internamente pelo Windows. |
| 13 | Especifica o código de contexto. A bandeira é 1 se a tecla ALT for mantida pressionada enquanto a tecla é pressionada; caso contrário, o valor é 0. |
| 14 Especifica o estado da chave anterior. A bandeira é 1 se a chave estiver desligada antes da mensagem ser enviada, ou 0 se a chave estiver ativa. | |
| 15 | Especifica o estado de transição. A bandeira é 1 se a tecla estiver a ser libertada, ou 0 se a tecla estiver a ser pressionada. |
Observações
Este método recebe a WM_UNICHAR notificação, que é descrita no SDK do Windows. A WM_UNICHAR mensagem foi concebida para enviar ou publicar caracteres Unicode para janelas ANSI. É equivalente à WM_CHAR mensagem, mas utiliza a codificação Unicode Transformation Format-32 (UTF-32), enquanto a WM_CHAR mensagem usa UTF-16.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnUnInitMenuPopup
A estrutura chama esta função membro quando um menu suspenso ou submenu foi destruído.
afx_msg void OnUnInitMenuPopup(
CMenu* pPopupMenu,
UINT nFlags);
Parâmetros
pMenu
[dentro] Apontar para o CMenu objeto que representa o menu ou submenu.
nFlags
[dentro] O menu que foi destruído. Atualmente, só pode ser o menu da janela, MF_SYSMENU.
Observações
Este método recebe a WM_UNINITMENUPOPUP notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnUpdateUIState
Chamado para alterar o estado da interface do utilizador (UI) da janela especificada e de todas as suas janelas filhas.
afx_msg void OnUpdateUIState(
UINT nAction,
UINT nUIElement);
Parâmetros
nAction
Especifica a ação a ser executada. Pode ser um dos seguintes valores:
UIS_CLEARO elemento de estado da interface (especificado pornUIElement) deve estar oculto.UIS_INITIALIZEO elemento de estado da interface (especificado pornUIElement) deve ser alterado com base no último evento de entrada. Para mais informações, consulte a secção de Observações deWM_UPDATEISTATE.UIS_SETO elemento de estado da interface (especificado pornUIElement) deve ser visível.
nUIElement
Especifica quais os elementos do estado da interface que são afetados ou o estilo do controlo. Pode ser um dos seguintes valores:
UISF_HIDEACCELAceleradores de teclado.UISF_HIDEFOCUSIndicadores de foco.UISF_ACTIVEWindows XP: Um controlo deve ser desenhado no estilo usado para controlos ativos.
Observações
Esta função membro emula a funcionalidade da WM_UPDATEUISTATE mensagem, conforme descrito no SDK do Windows.
CWnd::OnUserChanged
O framework chama este membro para todas as janelas depois de o utilizador ter iniciado sessão.
afx_msg void OnUserChanged();
Observações
Este método recebe a WM_USERCHANGED mensagem de notificação, que é descrita no SDK do Windows. Quando o utilizador inicia sessão, o sistema operativo atualiza as definições específicas do utilizador. O sistema envia esta mensagem imediatamente após atualizar as definições.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnVKeyToItem
Se o CWnd objeto possuir uma caixa de lista com o LBS_WANTKEYBOARDINPUT estilo, a caixa de lista enviará a WM_VKEYTOITEM mensagem em resposta a uma WM_KEYDOWN mensagem.
afx_msg int OnVKeyToItem(
UINT nKey,
CListBox* pListBox,
UINT nIndex);
Parâmetros
nKey
Especifica o código de tecla virtual da tecla que o utilizador pressionou. Para obter uma lista de códigos de chave virtual padrão, consulte Winuser.h
pListBox
Especifica um ponteiro para a caixa da lista. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
nIndex
Especifica a posição atual do caret.
Valor de retorno
Especifica a ação que a aplicação realizou em resposta à mensagem. Um valor de retorno de -2 indica que a aplicação tratou de todos os aspetos da seleção do item e não requer qualquer ação adicional da caixa da lista. Um valor de retorno de -1 indica que a caixa de lista deve executar a ação padrão em resposta ao pressionamento da tecla. Um valor de retorno de 0 ou superior especifica o índice em base zero de um item na caixa de lista e indica que a caixa de lista deve executar a ação padrão para a tecla pressionada no item dado.
Observações
Esta função membro é chamada pela framework apenas para caixas de lista que tenham o estilo LBS_HASSTRINGS .
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnVScroll
A estrutura chama a este elemento função quando o utilizador clica na barra de scroll vertical da janela.
afx_msg void OnVScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parâmetros
nSBCode
Especifica um código de barras de scroll que indica o pedido de scroll do utilizador. Este parâmetro pode ser um dos seguintes:
SB_BOTTOMDesce até ao fim.SB_ENDSCROLLFim do scroll.SB_LINEDOWNDesça uma linha para baixo.SB_LINEUPRole uma linha para cima.SB_PAGEDOWNDesça uma página para baixo.SB_PAGEUPDesliza uma página para cima.SB_THUMBPOSITIONDesloca até à posição absoluta. A posição atual é fornecida emnPos.SB_THUMBTRACKArrasta a caixa de scroll para a posição especificada. A posição atual é fornecida emnPos.SB_TOPDesça até ao topo.
nPos
Contém a posição atual da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION ou SB_THUMBTRACK; de outra forma não for utilizado. Dependendo do alcance inicial do pergaminho, nPos pode ser negativo e deve ser lançado para um int se necessário.
pScrollBar
Se a mensagem de scroll veio de um controlo de barra de scroll, contém um ponteiro para o controlo. Se o utilizador clicou na barra de scroll de uma janela, este parâmetro é NULL. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
Observações
OnVScroll Normalmente é usado por aplicações que dão algum feedback enquanto a caixa de deslocamento está a ser arrastada.
Se OnVScroll deslocar o conteúdo do CWnd objeto, deve também redefinir a posição da caixa de rolagem com a SetScrollPos função membro.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnVScrollClipboard
A função membro do OnVScrollClipboard proprietário da Área de Transferência é chamada pelo visualizador da Área de Transferência quando os dados da Área de Transferência têm o CF_OWNERDISPLAY formato e há um evento na barra de deslocação vertical do visualizador da Área de Transferências.
afx_msg void OnVScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parâmetros
pClipAppWnd
Especifica um ponteiro para uma janela de visualização de prancheta. O ponteiro pode ser temporário e não deve ser guardado para uso posterior.
nSBCode
Especifica um dos seguintes valores na barra de deslocamento:
SB_BOTTOMDesce até ao fim.SB_ENDSCROLLFim do scroll.SB_LINEDOWNDesça uma linha para baixo.SB_LINEUPRole uma linha para cima.SB_PAGEDOWNDesça uma página para baixo.SB_PAGEUPDesliza uma página para cima.SB_THUMBPOSITIONDesloca até à posição absoluta. A posição atual é fornecida emnPos.SB_TOPDesça até ao topo.
nPos
Contém a posição da caixa de deslocamento se o código de barras de deslocamento for SB_THUMBPOSITION; caso contrário nPos , não é usado.
Observações
O proprietário deve deslocar a imagem do Clipboard, invalidar a secção apropriada e atualizar os valores da barra de deslocamento.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnWindowMaximizedChanged
O framework chama este membro quando a janela atual é maximizada, e a janela é composta pelo Gestor de Janelas de Ambiente de Trabalho (DWM).
afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);
Parâmetros
bIsMaximized
[dentro] TRUE se a janela atual estiver maximizada, e FALSE se não estiver.
Observações
Este método recebe a WM_DWMWINDOWMAXIMIZEDCHANGE mensagem de notificação, que é descrita no SDK do Windows.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnWindowPosChanged
A estrutura chama esta função membro quando o tamanho, posição ou ordem Z mudaram como resultado de uma chamada à SetWindowPos função membro ou a outra função de gestão de janelas.
afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);
Parâmetros
lpwndpos
Aponta para uma WINDOWPOS estrutura de dados que contém informações sobre o novo tamanho e posição da janela.
Observações
A implementação por defeito envia as WM_SIZE mensagens e WM_MOVE para a janela. Estas mensagens não são enviadas se uma aplicação tratar da OnWindowPosChanged chamada sem chamar a sua classe base. É mais eficiente realizar qualquer processamento de mudança ou mudança de tamanho durante a chamada para OnWindowPosChanged sem chamar a sua classe base.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnWindowPosChanging
A estrutura chama esta função membro quando o tamanho, posição ou ordem Z está prestes a mudar como resultado de uma chamada para a SetWindowPos função membro ou outra função de gestão de janelas.
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
Parâmetros
lpwndpos
Aponta para uma WINDOWPOS estrutura de dados que contém informações sobre o novo tamanho e posição da janela.
Observações
Uma aplicação pode evitar alterações na janela definindo ou eliminando os bits apropriados no flags elemento da WINDOWPOS estrutura.
Para uma janela com o WS_OVERLAPPED estilo ou WS_THICKFRAME , a implementação padrão envia uma WM_GETMINMAXINFO mensagem para a janela. Isto é feito para validar o novo tamanho e posição da janela e para impor os CS_BYTEALIGNCLIENT estilos do cliente CS_BYTEALIGN . Uma aplicação pode sobrepor esta funcionalidade não chamando a sua classe base.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnWinIniChange
O framework chama esta função membro após uma alteração no ficheiro de inicialização do Windows, WIN.INI.
afx_msg void OnWinIniChange(LPCTSTR lpszSection);
Parâmetros
lpszSection
Aponta para uma cadeia que especifica o nome da secção que mudou. (A corda não inclui os colchetes quadrados que envolvem o nome da secção.)
Observações
As SystemParametersInfo chamadas OnWinIniChange de função do Windows depois de uma aplicação usar a função para alterar uma definição no WIN.INI ficheiro.
Para enviar a WM_WININICHANGE mensagem a todas as janelas de topo, uma aplicação pode usar a SendMessage função Windows com o seu hwnd parâmetro definido para HWND_BROADCAST.
Se uma aplicação alterar várias secções diferentes ao WIN.INI mesmo tempo, a aplicação deve enviar uma WM_WININICHANGE mensagem com lpszSection definido como NULL. Caso contrário, uma aplicação deve enviar WM_WININICHANGE cada vez que fizer uma alteração para WIN.INI.
Se uma aplicação receber uma OnWinIniChange chamada com lpszSection definido como NULL, a aplicação deve verificar todas as secções em WIN. INI que afetam a aplicação.
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnWndMsg
Esta função membro é chamada por WindowProc, ou é chamada durante a reflexão da mensagem.
virtual BOOL OnWndMsg(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parâmetros
message
Especifica a mensagem a enviar.
wParam
Especifica informação adicional dependente da mensagem.
lParam
Especifica informação adicional dependente da mensagem.
pResult
O valor de retorno de WindowProc. Depende da mensagem; pode ser NULL.
Valor de retorno
TRUE se a mensagem foi tratada; caso contrário, FALSO.
Observações
OnWndMsg determina o tipo de mensagem e ou chama a função framework apropriada (por exemplo, OnCommand para WM_COMMAND) ou encontra a mensagem apropriada no mapa da mensagem.
Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.
CWnd::OnXButtonDblClk
A estrutura chama esta função membro quando o utilizador faz XBUTTON1 duplo clique ou XBUTTON2 enquanto o cursor está na área do cliente de uma janela.
afx_msg void OnXButtonDblClk(
UINT nFlags,
UINT nButton,
CPoint point);
Parâmetros
nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.
nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse for duplamente clicado, ou XBUTTON2 se o segundo botão X for duplamente clicado.
point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.
Observações
Este método recebe a WM_XBUTTONDBLCLK notificação, que é descrita no SDK do Windows. Se o rato não for capturado, a mensagem é publicada na janela por baixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse.
O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.
| Tecla Modificadora | Description |
|---|---|
MK_CONTROL |
A tecla CTRL é pressionada. |
MK_LBUTTON |
O botão esquerdo do rato é pressionado. |
MK_MBUTTON |
O botão do meio do rato é pressionado. |
MK_RBUTTON |
O botão direito do rato é pressionado. |
MK_SHIFT |
A tecla SHIFT é pressionada. |
MK_XBUTTON1 |
O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado. |
MK_XBUTTON2 |
O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado. |
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnXButtonDown
A estrutura chama esta função membro quando o utilizador pressiona XBUTTON1 ou XBUTTON2 enquanto o cursor está na área cliente de uma janela.
afx_msg void OnXButtonDown(
UINT nFlags,
UINT nButton,
CPoint point);
Parâmetros
nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.
nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse foi clicado, ou XBUTTON2 se o segundo botão X foi pressionado.
point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.
Observações
Este método recebe a WM_XBUTTONDOWN notificação, que é descrita no SDK do Windows. Se o rato não for capturado, a mensagem é publicada na janela por baixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse.
O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.
| Tecla Modificadora | Description |
|---|---|
MK_CONTROL |
A tecla CTRL é pressionada. |
MK_LBUTTON |
O botão esquerdo do rato é pressionado. |
MK_MBUTTON |
O botão do meio do rato é pressionado. |
MK_RBUTTON |
O botão direito do rato é pressionado. |
MK_SHIFT |
A tecla SHIFT é pressionada. |
MK_XBUTTON1 |
O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado. |
MK_XBUTTON2 |
O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado. |
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OnXButtonUp
O framework chama esta função membro quando o utilizador solta XBUTTON1 ou XBUTTON2 enquanto o cursor está na área cliente de uma janela.
afx_msg void OnXButtonUp(
UINT nFlags,
UINT nButton,
CPoint point);
Parâmetros
nFlags
[dentro] Uma combinação bit a bit (OR) de flags que indicam quais as teclas modificadoras pressionadas. Por exemplo, o MK_CONTROL flag indica que a tecla CTRL é pressionada.
nButton
[dentro] Um valor de XBUTTON1 se o primeiro botão X do Microsoft Intellimouse foi duplamente clicado, ou XBUTTON2 se o segundo botão X foi duplo clicado.
point
[dentro] Um CPoint objeto que especifica as x coordenadas e y do cursor em relação ao canto superior esquerdo da área do cliente.
Observações
Este método recebe a WM_XBUTTONUP notificação, que é descrita no SDK do Windows. Se o rato não for capturado, a mensagem é publicada na janela por baixo do cursor. Caso contrário, a mensagem é postada na janela que capturou o mouse.
O nFlags parâmetro pode ser uma combinação de chaves modificadoras listadas na tabela seguinte. Para mais informações, consulte Sobre a Entrada do Rato.
| Tecla Modificadora | Description |
|---|---|
MK_CONTROL |
A tecla CTRL é pressionada. |
MK_LBUTTON |
O botão esquerdo do rato é pressionado. |
MK_MBUTTON |
O botão do meio do rato é pressionado. |
MK_RBUTTON |
O botão direito do rato é pressionado. |
MK_SHIFT |
A tecla SHIFT é pressionada. |
MK_XBUTTON1 |
O XBUTTON1 botão do rato do Microsoft IntelliMouse é pressionado. |
MK_XBUTTON2 |
O XBUTTON2 botão do rato do Microsoft IntelliMouse é pressionado. |
Observação
Esta função membro é chamada pelo framework para permitir que a sua aplicação trate uma mensagem do Windows. Os parâmetros passados para a sua função refletem os parâmetros recebidos pelo framework quando a mensagem foi recebida. Se chamar a implementação de classe base desta função, essa implementação usará os parâmetros originalmente passados com a mensagem e não os parâmetros que fornece à função.
CWnd::OpenClipboard
Abre a prancheta.
BOOL OpenClipboard();
Valor de retorno
Diferente de zero se a Área de Transferência for aberta via CWnd, ou 0 se outra aplicação ou janela tiver a Área de Transferência aberta.
Observações
Outras aplicações não poderão modificar a Prancheta até que a CloseClipboard função Windows seja chamada.
O objeto atual CWnd não se tornará o proprietário da Área de Transferência até que a EmptyClipboard função Windows seja chamada.
Example
//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
if (!OpenClipboard())
{
AfxMessageBox(_T("Cannot open the Clipboard"));
return;
}
// Remove the current Clipboard contents
if (!EmptyClipboard())
{
AfxMessageBox(_T("Cannot empty the Clipboard"));
return;
}
// Get the currently selected data, hData handle to
// global memory of data
CString str;
m_Edit.GetWindowText(str);
size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
GlobalUnlock(hData);
str.UnlockBuffer();
// For the appropriate data formats...
UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
if (::SetClipboardData(uiFormat, hData) == NULL)
{
AfxMessageBox(_T("Unable to set Clipboard data"));
CloseClipboard();
return;
}
CloseClipboard();
}
CWnd::operator HWND
Use este operador para levar a pega ao CWnd objeto.
operator HWND() const;
CWnd::operator !=
Compara dois CWnd objetos para determinar se não têm o mesmo m_hWnd.
BOOL operator!=(const CWnd& wnd) const;
Parâmetros
wnd
Uma referência a um objeto CWnd.
Valor de retorno
Não nulo se for igual; caso contrário, 0.
CWnd::operator ==
Compara dois CWnd objetos para determinar se têm o mesmo m_hWnd.
BOOL operator==(const CWnd& wnd) const;
Parâmetros
wnd
Uma referência a um objeto CWnd.
Valor de retorno
Não nulo se for igual; caso contrário, 0.
CWnd::PaintWindowlessControls
Desenha controlos sem janelas no contentor de controlo.
BOOL PaintWindowlessControls(CDC* pDC);
Parâmetros
pDC
O contexto do dispositivo para desenhar os controlos sem janelas.
Valor de retorno
Retorna TRUE se houver um contentor de controlo e os controlos sem janelas forem desenhados com sucesso, caso contrário FALSE.
CWnd::PostMessage
Coloca uma mensagem na fila de mensagens da janela e depois retorna sem esperar que a janela correspondente processe a mensagem.
BOOL PostMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parâmetros
message
Especifica a mensagem a publicar.
wParam
Especifica informação adicional de mensagem. O conteúdo deste parâmetro depende da mensagem que está a ser publicada.
lParam
Especifica informação adicional de mensagem. O conteúdo deste parâmetro depende da mensagem que está a ser publicada.
Valor de retorno
Diferente de zero se a mensagem for publicada; caso contrário, 0.
Observações
As mensagens numa fila de mensagens são recuperadas através de chamadas para a GetMessage função ou PeekMessage Windows.
A função Windows PostMessage pode ser usada para aceder a outra aplicação.
Example
Veja o exemplo para AfxGetMainWnd.
CWnd::PostNcDestroy
Chamada pela função membro padrão OnNcDestroy depois de a janela ter sido destruída.
virtual void PostNcDestroy();
Observações
As classes derivadas podem usar esta função para limpeza personalizada, como a eliminação do this apontador.
CWnd::PreCreateWindow
Chamado pela estrutura antes da criação da janela do Windows associada a este CWnd objeto.
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Parâmetros
cs
Uma CREATESTRUCT estrutura.
Valor de retorno
Diferente de zero se a criação da janela deve continuar; 0 para indicar falha na criação.
Observações
Advertência
CWnd::PreCreateWindow agora atribui o membro hMenu de cs ao this ponteiro se o menu for NULL e o estilo contiver WS_CHILD. Para uma funcionalidade correta, certifique-se de que o controlo de diálogo tem um ID que não NULLseja .
Esta alteração corrige um crash em cenários de interoperabilidade geridos/nativos. Uma TRACE declaração alerta CWnd::Create o programador para o problema.
Nunca chames esta função diretamente.
A implementação padrão desta função verifica o nome de uma NULL classe janela e substitui por um padrão apropriado. Substitua esta função membro para modificar a CREATESTRUCT estrutura antes de a janela ser criada.
Cada classe derivada de CWnd acrescenta a sua própria funcionalidade ao seu sobreposição de PreCreateWindow. Por design, estas derivações de PreCreateWindow não estão documentadas. Para determinar os estilos apropriados a cada classe e as interdependências entre os estilos, pode examinar o código-fonte MFC da classe base da sua aplicação. Se optar por sobrescrever PreCreateWindow, , pode determinar se os estilos usados na classe base da sua aplicação fornecem a funcionalidade de que precisa, utilizando a informação recolhida do código-fonte MFC.
Para mais informações sobre a alteração de estilos de janelas, consulte Alterar os Estilos de uma Janela Criada pela MFC.
Example
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
CWnd::PreSubclassWindow
Esta função membro é chamada pelo framework para permitir que outras subclasses necessárias ocorram antes da janela ser subclassificada.
virtual void PreSubclassWindow();
Observações
Sobrepor esta função de membro permite a subclasse dinâmica dos controlos. É uma versão avançada que pode ser anulada.
CWnd::PreTranslateMessage
Usado por CWinApp de classe para traduzir mensagens de janela antes de serem enviadas para as funções TranslateMessage e DispatchMessage Windows.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parâmetros
pMsg
Aponta para uma MSG estrutura que contém a mensagem a processar.
Valor de retorno
Não nula se a mensagem foi traduzida e não deve ser enviada; 0 se a mensagem não for traduzida e deve ser enviada.
CWnd::Print
Chame esta função membro para desenhar a janela atual no contexto especificado do dispositivo, que é mais comum no contexto de um dispositivo de impressora.
void Print(
CDC* pDC,
DWORD dwFlags) const;
Parâmetros
pDC
Um ponteiro para um contexto de dispositivo.
dwFlags
Especifica as opções de desenho. Este parâmetro pode ser um ou mais destes flags:
PRF_CHECKVISIBLEDesenha a janela apenas se for visível.PRF_CHILDRENDesenha todas as janelas visíveis das crianças.PRF_CLIENTDesenha a área do cliente na janela.PRF_ERASEBKGNDApaga o fundo antes de desenhar a janela.PRF_NONCLIENTDesenha a área não cliente da janela.PRF_OWNEDDesenha todas as janelas que possui.
Observações
CWnd::DefWindowProc a função processa esta mensagem com base na opção de desenho especificada:
Se
PRF_CHECKVISIBLEfor especificado e a janela não for visível, não faça nada.Se
PRF_NONCLIENTfor especificado, desenhe a área não-cliente no contexto dado do dispositivo.Se
PRF_ERASEBKGNDfor especificado, envie umaWM_ERASEBKGNDmensagem à janela.Se
PRF_CLIENTfor especificado, envie umaWM_PRINTCLIENTmensagem à janela.Se
PRF_CHILDRENestiver definido, envie umaWM_PRINTmensagem a cada janela filha visível.Se
PRF_OWNEDestiver definido, envie umaWM_PRINTmensagem a cada janela visível de posse.
CWnd::PrintClient
Chame esta função membro para desenhar qualquer janela no contexto especificado do dispositivo (normalmente um contexto de dispositivo de impressora).
void PrintClient(
CDC* pDC,
DWORD dwFlags) const;
Parâmetros
pDC
Um ponteiro para um contexto de dispositivo.
dwFlags
Especifica opções de desenho. Este parâmetro pode ser um ou mais destes flags:
PRF_CHECKVISIBLEDesenha a janela apenas se for visível.PRF_CHILDRENDesenha todas as janelas visíveis das crianças.PRF_CLIENTDesenha a área do cliente na janela.PRF_ERASEBKGNDApaga o fundo antes de desenhar a janela.PRF_NONCLIENTDesenha a área não cliente da janela.PRF_OWNEDDesenha todas as janelas que possui.
CWnd::PrintWindow
Copia uma janela visual para o contexto especificado do dispositivo, tipicamente um DC de impressora.
BOOL PrintWindow(
CDC* pDC,
UINT nFlags) const;
Parâmetros
pDC
Um apontador para o contexto do dispositivo a ser impresso.
nFlags
Especifica as opções de desenho. Para uma lista de valores possíveis, veja PrintWindow.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função PrintWindow, conforme descrito no SDK do Windows.
CWnd::RedrawWindow
Atualiza o retângulo ou região especificado na área cliente da janela em questão.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
CRgn* prgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);
Parâmetros
lpRectUpdate
Aponta para uma RECT estrutura contendo as coordenadas do retângulo de atualização. Este parâmetro é ignorado se prgnUpdate contiver um handle de região válido.
prgnUpdate
Identifica a região de atualização. Se ambos prgnUpdate e lpRectUpdate forem NULL, toda a área do cliente é adicionada à região de atualização.
flags
As seguintes bandeiras são usadas para invalidar a janela:
RDW_ERASEFaz com que a janela receba umaWM_ERASEBKGNDmensagem quando a janela é repintada. ARDW_INVALIDATEbandeira também deve ser especificada; caso contrário, RDW_ERASE não tem efeito.RDW_FRAMEFaz com que qualquer parte da área não-cliente da janela que intersecte a região de atualização receba umaWM_NCPAINTmensagem. ARDW_INVALIDATEbandeira também deve ser especificada; caso contrárioRDW_FRAME, não tem efeito.RDW_INTERNALPAINTFaz com que umaWM_PAINTmensagem seja publicada na janela independentemente de esta conterem ou não uma região inválida.RDW_INVALIDATEInvalidarlpRectUpdateouprgnUpdate(apenas um pode nãoNULLser ). Se ambos foremNULL, toda a janela é invalidada.
As seguintes bandeiras são usadas para validar a janela:
RDW_NOERASESuprime quaisquer mensagens pendentesWM_ERASEBKGND.RDW_NOFRAMESuprime quaisquer mensagens pendentesWM_NCPAINT. Esta bandeira deve ser usada comRDW_VALIDATEe é tipicamente usada comRDW_NOCHILDREN. Esta opção deve ser usada com cuidado, pois pode impedir que partes de uma janela pintem corretamente.RDW_NOINTERNALPAINTSuprime quaisquer mensagens internasWM_PAINTpendentes. Esta bandeira não afetaWM_PAINTmensagens resultantes de áreas inválidas.RDW_VALIDATEValidalpRectUpdateouprgnUpdate(apenas um pode nãoNULLser ). Se ambos foremNULL, toda a janela é validada. Esta bandeira não afeta as mensagens internasWM_PAINT.
As seguintes bandeiras controlam quando ocorre a repintura. A pintura não é realizada pela RedrawWindow função a menos que uma destas partes seja especificada.
RDW_ERASENOWFaz com que as janelas afetadas (conforme especificado pelosRDW_ALLCHILDRENflags de andRDW_NOCHILDREN) recebamWM_NCPAINTmensagens de andWM_ERASEBKGND, se necessário, antes de a função regressar.WM_PAINTAs mensagens são adiadas.RDW_UPDATENOWFaz com que as janelas afetadas (conforme especificado pelasRDW_ALLCHILDRENflags e)RDW_NOCHILDRENrecebamWM_NCPAINT,WM_ERASEBKGND, eWM_PAINTmensagens, se necessário, antes de a função regressar.
Por defeito, as janelas afetadas pela RedrawWindow função dependem de a janela especificada ter ou não esse estilo WS_CLIPCHILDREN . As janelas crianças das WS_CLIPCHILDREN janelas não são afetadas. No entanto, as janelas que não WS_CLIPCHILDREN são janelas são recursivamente validadas ou invalidadas até que uma WS_CLIPCHILDREN janela seja encontrada. As seguintes bandeiras controlam que janelas são afetadas pela RedrawWindow função:
RDW_ALLCHILDRENInclui janelas infantis, se houver, na operação de repintura.RDW_NOCHILDRENExclui as janelas crianças, se existirem, da operação de repintura.
Valor de retorno
Diferente de zero se a janela fosse redesenhada com sucesso; caso contrário, 0.
Observações
Quando a RedrawWindow função membro é usada para invalidar parte da janela do ambiente de trabalho, essa janela não recebe uma WM_PAINT mensagem. Para repintar o ambiente de trabalho, uma aplicação deve usar CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindow, ou RedrawWindow
CWnd::ReflectChildNotify
Esta função de mensagem é chamada pelo framework a partir de OnChildNotify.
BOOL ReflectChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parâmetros
message
Especifica a mensagem a refletir.
wParam
Especifica informação adicional dependente da mensagem.
lParam
Especifica informação adicional dependente da mensagem.
pResult
O resultado gerado pela janela filho será devolvido pela janela pai. Pode ser NULL.
Valor de retorno
TRUE se a mensagem fosse refletida; caso contrário FALSE.
Observações
É uma função auxiliar que reflete message na sua origem.
As mensagens refletidas são enviadas diretamente para CWnd::OnWndMsg ou CCmdTarget::OnCmdMsg.
Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.
CWnd::ReflectLastMsg
Esta função membro é chamada pelo framework para refletir a última mensagem para a janela filha.
static BOOL PASCAL ReflectLastMsg(
HWND hWndChild,
LRESULT* pResult = NULL);
Parâmetros
hWndChild
Uma maçaneta para uma janela de criança.
pResult
O resultado gerado pela janela filho será devolvido pela janela pai. Pode ser NULL.
Valor de retorno
Não nula se a mensagem foi tratada; caso contrário, 0.
Observações
Esta função membro chama SendChildNotifyLastMsg se a janela identificada por hWndChild é um controlo OLE ou uma janela no mapa permanente.
Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.
CWnd::ReleaseDC
Liberta o contexto de um dispositivo, libertando-o para uso por outras aplicações.
int ReleaseDC(CDC* pDC);
Parâmetros
pDC
Identifica o contexto do dispositivo a ser libertado.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
O efeito da ReleaseDC função membro depende do tipo de contexto do dispositivo.
A aplicação deve chamar a ReleaseDC função membro para cada chamada à GetWindowDC função membro e para cada chamada à GetDC função membro.
CWnd::RepositionBars
Chamado para reposicionar e redimensionar barras de controlo na área do cliente de uma janela.
void RepositionBars(UINT nIDFirst,
UINT nIDLast,
UINT nIDLeftOver,
UINT nFlag = reposDefault,
LPRECT lpRectParam = NULL,
LPCRECT lpRectClient = NULL,
BOOL bStretch = TRUE) ;
Parâmetros
nIDFirst
O ID do primeiro numa série de barras de controlo para reposicionar e redimensionar.
nIDLast
O ID do último numa série de barras de controlo para reposicionar e redimensionar.
nIDLeftOver
Especifica o ID do painel que ocupa o resto da área do cliente.
nFlag
Pode ter um dos seguintes valores:
CWnd::reposDefaultExecuta a disposição das barras de controlo.lpRectParamnão é usado e pode serNULL.CWnd::reposQueryA disposição das barras de controlo não está feita; em vez dissolpRectParam, é inicializado com o tamanho da área do cliente, como se o layout tivesse sido realmente feito.CWnd::reposExtraSoma os valores delpRectParamà área do cliente denIDLaste também executa o layout.
lpRectParam
Aponta para uma RECT estrutura; cujo uso depende do valor de nFlag.
lpRectClient
Aponta para uma RECT estrutura que contém a área disponível do cliente. Se NULL, a área do cliente da janela será utilizada.
bStretch
Indica se a barra deve ser esticada ao tamanho da estrutura.
Observações
Os nIDFirst parâmetros e nIDLast definem um intervalo de IDs de barra de controlo a serem reposicionados na área do cliente. O nIDLeftOver parâmetro especifica o ID da janela filho (normalmente a vista), que é reposicionada e redimensionada para preencher o resto da área do cliente não preenchida por barras de controlo.
CWnd::RunModalLoop
Chame esta função membro para recuperar, traduzir ou despachar mensagens até ContinueModal que retorne FALSE.
int RunModalLoop(DWORD dwFlags = 0);
Parâmetros
dwFlags
Especifica a mensagem do Windows a ser enviada. Pode ser um dos seguintes valores:
MLF_NOIDLEMSGNão enviesWM_ENTERIDLEmensagens ao progenitor.MLF_NOKICKIDLENão enviesWM_KICKIDLEmensagens para a janela.MLF_SHOWONIDLEMostra a janela quando a fila de mensagens ficar inativa.
Valor de retorno
Especifica o valor do nResult parâmetro passado para a EndModalLoop função membro, que é então usado para terminar o ciclo modal.
Observações
Por defeito, ContinueModal os retornos FALSE seguintes EndModalLoop são chamados. Devolve o valor fornecido para nResultEndModalLoop.
CWnd::ScreenToClient
Converte as coordenadas do ecrã de um dado ponto ou retângulo no ecrã para coordenadas do cliente.
void ScreenToClient(LPPOINT lpPoint) const;
void ScreenToClient(LPRECT lpRect) const;
Parâmetros
lpPoint
Aponta para um CPoint objeto ou POINT estrutura que contém as coordenadas do ecrã a converter.
lpRect
Aponta para um CRect objeto ou RECT estrutura que contém as coordenadas do ecrã a converter.
Observações
A ScreenToClient função membro substitui as coordenadas do ecrã indicadas em lpPoint ou lpRect pelas coordenadas do cliente. As novas coordenadas são relativas ao canto superior esquerdo da CWnd área do cliente.
Example
Veja o exemplo para CListCtrl::GetItemRect.
CWnd::ScrollWindow
Desloca o conteúdo da área cliente do objeto atual CWnd .
void ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
Parâmetros
xAmount
Especifica a quantidade, em unidades de dispositivo, de scrolling horizontal. Este parâmetro deve ser um valor negativo para deslocar-se para a esquerda.
yAmount
Especifica a quantidade, em unidades de dispositivo, de scrolling vertical. Este parâmetro deve ser um valor negativo para subir.
lpRect
Aponta para um CRect objeto ou RECT estrutura que especifica a porção da área do cliente a ser deslocada. Se lpRect for NULL, toda a área do cliente é deslocada. O caret é reposicionado se o retângulo do cursor intersectar o retângulo scroll.
lpClipRect
Aponta para um CRect objeto ou RECT estrutura que especifica o retângulo de recorte a rolar. Apenas as partes dentro deste retângulo são deslocadas. Os bits fora deste retângulo não são afetados, mesmo que estejam dentro do lpRect retângulo. Se lpClipRect for NULL, não é realizado nenhum recorte no retângulo de deslocamento.
Observações
Se o caret estiver no CWnd scroll, ScrollWindow esconde automaticamente o caret para evitar que seja apagado e depois restaura o caret quando o scroll termina. A posição do caret é ajustada em conformidade.
A área descoberta pela ScrollWindow função membro não é repintada, mas sim combinada na região de atualização do objeto atual CWnd . A aplicação irá eventualmente receber uma WM_PAINT mensagem a notificar que a região precisa de ser repintada. Para repintar a área descoberta ao mesmo tempo que o scroll é feito, chame a UpdateWindow função membro imediatamente após a chamada ScrollWindow.
Se lpRect for NULL, as posições de quaisquer janelas filhos na janela são deslocadas pela quantidade especificada por xAmount e yAmount, e quaisquer áreas inválidas (não pintadas) na CWnd também são deslocadas.
ScrollWindow é mais rápido quando lpRect é NULL.
Se lpRect não NULLfor , as posições das janelas filhas não são alteradas, e as áreas inválidas em CWnd não são deslocadas. Para evitar problemas de atualização quando lpRect não está , chame a UpdateWindow função membro para repintar CWnd antes de chamar ScrollWindowNULL.
CWnd::ScrollWindowEx
Desloca o conteúdo da área cliente de uma janela.
int ScrollWindowEx(
int dx,
int dy,
LPCRECT lpRectScroll,
LPCRECT lpRectClip,
CRgn* prgnUpdate,
LPRECT lpRectUpdate,
UINT flags);
Parâmetros
dx
Especifica a quantidade, em unidades de dispositivo, de scrolling horizontal. Este parâmetro deve ter um valor negativo para se deslocar para a esquerda.
dy
Especifica a quantidade, em unidades de dispositivo, de scrolling vertical. Este parâmetro deve ter um valor negativo para subir.
lpRectScroll
Aponta para uma RECT estrutura que especifica a porção da área do cliente a ser deslocada. Se este parâmetro for NULL, toda a área do cliente é deslocada.
lpRectClip
Aponta para uma RECT estrutura que especifica o retângulo de recorte a rolar. Esta estrutura tem precedência sobre o retângulo apontado para por lpRectScroll. Apenas as partes dentro deste retângulo são deslocadas. Os bits fora deste retângulo não são afetados, mesmo que estejam dentro do lpRectScroll retângulo. Se este parâmetro for NULL, não é realizado clipping no retângulo de scroll.
prgnUpdate
Identifica a região que foi modificada para manter a região invalidada por scrolling. Este parâmetro pode ser NULL.
lpRectUpdate
Aponta para uma RECT estrutura que receberá os limites do retângulo invalidados por scrolling. Este parâmetro pode ser NULL.
flags
Pode ter um dos seguintes valores:
SW_ERASEQuando especificado comSW_INVALIDATE, apaga a região recém-invalidada enviando umaWM_ERASEBKGNDmensagem para a janela.SW_INVALIDATEInvalida a região identificada porprgnUpdatedepois de deslocar.SW_SCROLLCHILDRENDesloca todas as janelas filhas que intersectam o retângulo apontadas porlpRectScrollpelo número de pixels especificados emdxedy. O Windows envia umaWM_MOVEmensagem a todas as janelas filhas que se cruzamlpRectScroll, mesmo que não se movem. O caret é reposicionado quando uma janela filha é deslocada e o retângulo do cursor intersecta o retângulo de scroll.
Valor de retorno
O valor de retorno é SIMPLEREGION (região invalidada retangular), COMPLEXREGION (região invalidada não retangular; retângulos sobrepostos), ou NULLREGION (nenhuma região invalidada), se a função for bem-sucedida; caso contrário, o valor de retorno é ERROR.
Observações
Esta função é semelhante à ScrollWindow função, com algumas funcionalidades adicionais.
Se SW_INVALIDATE e SW_ERASE não forem especificados, a ScrollWindowEx função membro não invalida a área de onde se está a deslocar. Se alguma destas bandeiras estiver definida, ScrollWindowEx invalida esta área. A área não é atualizada até que a aplicação chame a UpdateWindow função membro, chame a RedrawWindow função membro (especificando RDW_UPDATENOW ou RDW_ERASENOW), ou recupere a WM_PAINT mensagem da fila da aplicação.
Se a janela tiver o WS_CLIPCHILDREN estilo, as áreas devolvidas especificadas por prgnUpdate e lpRectUpdate representam a área total da janela deslocada que deve ser atualizada, incluindo quaisquer áreas nas janelas filhos que necessitem de atualização.
Se o SW_SCROLLCHILDREN flag for especificado, o Windows não atualizará corretamente o ecrã se parte de uma janela filha estiver deslocada. A parte da janela filha deslocada que está fora do retângulo de origem não será apagada e não será redesenhada corretamente no seu novo destino. Use a DeferWindowPos função Windows para mover janelas filhas que não fiquem completamente dentro do lpRectScroll retângulo. O cursor é reposicionado se a SW_SCROLLCHILDREN bandeira estiver definida e o retângulo de caret intersectar o retângulo de deslocamento.
Todas as coordenadas de entrada e saída (para , , , e prgnUpdate) são assumidas como estando em coordenadas do cliente, independentemente de a janela ter o CS_OWNDC estilo da classe ouCS_CLASSDC. lpRectUpdatelpRectCliplpRectScroll Use as LPtoDP funções e DPtoLP do Windows para converter para e a partir de coordenadas lógicas, se necessário.
CWnd::SendChildNotifyLastMsg
Esta função membro é chamada pelo framework para fornecer uma mensagem de notificação a uma janela filha, a partir da janela mãe, para que a janela filha possa tratar de uma tarefa.
BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);
Parâmetros
pResult
O resultado gerado pela janela filho será devolvido pela janela pai.
Valor de retorno
Diferente de zero se a janela filho tiver tratado a mensagem enviada ao seu pai; caso contrário, 0.
Observações
SendChildNotifyLastMsg Envie a mensagem atual para a fonte se for uma mensagem refletida.
Para mais informações sobre reflexão de mensagens, consulte Gestão de Mensagens Refletidas.
CWnd::SendDlgItemMessage
Envia uma mensagem para um controlo.
LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parâmetros
nID
Especifica o identificador do controlo de diálogo que irá receber a mensagem.
message
Especifica a mensagem a enviar.
wParam
Especifica informação adicional dependente da mensagem.
lParam
Especifica informação adicional dependente da mensagem.
Valor de retorno
Especifica o valor devolvido pelo procedimento da janela do controlo, ou 0 se o controlo não for encontrado.
Observações
A SendDlgItemMessage função membro não retorna até que a mensagem tenha sido processada.
Usar SendDlgItemMessage é idêntico a obter um CWnd* para o controlo dado e chamar a SendMessage função membro.
Example
void CMyDlg::SetSpinRange()
{
//set the min and max range of the up/down or spin control
SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}
CWnd::SendMessage
Envia a mensagem especificada para esta janela.
LRESULT SendMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parâmetros
message
Especifica a mensagem a enviar.
wParam
Especifica informação adicional dependente da mensagem.
lParam
Especifica informação adicional dependente da mensagem.
Valor de retorno
O resultado do processamento da mensagem; O seu valor depende da mensagem enviada.
Observações
A SendMessage função membro chama diretamente o procedimento janela e não retorna até que esse procedimento tenha processado a mensagem. Isto contrasta com a PostMessage função membro, que coloca a mensagem na fila de mensagens da janela e retorna imediatamente.
Example
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::SendMessageToDescendants
Chame esta função membro para enviar a mensagem Windows especificada para todas as janelas descendentes.
void SendMessageToDescendants(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0,
BOOL bDeep = TRUE,
BOOL bOnlyPerm = FALSE);
Parâmetros
message
Especifica a mensagem a enviar.
wParam
Especifica informação adicional dependente da mensagem.
lParam
Especifica informação adicional dependente da mensagem.
bDeep
Especifica o nível de pesquisa. Se TRUE, pesquisa recursivamente todos os filhos; se FALSE, pesquisa apenas filhos imediatos.
bOnlyPerm
Especifica se a mensagem será recebida por janelas temporárias. Se TRUE, janelas temporárias podem receber a mensagem; se FALSE, apenas janelas permanentes recebem a mensagem. Para mais informações sobre janelas temporárias, consulte a Nota Técnica 3.
Observações
Se bDeep for FALSE, a mensagem é enviada apenas para os filhos imediatos da janela; caso contrário, a mensagem é enviada para todas as janelas descendentes.
Se bDeep e bOnlyPerm forem TRUE, a pesquisa continua abaixo das janelas temporárias. Neste caso, apenas as janelas permanentes encontradas durante a pesquisa recebem a mensagem. Se bDeep for FALSE, a mensagem é enviada apenas aos filhos imediatos da janela.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;
lf.lfHeight = 15; // Request a 15-pixel-high font
// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
m_font.CreateFontIndirect(&lf); // Create the font.
SendMessageToDescendants(WM_SETFONT,
(WPARAM)m_font.m_hObject, //handle to font
MAKELONG((WORD)fRedraw, 0),
FALSE); // send to all descendants(TRUE) or
// just children of *this (FALSE)
CWnd::SendNotifyMessage
Envia a mensagem especificada para a janela.
BOOL SendNotifyMessage(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parâmetros
message
Especifica a mensagem a enviar.
wParam
Especifica informação adicional dependente da mensagem.
lParam
Especifica informação adicional dependente da mensagem.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
Se a janela foi criada pelo thread que chama, SendNotifyMessage chama o procedimento da janela para a janela e não retorna até que o procedimento da janela tenha processado a mensagem. Se a janela foi criada por um thread diferente, SendNotifyMessage passa a mensagem para o procedimento da janela e retorna imediatamente; não espera que o procedimento da janela termine de processar a mensagem.
CWnd::SetActiveWindow
Faz CWnd a janela ativa.
CWnd* SetActiveWindow();
Valor de retorno
A janela que antes estava ativa.
O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
A SetActiveWindow função membro deve ser usada com cuidado, pois permite a uma aplicação assumir arbitrariamente a janela ativa e o foco de entrada. Normalmente, o Windows trata de toda a ativação.
CWnd::SetCapture
Faz com que toda a entrada subsequente do rato seja enviada para o objeto atual CWnd , independentemente da posição do cursor.
CWnd* SetCapture();
Valor de retorno
Um apontador para o objeto janela que anteriormente recebia toda a entrada do rato. É NULL , se não houver tal janela. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
Quando CWnd deixar de requerer toda a entrada do rato, a aplicação deve chamar a ReleaseCapture função para que outras janelas possam receber a entrada do rato.
Enquanto a entrada do rato é capturada, nenhuma WM_NCHITTESTWM_SETCURSOR mensagem de OR é enviada para a janela ativa.
CWnd::SetCaretPos
Define a posição do carinho.
static void PASCAL SetCaretPos(POINT point);
Parâmetros
point
Especifica as novas coordenadas x e y (nas coordenadas do cliente) do caret.
Observações
A SetCaretPos função membro move o caret apenas se este pertencer a uma janela na tarefa atual.
SetCaretPos move o caret quer este esteja escondido ou não.
O caret é um recurso partilhado. Uma janela não deve mover o caret se não possuir o caret.
Example
// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
//create a solid caret, the width is 2, the length is 20.
CreateSolidCaret(2, 20);
SetCaretPos(point);
ShowCaret();
CView::OnLButtonDown(nFlags, point);
}
CWnd::SetClipboardViewer
Adiciona esta janela à cadeia de janelas que são notificadas (através da WM_DRAWCLIPBOARD mensagem) sempre que o conteúdo da Área de Transferência é alterado.
HWND SetClipboardViewer();
Valor de retorno
Uma alavanca para a próxima janela na cadeia Clipboard-viewer se for bem-sucedida. As aplicações devem guardar este handle (pode ser armazenado como variável membro) e utilizá-lo ao responder a mensagens em cadeia do visualizador de Clipboard.
Observações
Uma janela que faz parte da cadeia Clipboard-viewer deve responder às WM_DRAWCLIPBOARDmensagens , WM_CHANGECBCHAIN, e WM_DESTROY passar a mensagem para a próxima janela da cadeia.
Esta função membro envia uma WM_DRAWCLIPBOARD mensagem para a janela. Como o handle para a próxima janela na cadeia Clipboard-viewer ainda não foi devolvido, a aplicação não deve transmitir a WM_DRAWCLIPBOARD mensagem que recebe durante a chamada para SetClipboardViewer.
Para se remover da cadeia Clipboard-viewer, uma aplicação deve chamar a ChangeClipboardChain função membro.
CWnd::SetDlgCtrlID
Define o ID da janela ou ID de controlo da janela para um novo valor.
int SetDlgCtrlID(int nID);
Parâmetros
nID
O novo valor a definir para o identificador do controlo.
Valor de retorno
O identificador anterior da janela, se for bem-sucedido; caso contrário, 0.
Observações
A janela pode ser qualquer janela filha, não apenas um controlo numa caixa de diálogo. A janela não pode ser uma janela de nível superior.
CWnd::SetDlgItemInt
Define o texto de um determinado controlo numa caixa de diálogo para a representação da cadeia de um valor inteiro especificado.
void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned = TRUE);
Parâmetros
nID
Especifica o ID inteiro do controlo a ser alterado.
nValue
Especifica o valor inteiro usado para gerar o texto do item.
bSigned
Especifica se o valor inteiro é assinado ou não. Se este parâmetro for TRUE, nValue está assinado. Se este parâmetro for TRUE e nValue for menor que 0, um sinal menos é colocado antes do primeiro dígito da cadeia. Se este parâmetro for FALSE, nValue é sem sinal.
Observações
SetDlgItemInt envia uma WM_SETTEXT mensagem para o controlo dado.
Example
Veja o exemplo para CWnd::SetDlgItemText.
CWnd::SetDlgItemText
Define a legenda ou texto de um controlo pertencente a uma janela ou caixa de diálogo.
void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parâmetros
nID
Identifica o controlo cujo texto deve ser definido.
lpszString
Aponta para um CString objeto ou cadeia terminada por null que contém o texto a ser copiado para o controlo.
Observações
SetDlgItemText envia uma WM_SETTEXT mensagem para o controlo dado.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);
CWnd::SetForegroundWindow
Coloca o fio que criou a janela em primeiro plano e ativa a janela.
BOOL SetForegroundWindow();
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
A entrada do teclado é direcionada para a janela, e vários sinais visuais são alterados para o utilizador. A janela em primeiro plano é a janela com a qual o utilizador está a trabalhar atualmente. A janela em primeiro plano aplica-se apenas às janelas de nível superior (janelas de moldura ou caixas de diálogo).
Example
Veja o exemplo para CWnd::FindWindow.
CWnd::SetFocus
Afirma o foco de entrada.
CWnd* SetFocus();
Valor de retorno
Um apontador para o objeto janela que anteriormente tinha o foco de entrada. É NULL , se não houver tal janela. O ponteiro devolvido pode ser temporário e não deve ser guardado.
Observações
O foco de entrada direciona todas as entradas subsequentes do teclado para esta janela. Qualquer janela que antes tivesse o foco de entrada perde-o.
A SetFocus função membro envia uma WM_KILLFOCUS mensagem para a janela que perde o foco de entrada e uma WM_SETFOCUS mensagem para a janela que recebe o foco de entrada. Também ativa a janela ou o seu pai.
Se a janela atual estiver ativa mas não tiver o foco (ou seja, nenhuma janela tiver o foco), qualquer tecla pressionada produzirá as mensagens WM_SYSCHAR, WM_SYSKEYDOWN, ou WM_SYSKEYUP.
CWnd::SetFont
Envia a WM_SETFONT mensagem para a janela para usar a fonte especificada.
void SetFont(
CFont* pFont,
BOOL bRedraw = TRUE);
Parâmetros
pFont
Ponteiro para um objeto CFont.
bRedraw
TRUE para que a janela volte a desenhar imediatamente após processar a WM_SETFONT mensagem; caso contrário FALSE.
Observações
Este método não tem efeito a menos que a janela processe a WM_SETFONT mensagem. Muitas classes MFC que derivam de CWnd processam esta mensagem porque estão associadas a uma classe janela predefinida que inclui um manipulador de mensagens para a WM_SETFONT mensagem. Para usar este método, as classes de CWnd onde se deriva devem definir um handler de método para a WM_SETFONT mensagem.
CWnd::SetIcon
Chame esta função membro para definir o handle para um ícone específico, identificado por hIcon.
HICON SetIcon(
HICON hIcon,
BOOL bBigIcon);
Parâmetros
hIcon
Uma alça de um ícone anterior.
bBigIcon
Especifica um ícone de 32 píxeis por 32 píxeis se TRUE; especifica um ícone de 16 píxeis por 16 píxeis se FALSE.
Valor de retorno
Um identificador para um ícone.
Observações
Quando a classe janela é registada, seleciona um ícone.
Example
Veja o exemplo para CWnd::GetSystemMenu.
CWnd::SetLayeredWindowAttributes
Define a chave de cor opacidade e transparência de uma janela em camadas.
BOOL SetLayeredWindowAttributes(
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);
Parâmetros
crKey
Apontador para um COLORREF valor que especifica a chave de cor de transparência a ser usada ao compor a janela em camadas. Todos os píxeis pintados pela janela nesta cor serão transparentes. Para gerar um COLORREF, use a RGB macro.
bAlpha
Valor alfa usado para descrever a opacidade da janela em camadas. Para mais informações, consulte o SourceConstantAlpha elemento da BLENDFUNCTION estrutura. Quando bAlpha é 0, a janela é completamente transparente. Quando bAlpha é 255, a janela é opaca.
dwFlags
Especifica uma ação a tomar. Este parâmetro pode ser um ou mais dos seguintes valores. Para uma lista de valores possíveis, veja SetLayeredWindowAttributes.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função SetLayeredWindowAttributes, conforme descrito no SDK do Windows.
CWnd::SetMenu
Define o menu atual para o menu especificado.
BOOL SetMenu(CMenu* pMenu);
Parâmetros
pMenu
Identifica o novo menu. Se este parâmetro for NULL, o menu atual é removido.
Valor de retorno
Diferente de zero se o menu for alterado; caso contrário, 0.
Observações
Faz com que a janela seja redesenhada para refletir a alteração do menu.
SetMenu Não vai destruir um menu anterior. Uma aplicação deve chamar a CMenu::DestroyMenu função membro para realizar esta tarefa.
Example
Veja o exemplo para CMenu::LoadMenu.
CWnd::SetOwner
Define o proprietário da janela atual para o objeto janela especificado.
void SetOwner(CWnd* pOwnerWnd);
Parâmetros
pOwnerWnd
Identifica o novo proprietário do objeto janela. Se este parâmetro for NULL, o objeto janela não tem proprietário.
Observações
Este proprietário pode então receber mensagens de comando do objeto janela atual. Por defeito, o pai da janela atual é o seu proprietário.
É frequentemente útil estabelecer ligações entre objetos janela que não estão relacionadas com a hierarquia da janela. Por exemplo, CToolBar envia notificações ao seu proprietário em vez de ao pai. Isto permite que a barra de ferramentas se torne filha de uma janela (como uma janela de aplicação de contentor OLE) enquanto envia notificações para outra janela (como a janela de frames no local). Além disso, quando uma janela de servidor é desativada ou ativada durante a edição no local, qualquer janela pertencente à janela do frame fica oculta ou mostrada. Esta propriedade é explicitamente definida com uma chamada para SetOwner.
O conceito de propriedade desta função é diferente do conceito de propriedade de GetWindow.
CWnd::SetParent
Altera a janela de pai de uma janela filha.
CWnd* SetParent(CWnd* pWndNewParent);
Parâmetros
pWndNewParent
Identifica a nova janela principal.
Valor de retorno
Um apontador para o objeto da janela pai anterior, se for bem-sucedido. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
Se a janela filha estiver visível, o Windows realiza o redesenho e repintura apropriados.
CWnd::SetProperty
Chame esta função membro para definir a propriedade de controlo OLE especificada por dwDispID.
void AFX_CDECL SetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
Parâmetros
dwDispID
Identifica a propriedade a definir.
vtProp
Especifica o tipo de propriedade a definir. Para valores possíveis, veja a secção Observações para COleDispatchDriver::InvokeHelper.
...
Um único parâmetro do tipo especificado por vtProp.
Observações
Observação
Esta função deve ser chamada apenas num CWnd objeto que represente um controlo OLE.
Para mais informações sobre a utilização desta função membro com os Contentores de Controlo OLE, consulte o artigo Contentores de Controlo ActiveX: Programar Controlos ActiveX num Contentor de Controlo ActiveX.
CWnd::SetRedraw
Uma aplicação pede SetRedraw para permitir que alterações sejam redesenhadas ou para impedir que alterações sejam redesenhadas.
void SetRedraw(BOOL bRedraw = TRUE);
Parâmetros
bRedraw
Especifica o estado da bandeira de redesenho. Se este parâmetro for TRUE, a bandeira de redesenho é definida; se FALSE, a bandeira é limpa.
Observações
Esta função membro define ou limpa a bandeira de redesenho. Enquanto a bandeira de redesenho estiver limpa, o conteúdo não será atualizado após cada alteração e não será repintado até que a bandeira de redesenho esteja definida. Por exemplo, uma aplicação que precisa de adicionar vários itens a uma caixa de lista pode limpar o flag de redesenho, adicionar os itens e depois definir o flag de redesenho. Finalmente, a aplicação pode chamar a Invalidate função membro ou InvalidateRect para fazer com que a caixa de lista seja repintada.
Example
// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing
//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode
//
// Update control
//
m_List.SetRedraw(TRUE); // turn drawing back on and update the window
// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();
CWnd::SetScrollInfo
Chame esta função membro para definir a informação que a SCROLLINFO estrutura mantém sobre uma barra de deslocamento.
BOOL SetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parâmetros
nBar
Especifica se a barra de deslocamento é um controlo ou parte da área não cliente de uma janela. Se fizer parte da área não cliente, nBar indica também se a barra de scroll está posicionada horizontalmente, verticalmente, ou ambas. Deve ser um dos seguintes:
SB_CTLContém os parâmetros para um controlo de barra de deslocamento. Om_hWndelemento de dados deve ser o alavanca do controlo da barra de deslocamento.SB_HORZEspecifica que a janela é uma barra de scroll horizontal.SB_VERTEspecifica que a janela é uma barra de scroll vertical.
lpScrollInfo
Um ponteiro para uma SCROLLINFO estrutura. Consulte o Windows SDK para mais informações sobre esta estrutura.
bRedraw
Especifica se a barra de deslocamento deve ser redesenhada para refletir a nova posição. Se bRedraw for TRUE, a barra de deslocamento é redesenhada. Se for, FALSEnão é redesenhado. A barra de scroll é redesenhada por defeito.
Valor de retorno
Se for bem-sucedido, o retorno é TRUE. Caso contrário, é FALSE.
Observações
A SCROLLINFO estrutura contém informações sobre uma barra de deslocamento, incluindo as posições mínima e máxima, o tamanho da página e a posição da caixa de deslocamento (o polegar). Consulte o SCROLLINFO tópico de estrutura no SDK do Windows para mais informações sobre como alterar os padrões de estrutura.
Os manipuladores de mensagens do Windows MFC que indicam a posição da barra de deslocamento, CWnd::OnHScroll e CWnd::OnVScroll, fornecem apenas 16 bits de dados de posição.
GetScrollInfo e SetScrollInfo fornecem 32 bits de dados de posição da barra de deslocamento. Assim, uma aplicação pode chamar GetScrollInfo enquanto processa ou CWnd::OnVScrollCWnd::OnHScroll para obter dados de posição em barra de scroll de 32 bits.
Observação
CWnd::GetScrollInfo permite que as aplicações utilizem posições de barras de deslocamento de 32 bits.
CWnd::SetScrollPos
Define a posição atual de uma caixa de deslocamento e, se solicitado, volta a desenhar a barra de deslocamento para refletir a nova posição da caixa.
int SetScrollPos(
int nBar,
int nPos,
BOOL bRedraw = TRUE);
Parâmetros
nBar
Especifica a barra de scroll a definir. Este parâmetro pode ser um dos seguintes:
SB_HORZDefine a posição da caixa de deslocamento na barra horizontal da janela.SB_VERTDefine a posição da caixa de deslocamento na barra vertical da janela.
nPos
Especifica a nova posição da caixa de deslocamento. Tem de estar dentro do intervalo de scroll.
bRedraw
Especifica se a barra de deslocamento deve ser repintada para refletir a nova posição da caixa de deslocamento. Se este parâmetro for TRUE, a barra de scroll é repintada; se FALSE, a barra de scroll não é repintada.
Valor de retorno
A posição anterior da caixa de pergaminhos.
Observações
Definir bRedraw para FALSE é útil sempre que a barra de scroll for redesenhada por uma chamada subsequente a outra função.
CWnd::SetScrollRange
Define valores mínimos e máximos de posição para a barra de deslocação dada.
void SetScrollRange(
int nBar,
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parâmetros
nBar
Especifica a barra de scroll a definir. Este parâmetro pode ser um dos seguintes valores:
SB_HORZDefine o alcance da barra horizontal da janela.SB_VERTDefine o alcance da barra vertical da janela.
nMinPos
Especifica a posição mínima de scroll.
nMaxPos
Especifica a posição máxima de scroll.
bRedraw
Especifica se a barra de deslocamento deve ser redesenhada para refletir a alteração. Se bRedraw for TRUE, a barra de scroll é redesenhada; se FALSE, a barra de scroll não é redesenhada.
Observações
Também pode ser usado para ocultar ou mostrar barras de scroll padrão.
Uma aplicação não deve chamar esta função para esconder uma barra de deslocamento enquanto processa uma mensagem de notificação na barra de deslocamento.
Se a chamada para SetScrollRange seguir imediatamente a uma chamada para a SetScrollPos função membro, o bRedraw parâmetro na SetScrollPos função membro deve ser 0 para evitar que a barra de scroll seja desenhada duas vezes.
O intervalo padrão para uma barra de scroll padrão é de 0 a 100. O intervalo padrão para um controlo de barra de deslocamento está vazio (ambos os nMinPos valores de e nMaxPos são 0). A diferença entre os valores especificados por nMinPos e nMaxPos não pode ser maior que INT_MAX.
CWnd::SetTimer
Instala um temporizador do sistema.
UINT_PTR SetTimer(
UINT_PTR nIDEvent,
UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND,
UINT,
UINT_PTR,
DWORD));
Parâmetros
nIDEvent
Especifica um identificador de temporizador diferente de zero. Se o identificador do temporizador for único, este mesmo valor é devolvido por SetTimer. Caso contrário, SetTimer determina um novo valor único e devolve-o. Para um temporizador de janela (que tem uma NULL função de callback), o valor deve ser único apenas para outros temporizadores de janelas associados à janela atual. Para um temporizador de callback, o valor deve ser único para todos os temporizadores em todos os processos. Por isso, ao criar um temporizador de callback, é mais provável que o valor devolvido seja diferente do valor que especifica.
nElapse
Especifica o valor de time-out, ou intervalo, em milissegundos.
lpfnTimer
Especifica o endereço da função de callback fornecida TimerProc pela aplicação que processa as WM_TIMER mensagens. Se este parâmetro for NULL, as WM_TIMER mensagens são colocadas na fila de mensagens da aplicação e tratadas pelo CWnd objeto.
Valor de retorno
O identificador do temporizador do novo temporizador se a função for bem-sucedida. Este valor pode ou não ser igual ao valor passado através do nIDEvent parâmetro. Uma aplicação deve sempre passar o valor de retorno para a KillTimer função membro para eliminar o temporizador. Não nulo se for bem-sucedido; caso contrário, 0.
Observações
É especificado um valor de intervalo e, sempre que o intervalo termina, o sistema envia uma WM_TIMER mensagem para a fila de mensagens de instalação da aplicação instaladora ou passa a mensagem para uma função de callback definida TimerProc pela aplicação.
A lpfnTimer função de callback não precisa de ser chamada TimerProc, mas deve ser declarada como estática e definida da seguinte forma.
void CALLBACK TimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time);
Example
Este exemplo usa CWnd::SetTimer, CWnd::OnTimer, e CWnd::KillTimer para tratar WM_TIMER mensagens. O primeiro temporizador é configurado para enviar uma WM_TIMER mensagem para a janela principal do quadro a cada 2 segundos em OnStartTimer. O OnTimer gestor de eventos trata WM_TIMER das mensagens para a janela do quadro principal. Este método faz com que a coluna do PC emita um bip a cada 2 segundos. O segundo temporizador envia uma mensagem para a função de retorno de chamada a cada 3,75 segundos.
OnStopTimer irá parar ambos os temporizadores ao pedir CWnd::KillTimer cada ID do temporizador.
void CMainFrame::OnStartTimer()
{
// This timer uses a WM_TIMER message, not a callback.
// Therefore, the timer is specific to this window.
// m_nWindowTimer is a UINT_PTR field.
m_nWindowTimer = SetTimer(1, 2000, NULL);
// For this demo, we specify an interval that won't overlap
// with the window timer.
m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);
// See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
CString str;
str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
TRACE(str);
#endif
}
void CALLBACK CMainFrame::MyTimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time
)
{
MessageBeep(0x00000030L); // Windows question sound.
}
void CMainFrame::OnStopTimer()
{
KillTimer(m_nWindowTimer);
KillTimer(m_nCallbackTimer);
}
void CMainFrame::OnTimer(UINT nIDEvent)
{
MessageBeep(0xFFFFFFFF); // Beep
// Call base class handler.
CMDIFrameWnd::OnTimer(nIDEvent);
}
CWnd::SetWindowContextHelpId
Chame esta função membro para associar um identificador de contexto de ajuda à janela especificada.
BOOL SetWindowContextHelpId(DWORD dwContextHelpId);
Parâmetros
dwContextHelpId
O identificador de contexto da ajuda.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
Se uma janela filho não tiver um identificador de contexto de ajuda, herda o identificador da sua janela pai. Da mesma forma, se uma janela propriedade não tiver um identificador de contexto de ajuda, ela herda o identificador da sua janela proprietária. Esta herança dos identificadores de contexto de ajuda permite que uma aplicação defina apenas um identificador para uma caixa de diálogo e todos os seus controlos.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);
CWnd::SetWindowPlacement
Define o estado de exibição e as posições normais (restauradas), minimizadas e maximizadas para uma janela.
BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);
Parâmetros
lpwndpl
Aponta para uma WINDOWPLACEMENT estrutura que especifica o novo estado de exibição e as posições.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
CWnd::SetWindowPos
Altera o tamanho, a posição e a ordem Z das janelas filha, pop-up e do nível superior.
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags);
Parâmetros
pWndInsertAfter
Identifica o CWnd objeto que irá preceder (ser superior a) este CWnd objeto na ordem Z. Este parâmetro pode ser um apontador para a CWnd ou um apontador para um dos seguintes valores:
wndBottomColoca a janela na parte inferior da ordem Z. Se estaCWndfor uma janela superior, a janela perde o seu estatuto superior; o sistema coloca a janela na parte inferior de todas as outras janelas.wndTopColoca a janela no topo da ordem Z.wndTopMostColoca a janela acima de todas as janelas que não são superiores. A janela mantém a sua posição superior mesmo quando está desativada.wndNoTopMostReposiciona a janela no topo de todas as janelas que não são superiores (ou seja, atrás de todas as janelas superiores). Esta bandeira não tem efeito se a janela já for uma janela não superior.
Para regras sobre como usar este parâmetro, consulte a secção "Observações" deste tópico.
x
Especifica a nova posição do lado esquerdo da janela.
y
Especifica a nova posição do topo da janela.
cx
Especifica a nova largura da janela.
cy
Especifica a nova altura da janela.
nFlags
Especifica opções de tamanho e posicionamento. Este parâmetro pode ser uma combinação das seguintes bandeiras:
SWP_DRAWFRAMEDesenha uma moldura (definida quando a janela foi criada) à volta da janela.SWP_FRAMECHANGEDEnvia umaWM_NCCALCSIZEmensagem para a janela, mesmo que o tamanho da janela não esteja a ser alterado. Se esta bandeira não for especificada,WM_NCCALCSIZEsó é enviada quando o tamanho da janela está a ser alterado.SWP_HIDEWINDOWEsconde a janela.SWP_NOACTIVATENão ativa a janela. Se este flag não estiver definido, a janela é ativada e movida para o topo do grupo mais alto ou não superior (dependendo da definição dopWndInsertAfterparâmetro).SWP_NOCOPYBITSDescarta todo o conteúdo da área do cliente. Se este flag não for especificado, o conteúdo válido da área do cliente é guardado e copiado de volta para a área do cliente depois de a janela ser dimensionada ou reposicionada.SWP_NOMOVEMantém a posição atual (ignora osxparâmetros e).ySWP_NOOWNERZORDERNão altera a posição da janela do proprietário na ordem Z.SWP_NOREDRAWNão redesenha as alterações. Se esta bandeira for colocada, não ocorre qualquer tipo de repintura. Isto aplica-se à área do cliente, à área não-cliente (incluindo o título e as barras de scroll) e a qualquer parte da janela principal descoberta como resultado da janela movida. Quando este flag é definido, a aplicação deve invalidar ou redesenhar explicitamente quaisquer partes da janela e da janela pai que tenham de ser redesenhadas.SWP_NOREPOSITIONO mesmo queSWP_NOOWNERZORDER.SWP_NOSENDCHANGINGImpede que a janela receba aWM_WINDOWPOSCHANGINGmensagem.SWP_NOSIZEMantém o tamanho atual (ignora oscxparâmetros e).cySWP_NOZORDERMantém a ordem atual (ignorapWndInsertAfter).SWP_SHOWWINDOWMostra a janela.
Valor de retorno
Não nula se a função for bem-sucedida; caso contrário, 0.
Observações
As janelas estão ordenadas no ecrã de acordo com a sua ordem Z; a janela no topo da ordem Z aparece em cima de todas as outras janelas da ordem.
Todas as coordenadas das janelas filhos são coordenadas do cliente (em relação ao canto superior esquerdo da área do cliente da janela principal).
Uma janela pode ser movida para o topo da ordem Z, quer definindo o pWndInsertAfter parâmetro para &wndTopMost e garantindo que a SWP_NOZORDER bandeira não está definida, quer definindo a ordem Z da janela para que fique acima de qualquer janela superior existente. Quando uma janela não superior é feita por cima, as janelas próprias também são feitas por cima. Os seus proprietários não mudaram.
Uma janela mais superior deixa de ser a mais alta se for reposicionada para a parte inferior (&wndBottom) da ordem Z ou após qualquer janela não superior. Quando uma janela superior é feita sem topo, todos os seus proprietários e as janelas próprias também são feitas não superiores.
Se nem SWP_NOACTIVATESWP_NOZORDER nem for especificado (isto é, quando a aplicação solicitar que uma janela seja ativada simultaneamente e colocada na ordem Z especificada), o valor especificado em pWndInsertAfter é usado apenas nas seguintes circunstâncias:
Nenhum
&wndTopMostdos dois&wndNoTopMosté especificado nopWndInsertAfterparâmetro.Esta janela não é a janela ativa.
Uma aplicação não pode ativar uma janela inativa sem também a trazer para o topo da ordem Z. As aplicações podem alterar a ordem Z de uma janela ativada sem restrições.
Uma janela não superior pode possuir uma janela superior, mas não o contrário. Qualquer janela (por exemplo, uma caixa de diálogo) pertencente a uma janela superior é ela própria transformada numa janela superior para garantir que todas as janelas pertencentes permaneçam acima do seu proprietário.
Com as versões 3.1 e posteriores do Windows, as janelas podem ser movidas para o topo da ordem Z e bloqueadas aí definindo os seus WS_EX_TOPMOST estilos. Uma janela superior assim mantém a sua posição superior mesmo quando desativada. Por exemplo, ao selecionar o comando WinHelp Always On Top, a janela de Ajuda fica no topo, e depois permanece visível quando regressa à sua aplicação.
Para criar uma janela superior, chame SetWindowPos com o pWndInsertAfter parâmetro igual a &wndTopMost, ou defina o WS_EX_TOPMOST estilo ao criar a janela.
Se a ordem Z contiver janelas com o WS_EX_TOPMOST estilo, uma janela movida com o &wndTopMost valor é colocada no topo de todas as janelas não superiores, mas abaixo das janelas superiores. Quando uma aplicação ativa uma janela inativa sem o WS_EX_TOPMOST bit, a janela é movida acima de todas as janelas não superiores, mas abaixo de qualquer janela superior.
Se SetWindowPos é chamado quando o pWndInsertAfter parâmetro é &wndBottom e CWnd é uma janela mais alta, a janela perde o seu estado superior (WS_EX_TOPMOST está limpa), e o sistema coloca a janela na parte inferior da ordem Z.
Example
void CMyApp::OnHideApplication()
{
//m_pMainWnd is the main application window, a member of CMyApp
ASSERT_VALID(m_pMainWnd);
// hide the application's windows before closing all the documents
m_pMainWnd->ShowWindow(SW_HIDE);
m_pMainWnd->ShowOwnedPopups(FALSE);
// put the window at the bottom of z-order, so it isn't activated
m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
CWnd::SetWindowRgn
Chame esta função membro para definir a região de uma janela.
int SetWindowRgn(
HRGN hRgn,
BOOL bRedraw);
Parâmetros
hRgn
Uma pega para uma região.
bRedraw
Se TRUE, o sistema operativo redesenha a janela após definir a região; caso contrário, não o faz. Normalmente, define bRedraw para TRUE se a janela for visível. Se definido para TRUE, o sistema envia as WM_WINDOWPOSCHANGING mensagens e WM_WINDOWPOSCHANGED para a janela.
Valor de retorno
Se a função tiver sucesso, o valor de retorno é diferente de zero. Se a função falhar, o valor de retorno será zero.
Observações
As coordenadas da região da janela são relativas ao canto superior esquerdo da janela, não à área cliente da janela.
Após uma chamada bem-sucedida para SetWindowRgn, o sistema operativo é dono da região especificada pelo handle hRgnregional . O sistema operativo não faz uma cópia da região, por isso não faça mais chamadas de função com este handle de região e não feche este handle de região.
CWnd::SetWindowText
Define o título da janela para o texto especificado.
void SetWindowText(LPCTSTR lpszString);
Parâmetros
lpszString
Aponta para um CString objeto ou cadeia terminada por null a ser usada como novo título ou texto de controlo.
Observações
Se a janela for um controlo, o texto dentro do controlo é definido.
Esta função faz com que uma WM_SETTEXT mensagem seja enviada para esta janela.
Example
// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));
// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.
CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));
// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.
TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);
// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);
// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);
CWnd::ShowCaret
Mostra o caret no ecrã na posição atual do caret.
void ShowCaret();
Observações
Uma vez mostrado, o caret começa a piscar automaticamente.
A ShowCaret função membro mostra o caret apenas se este tiver uma forma atual e não tiver sido ocultado duas ou mais vezes consecutivas. Se o caret não pertence a esta janela, o caret não é mostrado.
Esconder o caret é cumulativo. Se a HideCaret função membro tiver sido chamada cinco vezes consecutivamente, ShowCaret deve ser chamada cinco vezes para mostrar o carente.
O caret é um recurso partilhado. A janela deve mostrar o caret apenas quando tem o foco de entrada ou está ativo.
Example
Veja o exemplo para CWnd::CreateCaret.
CWnd::ShowOwnedPopups
Mostra ou esconde todas as janelas pop-up que pertencem a esta janela.
void ShowOwnedPopups(BOOL bShow = TRUE);
Parâmetros
bShow
Especifica se as janelas pop-up devem ser mostradas ou ocultas. Se este parâmetro for TRUE, todas as janelas pop-up ocultas são mostradas. Se este parâmetro for FALSE, todas as janelas pop-up visíveis ficam ocultas.
Example
Veja o exemplo para CWnd::SetWindowPos.
CWnd::ShowScrollBar
Mostra ou esconde uma barra de deslocamento.
void ShowScrollBar(
UINT nBar,
BOOL bShow = TRUE);
Parâmetros
nBar
Especifica se a barra de deslocamento é um controlo ou parte da área não cliente de uma janela. Se fizer parte da área não cliente, nBar indica também se a barra de deslocamento está posicionada horizontalmente, verticalmente ou ambas. Deve ser um dos seguintes:
SB_BOTHEspecifica as barras de scroll horizontais e verticais da janela.SB_HORZEspecifica que a janela é uma barra de scroll horizontal.SB_VERTEspecifica que a janela é uma barra de scroll vertical.
bShow
Especifica se o Windows mostra ou esconde a barra de deslocamento. Se este parâmetro for TRUE, a barra de scroll é mostrada; caso contrário, a barra de scroll fica oculta.
Observações
Uma aplicação não deve ligar ShowScrollBar para ocultar uma barra de deslocamento enquanto processa uma mensagem de notificação na barra de deslocamento.
CWnd::ShowWindow
Define o estado de visibilidade da janela.
BOOL ShowWindow(int nCmdShow);
Parâmetros
nCmdShow
Especifica como deve ser mostrado CWnd . Deve ser um dos seguintes valores:
SW_HIDEEsconde esta janela e passa a ativação para outra janela.SW_MINIMIZEMinimiza a janela e ativa a janela de nível superior na lista do sistema.SW_RESTOREAtiva e mostra a janela. Se a janela for minimizada ou maximizada, o Windows restaura-a para o seu tamanho e posição originais.SW_SHOWAtiva a janela e mostra-a no seu tamanho e posição atuais.SW_SHOWMAXIMIZEDAtiva a janela e mostra-a como uma janela maximizada.SW_SHOWMINIMIZEDAtiva a janela e mostra-a como um ícone.SW_SHOWMINNOACTIVEMostra a janela como um ícone. A janela que está ativa no momento permanece ativa.SW_SHOWNAMostra a janela no seu estado atual. A janela que está ativa no momento permanece ativa.SW_SHOWNOACTIVATEExibe a janela no seu tamanho e posição mais recentes. A janela que está ativa no momento permanece ativa.SW_SHOWNORMALAtiva e mostra a janela. Se a janela for minimizada ou maximizada, o Windows restaura-a para o seu tamanho e posição originais.
Valor de retorno
Diferente de zero se a janela já era visível; 0 se já CWnd estivesse escondido.
Observações
ShowWindow deve ser chamado apenas uma vez por aplicação para a janela principal com CWinApp::m_nCmdShow. Chamadas subsequentes a ShowWindow devem usar um dos valores listados acima em vez do especificado por CWinApp::m_nCmdShow.
Example
Veja o exemplo para CWnd::CalcWindowRect.
CWnd::SubclassDlgItem
Chame esta função membro para "subclassar dinamicamente" um controlo criado a partir de um template de diálogo e anexá-lo a esse CWnd objeto.
BOOL SubclassDlgItem(
UINT nID,
CWnd* pParent);
Parâmetros
nID
O ID do controlo.
pParent
O pai do controlo (normalmente uma caixa de diálogo).
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
Quando um controlo é subclassificado dinamicamente, as mensagens do Windows passam primeiro pelo CWndmapa de mensagens de s e chamam os manipuladores de mensagens na CWndclasse . As mensagens que são passadas para a classe base serão passadas para o manipulador de mensagens padrão no controlo.
Esta função membro anexa o controlo Windows a um CWnd objeto e substitui os WndProc controlos e AfxWndProc funções. A função armazena o antigo WndProc no local devolvido pela GetSuperWndProcAddr função membro.
Example
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);
CWnd::SubclassWindow
Chame esta função membro para "subclassar dinamicamente" uma janela e anexá-la a esse CWnd objeto.
BOOL SubclassWindow(HWND hWnd);
Parâmetros
hWnd
Uma maçaneta para a janela.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Observações
Quando uma janela é subclassificada dinamicamente, as mensagens do Windows passam primeiro pelo CWndmapa de mensagens de 's e chamam os manipuladores de mensagens na CWndclasse 's. As mensagens que são passadas para a classe base serão passadas para o manipulador de mensagens por defeito na janela.
Esta função membro associa o controlo do Windows a um CWnd objeto e substitui as funções da WndProcAfxWndProc janela. A função armazena um ponteiro para o antigo WndProc no CWnd objeto.
Observação
A janela não deve estar já anexada a um objeto MFC quando esta função é chamada.
Example
// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
if (nCtlColor == CTLCOLOR_EDIT)
{
//Edit control
if (m_edit.GetSafeHwnd() == NULL)
m_edit.SubclassWindow(pWnd->GetSafeHwnd());
}
else if (nCtlColor == CTLCOLOR_LISTBOX)
{
//ListBox control
if (m_listbox.GetSafeHwnd() == NULL)
m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
}
HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
void CSuperComboBox::OnDestroy()
{
//unsubclass edit and list box before destruction
if (m_edit.GetSafeHwnd() != NULL)
m_edit.UnsubclassWindow();
if (m_listbox.GetSafeHwnd() != NULL)
m_listbox.UnsubclassWindow();
CComboBox::OnDestroy();
}
CWnd::UnlockWindowUpdate
Chame esta função membro para desbloquear uma janela que estava bloqueada com CWnd::LockWindowUpdate.
void UnlockWindowUpdate();
Observações
Apenas uma janela de cada vez pode ser trancada usando LockWindowUpdate. Consulte CWnd::LockWindowUpdate a função LockWindowUpdate Win32 para mais informações sobre bloqueio de janelas.
CWnd::UnsubclassWindow
Chame esta função membro para voltar WndProc ao seu valor original e separe a janela identificada por HWND do CWnd objeto.
HWND UnsubclassWindow();
Valor de retorno
Uma maçaneta para a janela sem subclasse.
Example
Veja o exemplo para CWnd::SubclassWindow.
CWnd::UpdateData
Chame esta função membro para inicializar dados numa caixa de diálogo, ou para recuperar e validar dados de diálogo.
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
Parâmetros
bSaveAndValidate
Flag que indica se a caixa de diálogo está a ser inicializada (FALSE) ou se os dados estão a ser recuperados (TRUE).
Valor de retorno
Diferente de zero se a operação for bem-sucedida; caso contrário, 0. Se bSaveAndValidate for TRUE, então um valor de retorno não nulo significa que os dados foram validados com sucesso.
Observações
O framework chama UpdateData automaticamente com bSaveAndValidate set para FALSE quando uma caixa de diálogo modal é criada na implementação padrão de CDialog::OnInitDialog. A chamada ocorre antes da caixa de diálogo ser visível. A implementação padrão de CDialog::OnOK chama esta função membro com bSaveAndValidate define para TRUE recuperar os dados e, se bem-sucedida, fecha a caixa de diálogo. (Se o botão Cancelar for clicado na caixa de diálogo, esta é fechada sem que os dados sejam recuperados.)
CWnd::UpdateDialogControls
Chame esta função membro para atualizar o estado dos botões de diálogo e outros controlos numa caixa de diálogo ou janela que utilize o mecanismo de ON_UPDATE_COMMAND_UI callback.
void UpdateDialogControls(
CCmdTarget* pTarget,
BOOL bDisableIfNoHndler);
Parâmetros
pTarget
Aponta para a janela principal da aplicação e é usada para encaminhar mensagens de atualização.
bDisableIfNoHndler
Flag que indica se um controlo sem gestor de atualizações deve ser automaticamente exibido como desativado.
Observações
Se um controlo infantil não tiver um controlador e bDisableIfNoHndler for TRUE, então o controlo infantil será desativado.
A estrutura chama esta função membro para controlos em barras de diálogo ou barras de ferramentas como parte do processamento inativo da aplicação.
CWnd::UpdateLayeredWindow
Atualiza a posição, tamanho, forma, conteúdo e translucidez de uma janela em camadas.
BOOL UpdateLayeredWindow(
CDC* pDCDst,
POINT* pptDst,
SIZE* psize,
CDC* pDCSrc,
POINT* pptSrc,
COLORREF crKey,
BLENDFUNCTION* pblend,
DWORD dwFlags);
Parâmetros
pDCDst
Um apontador para o contexto de um dispositivo para o ecrã. É usado para corresponder as cores da paleta quando o conteúdo das janelas é atualizado. Se pDCDst for NULL, será usada a paleta padrão.
Se pDCSrc for NULL, pDCDst deve ser NULL.
pptDst
Um apontador para uma POINT estrutura que especifica a nova posição do ecrã da janela em camadas. Se a posição atual não estiver a mudar, pptDst pode ser NULL.
psize
Apontar para uma SIZE estrutura que especifica o novo tamanho da janela em camadas. Se o tamanho da janela não estiver a mudar, psize pode ser NULL.
Se pDCSrc for NULL, psize deve ser NULL.
pDCSrc
Um ponteiro para um DC para a superfície que define a janela em camadas. Se a forma e o contexto visual da janela não estiverem a mudar, pDCSrc pode ser NULL.
pptSrc
Apontador para uma POINT estrutura que especifica a localização da camada no contexto do dispositivo.
Se pDCSrc for NULL, pptSrc deveria ser NULL.
crKey
Apontador para um COLORREF valor que especifica a chave de cor de transparência a ser usada ao compor a janela em camadas. Todos os píxeis pintados pela janela nesta cor serão transparentes. Para gerar um COLORREF, use a macro RGB.
pblend
Apontador para uma BLENDFUNCTION estrutura que especifica o valor de transparência a usar ao compor a janela em camadas.
dwFlags
Especifica uma ação a tomar. Este parâmetro pode ser um ou mais dos seguintes valores. Para uma lista de valores possíveis, veja UpdateLayeredWindow.
Valor de retorno
Não nula se a função tiver sucesso; caso contrário, 0.
Observações
Esta função de membro emula a funcionalidade da função UpdateLayeredWindow, conforme descrito no SDK do Windows.
CWnd::UpdateWindow
Atualiza a área do cliente enviando uma WM_PAINT mensagem se a região de atualização não estiver vazia.
void UpdateWindow();
Observações
A UpdateWindow função membro envia uma WM_PAINT mensagem diretamente, contornando a fila da aplicação. Se a região de atualização estiver vazia, WM_PAINT não é enviada.
Example
// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated. It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.
void CMdiView::OnChangeRect()
{
// Change Rectangle size.
m_rcBox = CRect(20, 20, 210, 210);
// Invalidate window so entire client area
// is redrawn when UpdateWindow is called.
Invalidate();
// Update Window to cause View to redraw.
UpdateWindow();
}
// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
// Other draw code here.
pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}
CWnd::ValidateRect
Valida a área do cliente dentro do retângulo dado removendo o retângulo da região de atualização da janela.
void ValidateRect(LPCRECT lpRect);
Parâmetros
lpRect
Aponta para um CRect objeto ou RECT estrutura que contém coordenadas cliente do retângulo a remover da região de atualização. Se lpRect for NULL, toda a janela é validada.
Observações
A BeginPaint função membro valida automaticamente toda a área do cliente. Nem a ValidateRect função nem a ValidateRgn função membro devem ser chamadas se uma parte da região de atualização precisar de ser validada antes WM_PAINT de ser gerada novamente.
O Windows continua a gerar WM_PAINT mensagens até que a região atual da atualização seja validada.
CWnd::ValidateRgn
Valida a área do cliente dentro da região dada removendo a região da região de atualização atual da janela.
void ValidateRgn(CRgn* pRgn);
Parâmetros
pRgn
Um apontador para um CRgn objeto que identifica uma região que define a área a ser removida da região de atualização. Se este parâmetro for NULL, toda a área do cliente é removida.
Observações
A região dada deve ter sido criada anteriormente por uma função de região. As coordenadas da região são assumidas como coordenadas do cliente.
A BeginPaint função membro valida automaticamente toda a área do cliente. Nem a ValidateRect função nem a ValidateRgn função membro devem ser chamadas se uma parte da região de atualização tiver de ser validada antes de ser gerada a próxima WM_PAINT mensagem.
CWnd::WindowFromPoint
Recupera a janela que contém o ponto especificado; point deve especificar as coordenadas do ecrã de um ponto no ecrã.
static CWnd* PASCAL WindowFromPoint(POINT point);
Parâmetros
point
Especifica um CPoint objeto ou POINT estrutura de dados que define o ponto a verificar.
Valor de retorno
Um ponteiro para o objeto janela onde o ponto se encontra. É NULL assim se não existir janela no ponto dado. O ponteiro devolvido pode ser temporário e não deve ser guardado para uso posterior.
Observações
WindowFromPoint não recupera uma janela oculta ou desativada, mesmo que o ponto esteja dentro da janela. Uma aplicação deve usar a ChildWindowFromPoint função membro para uma pesquisa não restritiva.
CWnd::WindowProc
Fornece um procedimento Windows (WindowProc) para um CWnd objeto.
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parâmetros
message
Especifica a mensagem do Windows a ser processada.
wParam
Fornece informação adicional usada no processamento da mensagem. O valor do parâmetro depende da mensagem.
lParam
Fornece informação adicional usada no processamento da mensagem. O valor do parâmetro depende da mensagem.
Valor de retorno
O valor de retorno depende da mensagem.
Observações
Despacha mensagens através do mapa de mensagens da janela.
CWnd::WinHelp
Liguei para iniciar a aplicação WinHelp.
virtual void WinHelp(
DWORD_PTR dwData,
UINT nCmd = HELP_CONTEXT);
Parâmetros
dwData
Especifica dados adicionais. O valor utilizado depende do valor do nCmd parâmetro.
nCmd
Especifica o tipo de ajuda solicitada. Para uma lista de valores possíveis e como estes afetam o dwData parâmetro, consulte a WinHelp função Windows no SDK do Windows.
Observações
Consulte CWinApp::WinHelp para obter mais informações.
CWnd::RegisterTouchWindow
Regista ou desativa o suporte ao Windows Touch.
BOOL RegisterTouchWindow(
BOOL bRegister = TRUE,
ULONG ulFlags = 0);
Parâmetros
bRegister
TRUE indica o registo de suporte ao Windows Touch; FALSE caso contrário.
ulFlags
Um conjunto de flags de bits que especificam modificações opcionais. Este corpo pode conter 0 ou um dos seguintes valores: TWF_FINETOUCH, TWF_WANTPALM.
Valor de retorno
TRUE se for bem-sucedida; caso contrário, FALSE.
Observações
CWnd::ResizeDynamicLayout
Chamado pela framework quando o tamanho da janela muda para ajustar o layout das janelas filhas, se o layout dinâmico estiver ativado para a janela.
virtual void ResizeDynamicLayout();
Observações
Consulte também
CCmdTarget Classe
Gráfico de Hierarquia
CFrameWnd Classe
CView Classe