Classe CMFCPropertyGridProperty

Um objeto CMFCPropertyGridProperty representa um item de lista em um controle de lista de propriedades.

Para conhecer mais detalhes, confira o código-fonte localizado na pasta mfc da instalação do Visual Studio. Por exemplo, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

Sintaxe

class CMFCPropertyGridProperty : public CObject

Membros

Construtores públicos

Nome Descrição
CMFCPropertyGridProperty::CMFCPropertyGridProperty Constrói um objeto CMFCPropertyGridProperty.
CMFCPropertyGridProperty::~CMFCPropertyGridProperty Destruidor.

Métodos públicos

Nome Descrição
CMFCPropertyGridProperty::AddOption Adiciona um novo item de lista a um controle de lista de propriedades.
CMFCPropertyGridProperty::AddSubItem Adiciona um item filho a uma propriedade.
CMFCPropertyGridProperty::AdjustButtonRect Chamado pelo controle de lista de propriedades pai para informar uma propriedade a redimensionar o retângulo delimitador de um botão incorporado.
CMFCPropertyGridProperty::AdjustInPlaceEditRect Recupera os limites da caixa de texto e o controle de botão de rotação opcional que são usados para definir um valor da propriedade.
CMFCPropertyGridProperty::AllowEdit Torna uma propriedade editável ou somente leitura.
CMFCPropertyGridProperty::CreateInPlaceEdit Chamado pela estrutura para criar um controle de edição para uma propriedade.
CMFCPropertyGridProperty::CreateSpinControl Chamado pela estrutura para criar um controle de botão de rotação editável.
CMFCPropertyGridProperty::Enable Habilita ou desabilita uma propriedade.
CMFCPropertyGridProperty::EnableSpinControl Habilita ou desabilita um controle de botão de rotação que é usado para modificar um valor da propriedade.
CMFCPropertyGridProperty::Expand Expande ou recolhe uma propriedade que contém subpropriedades.
CMFCPropertyGridProperty::FormatProperty Formata a representação de texto de um valor da propriedade.
CMFCPropertyGridProperty::GetData Recupera um valor DWORD associado a uma propriedade.
CMFCPropertyGridProperty::GetDescription Recupera uma descrição da propriedade.
CMFCPropertyGridProperty::GetExpandedSubItems Recupera o número de subitens expandidos.
CMFCPropertyGridProperty::GetHierarchyLevel Recupera o índice baseado em zero do nível de hierarquia da propriedade.
CMFCPropertyGridProperty::GetName Recupera o nome da propriedade.
CMFCPropertyGridProperty::GetNameTooltip Chamado pela estrutura para exibir o nome da propriedade em uma dica de ferramenta.
CMFCPropertyGridProperty::GetOption Recupera o texto da opção especificada por um índice.
CMFCPropertyGridProperty::GetOptionCount Recupera o número de opções que pertencem a uma propriedade.
CMFCPropertyGridProperty::GetOriginalValue Recupera o valor inicial da propriedade atual.
CMFCPropertyGridProperty::GetParent Recupera um ponteiro para uma propriedade pai.
CMFCPropertyGridProperty::GetRect Recupera o retângulo delimitador de uma propriedade.
CMFCPropertyGridProperty::GetSubItem Recupera uma subpropriedade identificada por um índice baseado em zero.
CMFCPropertyGridProperty::GetSubItemsCount Recupera o número de subitens.
CMFCPropertyGridProperty::GetThisClass Usado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe.
CMFCPropertyGridProperty::GetValue Recupera um valor da propriedade.
CMFCPropertyGridProperty::GetValueTooltip Chamado pela estrutura para recuperar a representação de texto do valor da propriedade exibida em uma dica de ferramenta.
CMFCPropertyGridProperty::HitTest Aponta para o objeto de propriedade que corresponde ao item da lista de propriedades que corresponde a um ponto.
CMFCPropertyGridProperty::IsAllowEdit Indica se uma propriedade é editável.
CMFCPropertyGridProperty::IsEnabled Indica se uma propriedade está habilitada ou desabilitada.
CMFCPropertyGridProperty::IsExpanded Indica se uma propriedade é expandida ou recolhida.
CMFCPropertyGridProperty::IsGroup Indica se a propriedade atual representa um grupo.
CMFCPropertyGridProperty::IsInPlaceEditing Indica se a propriedade atual é editável.
CMFCPropertyGridProperty::IsModified Indica se a propriedade atual foi modificada.
CMFCPropertyGridProperty::IsParentExpanded Indica se os pais da propriedade atual são expandidos.
CMFCPropertyGridProperty::IsSelected Indica se a propriedade atual está selecionada.
CMFCPropertyGridProperty::IsVisible Indica se a propriedade atual está visível.
CMFCPropertyGridProperty::OnClickButton Chamado pela estrutura quando o usuário seleciona um botão contido em uma propriedade.
CMFCPropertyGridProperty::OnClickName Chamado por um controle de lista de propriedades pai quando um usuário seleciona o campo de nome de uma propriedade.
CMFCPropertyGridProperty::OnClickValue Chamado por um controle de lista de propriedades pai quando um usuário seleciona o campo de valor de uma propriedade.
CMFCPropertyGridProperty::OnCloseCombo Chamado pela estrutura quando uma caixa de combinação contida em uma propriedade é fechada.
CMFCPropertyGridProperty::OnDblClk Chamado pela estrutura quando o usuário clica duas vezes em uma propriedade.
CMFCPropertyGridProperty::OnDrawButton Chamado pela estrutura para desenhar um botão contido em uma propriedade.
CMFCPropertyGridProperty::OnDrawDescription Chamado pela estrutura para exibir a descrição da propriedade.
CMFCPropertyGridProperty::OnDrawExpandBox Chamado pela estrutura para desenhar um controle de caixa de expansão perto de uma propriedade que contém subpropriedades.
CMFCPropertyGridProperty::OnDrawName Chamado pela estrutura para exibir o nome da propriedade.
CMFCPropertyGridProperty::OnDrawValue Chamado pela estrutura para exibir o valor da propriedade.
CMFCPropertyGridProperty::OnEdit Chamado pela estrutura quando o usuário está prestes a modificar um valor da propriedade.
CMFCPropertyGridProperty::OnEndEdit Chamado pela estrutura quando o usuário termina de modificar um valor de propriedade.
CMFCPropertyGridProperty::OnKillSelection
CMFCPropertyGridProperty::OnPosSizeChanged
CMFCPropertyGridProperty::OnRClickName Chamado pela estrutura quando o usuário seleciona o botão direito do mouse na área do nome da propriedade.
CMFCPropertyGridProperty::OnRClickValue Chamado pela estrutura quando o usuário seleciona o botão direito do mouse na área do valor da propriedade.
CMFCPropertyGridProperty::OnSelectCombo Chamado pela estrutura quando o usuário seleciona um item da caixa de combinação editável.
CMFCPropertyGridProperty::OnSetCursor Chamado pela estrutura quando o ponteiro do mouse se move para um item de propriedade.
CMFCPropertyGridProperty::OnSetSelection
CMFCPropertyGridProperty::OnUpdateValue Chamado pela estrutura quando o valor de uma propriedade editável foi alterado.
CMFCPropertyGridProperty::PushChar Chamado do controle de lista de propriedades quando a propriedade é selecionada e o usuário insere um novo caractere.
CMFCPropertyGridProperty::Redraw Redesenha a propriedade.
CMFCPropertyGridProperty::RemoveAllOptions Remove todas as opções (itens) de uma propriedade.
CMFCPropertyGridProperty::RemoveSubItem Remove o subitem especificado.
CMFCPropertyGridProperty::ResetOriginalValue Restaura o valor original de uma propriedade editada.
CMFCPropertyGridProperty::SetData Associa um valor DWORD a uma propriedade.
CMFCPropertyGridProperty::SetDescription Especifica o texto que descreve a propriedade atual.
CMFCPropertyGridProperty::SetName Define o nome de uma propriedade.
CMFCPropertyGridProperty::SetOriginalValue Define o valor original de uma propriedade editável.
CMFCPropertyGridProperty::SetValue Define o valor de uma propriedade de grade de propriedades.
CMFCPropertyGridProperty::Show Mostra ou oculta uma propriedade.

Métodos protegidos

Nome Descrição
CMFCPropertyGridProperty::CreateCombo Chamado pela estrutura para adicionar uma caixa de combinação a uma propriedade.
CMFCPropertyGridProperty::HasButton Indica se uma propriedade contém um botão.
CMFCPropertyGridProperty::Init Chamado pela estrutura para inicializar um objeto de propriedade.
CMFCPropertyGridProperty::IsSubItem Indica se a propriedade especificada é um subitem da propriedade atual.
CMFCPropertyGridProperty::IsValueChanged Indica se o valor da propriedade atual foi alterado.
CMFCPropertyGridProperty::OnCtlColor Chamado pela estrutura quando é necessário recuperar um pincel para o preenchimento da cor da tela de fundo de uma propriedade.
CMFCPropertyGridProperty::OnDestroyWindow Chamado pela estrutura quando uma propriedade é destruída ou quando a edição é concluída.
CMFCPropertyGridProperty::OnKillFocus Chamado pela estrutura quando a propriedade perde o foco de entrada.

Membros de dados

Nome Descrição
CMFCPropertyGridProperty::m_strFormatDouble Cadeia de caracteres de formato para um valor de tipo double.
CMFCPropertyGridProperty::m_strFormatFloat Cadeia de caracteres de formato para um valor do tipo float.
CMFCPropertyGridProperty::m_strFormatLong Cadeia de caracteres de formato para um valor do tipo long.
CMFCPropertyGridProperty::m_strFormatShort Cadeia de caracteres de formato para um valor do tipo short.

Comentários

Use um objeto CMFCPropertyGridProperty para representar uma propriedade, que você adicionará a um controle de lista de propriedades. Para obter mais informações, consulte CMFCPropertyGridCtrl Classe.

Um objeto de propriedade pode representar tipos de dados como cadeia de caracteres, datas e valores inteiros ou boolianos. Ele pode conter propriedades filho ou conter um controle como uma caixa de combinação ou um controle de botão.

Exemplo

O exemplo a seguir demonstra como construir um objeto CMFCPropertyGridProperty. O exemplo também demonstra como usar vários métodos na CMFCPropertyGridProperty classe para adicionar uma opção, adicionar um subitem, habilitar uma propriedade e mostrar uma propriedade. Este exemplo faz parte da amostra de Novos Controles.

CMFCPropertyGridProperty *pGroup1 = new CMFCPropertyGridProperty(_T("Appearance"));

// construct a COleVariant object.
COleVariant var3DLook((short)VARIANT_FALSE, VT_BOOL);

pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("3D Look"), var3DLook,
                                                 _T("Specifies the dialog's font will be nonbold and controls will have a 3D border")));

CMFCPropertyGridProperty *pProp = new CMFCPropertyGridProperty(_T("Border"),
                                                               _T("Dialog Frame"), _T("One of: None, Thin, Resizable, or Dialog Frame"));
pProp->AddOption(_T("None"));
pProp->AddOption(_T("Thin"));
pProp->AddOption(_T("Resizable"));
pProp->AddOption(_T("Dialog Frame"));
pProp->AllowEdit(FALSE);

pGroup1->AddSubItem(pProp);
pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("Caption"), (COleVariant) _T("About NewControlsDemo"), _T("Specifies the text that will be displayed in the dialog's title bar")));
pGroup1->AdjustButtonRect();
pGroup1->AllowEdit();
pGroup1->Enable();
pGroup1->Show();
pGroup1->Redraw();

Hierarquia de herança

CObject

CMFCPropertyGridProperty

Requisitos

Cabeçalho: afxpropertygridctrl.h

CMFCPropertyGridProperty::AddOption

Adiciona um novo item de lista a um controle de lista de propriedades.

BOOL AddOption(
    LPCTSTR lpszOption,
    BOOL bInsertUnique=TRUE);

Parâmetros

lpszOption
[in] O item de lista (opção) a ser adicionado.

bInsertUnique
[in] TRUE para adicionar o item de lista somente se ainda não existir, caso contrário, FALSE. O valor padrão é TRUE.

Valor de retorno

TRUE, significa que o item da lista foi adicionado. Caso contrário, FALSE, isso significa que o item de lista não foi adicionado porque o parâmetro bInsertUnique é TRUE e o item de lista especificado pelo parâmetro lpszOption já existe.

CMFCPropertyGridProperty::AddSubItem

Adiciona um item filho a uma propriedade.

BOOL AddSubItem(CMFCPropertyGridProperty* pProp);

Parâmetros

pProp
[in] Ponteiro para uma propriedade a ser adicionada.

Valor de retorno

TRUE se a propriedade especificada for adicionada com êxito como uma propriedade filha. FALSE se a propriedade não for adicionada porque já existe na propriedade pai.

Comentários

Use esse método para criar uma lista hierárquica de propriedades pai e filho. Após adicionar uma propriedade filho, a propriedade pai exibirá automaticamente um controle de caixa de expansão designado por um sinal de adição (+). Quando o usuário selecionar o sinal de adição, a propriedade pai se expandirá e exibira todos os itens de propriedades filho.

CMFCPropertyGridProperty::AdjustButtonRect

Chamado pelo controle de lista de propriedades pai para informar uma propriedade a redimensionar o retângulo delimitador de um botão incorporado.

virtual void AdjustButtonRect();

Comentários

Por padrão, esse método:

  • Ajusta a largura do botão igual à altura do botão mais três pixels.
  • Move o retângulo delimitador do botão para a borda direita da propriedade.
  • Desloca o botão 1 pixel abaixo da borda superior da propriedade.

CMFCPropertyGridProperty::AdjustInPlaceEditRect

Recupera os limites da caixa de texto e o controle de botão de rotação opcional que são usados para definir um valor da propriedade.

virtual void AdjustInPlaceEditRect(
    CRect& rectEdit,
    CRect& rectSpin);

Parâmetros

rectEdit
[out] Quando esse método retorna, um retângulo especifica os limites da caixa de texto para o valor da propriedade.

rectSpin
[out] Quando esse método retorna, um retângulo especifica os limites do controle do botão de rotação para o valor da propriedade. Ou, se a propriedade não der suporte a um botão de rotação, aparece um retângulo vazio.

Comentários

A área do valor de uma propriedade consiste em uma caixa de texto e possivelmente um botão de opção, como um controle de botão de rotação. Esse método calcula as dimensões da caixa de texto e do botão de opção e, em seguida, retorna esses valores nos parâmetros especificados.

CMFCPropertyGridProperty::AllowEdit

Torna uma propriedade editável ou somente leitura.

void AllowEdit(BOOL bAllow=TRUE);

Parâmetros

bAllow
[in] TRUE para tornar a propriedade editável, FALSE para tornar a propriedade somente leitura. O valor padrão é TRUE.

CMFCPropertyGridProperty::CMFCPropertyGridProperty

Constrói um objeto CMFCPropertyGridProperty.

CMFCPropertyGridProperty(
    const CString& strGroupName,
    DWORD_PTR dwData=0,
    BOOL bIsValueList=FALSE);

CMFCPropertyGridProperty(
    const CString& strName,
    const _variant_t& varValue,
    LPCTSTR lpszDescr=NULL,
    DWORD_PTR dwData=0,
    LPCTSTR lpszEditMask=NULL,
    LPCTSTR lpszEditTemplate=NULL,
    LPCTSTR lpszValidChars=NULL);

Parâmetros

strGroupName
[in] O nome do grupo. Um grupo é uma coleção de propriedades relacionadas em um controle de grade de propriedades. Se o controle for exibido hierarquicamente, o nome do grupo será exibido como um título de categoria na linha acima do grupo.

dwData
[in] Dados específicos do aplicativo, como um inteiro ou um ponteiro para outros dados associados à propriedade. O valor padrão é 0.

strName
[in] O nome da propriedade.

varValue
[in] O valor da propriedade.

lpszDescr
[in] A descrição da propriedade. O valor padrão é NULL.

lpszEditMask
[in] A máscara de edição, se a propriedade for um controle de edição mascarado. O valor padrão é NULL.

lpszEditTemplate
[in] O modelo de edição, se a propriedade for um controle de edição mascarado. O valor padrão é NULL.

lpszValidChars
[in] Uma lista de caracteres válidos, se a propriedade for um controle de edição mascarado. O valor padrão é NULL.

bIsValueList
[in] TRUE se a propriedade representa uma lista de valores, FALSE se a propriedade representa um único valor. O valor padrão é FALSE.

CMFCPropertyGridProperty::CreateCombo

Chamado pela estrutura para adicionar uma caixa de combinação a uma propriedade.

virtual CComboBox* CreateCombo(
    CWnd* pWndParent,
    CRect rect);

Parâmetros

pWndParent
[in] Ponteiro para a janela pai da caixa de combinação.

rect
[in] O retângulo delimitador da caixa de combinação.

Valor de retorno

Ponteiro para um novo objeto CComboBox.

CMFCPropertyGridProperty::CreateInPlaceEdit

Chamado pela estrutura para criar um controle de edição para uma propriedade.

virtual CWnd* CreateInPlaceEdit(
    CRect rectEdit,
    BOOL& bDefaultFormat);

Parâmetros

rectEdit
[in] O retângulo delimitador do controle de edição.

bDefaultFormat
[in] TRUE para usar o formato de propriedade padrão para definir o texto do controle de edição, caso contrário, FALSE.

Valor de retorno

Um ponteiro para o controle de edição se esse método for bem-sucedido, caso contrário, NULL.

Comentários

Esse método usa os valores dos parâmetros varValue, lpszEditMask, lpszEditTemplate e lpszValidChars especificados no construtor da classe CMFCPropertyGridProperty. Por padrão, esse método dá suporte a tipos de variante varValue. Isso inclui VT_BSTR, VT_R4, VT_R8, VT_UI1, VT_I2, VT_INT, VT_UINT, VT_I4, VT_UI2, VT_UI4 e VT_BOOL.

Esse método criará um controle CMFCMaskedEdit se um ou mais dos parâmetros lpszEditMask, lpszEditTemplate ou lpszValidChars forem especificados, caso contrário, criará um controle CEdit.

CMFCPropertyGridProperty::CreateSpinControl

Chamado pela estrutura para criar um controle de botão de rotação editável.

virtual CSpinButtonCtrl* CreateSpinControl(CRect rectSpin);

Parâmetros

rectSpin
[in] Um retângulo que define onde o controle de botão de rotação editável será criado.

Valor de retorno

Um ponteiro para um novo objeto CMFCSpinButtonCtrl que é convertido como um ponteiro para um objeto CSpinButtonCtrl.

Comentários

Chame o método CMFCPropertyGridProperty::EnableSpinControl para exibir um controle de botão de rotação editável na borda direita da propriedade.

CMFCPropertyGridProperty::Enable

Habilita ou desabilita uma propriedade.

void Enable(BOOL bEnable=TRUE);

Parâmetros

bEnable
[in] TRUE para habilitar a propriedade, FALSE para desabilitar a propriedade. Propriedades desabilitadas não respondem à entrada do mouse ou teclado. O valor padrão é TRUE.

CMFCPropertyGridProperty::EnableSpinControl

Habilita ou desabilita um controle de botão de rotação que é usado para modificar um valor da propriedade.

void EnableSpinControl(
    BOOL bEnable=TRUE,
    int nMin=0,
    int nMax=0);

Parâmetros

bEnable
[in] TRUE para habilitar o controle do botão de rotação, FALSE para desabilitar o controle do botão de rotação. O valor padrão é TRUE.

nMin
[in] O valor mínimo do controle de botão de rotação. O valor padrão é 0.

nMax
[in] O valor máximo do controle de botão de rotação. O valor padrão é 0.

Comentários

A estrutura criará automaticamente um controle de botão de rotação quando uma propriedade estiver prestes a ser editada.

O tipo de propriedade, que é especificado pelo parâmetro varValue do construtor CMFCPropertyGridProperty::CMFCPropertyGridProperty, deverá ser um tipo de variante com suporte. Caso contrário, as declarações serão em modo de depuração. Os tipos com suporte incluem VT_INT, VT_UINT, VT_I2, VT_I4, VT_UI2 e VT_UI4.

CMFCPropertyGridProperty::Expand

Expande ou recolhe uma propriedade que contém subpropriedades.

void Expand(BOOL bExpand=TRUE);

Parâmetros

bExpand
[in] TRUE para expandir a propriedade, FALSE para recolher a propriedade. O valor padrão é TRUE.

CMFCPropertyGridProperty::FormatProperty

Formata a representação de texto de um valor da propriedade.

virtual CString FormatProperty();

Valor de retorno

A representação de texto do valor da propriedade.

Comentários

Esse método será chamado pela estrutura antes que o valor da propriedade seja exibido.

CMFCPropertyGridProperty::GetData

Recupera um valor DWORD associado a uma propriedade.

DWORD_PTR GetData() const;

Valor de retorno

Um valor DWORD.

Comentários

Os dados retornados são um valor específico do aplicativo, como um número ou um ponteiro para outros dados. Especifique o valor dos dados ao construir a propriedade ou ao chamar o método CMFCPropertyGridProperty::SetData.

CMFCPropertyGridProperty::GetDescription

Recupera uma descrição da propriedade.

const CString& GetDescription() const;

Valor de retorno

Uma cadeia de caracteres de texto contendo a descrição da propriedade.

Comentários

O controle de lista de propriedades também usa esse método para exibir a descrição da propriedade.

CMFCPropertyGridProperty::GetExpandedSubItems

Recupera o número de subitens expandidos.

int GetExpandedSubItems(BOOL bIncludeHidden=TRUE) const;

Parâmetros

bIncludeHidden
[em] TRUE para incluir os subitens ocultos na contagem; caso contrário, FALSE. O valor padrão é TRUE.

Valor de retorno

O número de subitens expandidos.

CMFCPropertyGridProperty::GetHierarchyLevel

Recupera o índice baseado em zero do nível de hierarquia da propriedade.

int GetHierarchyLevel() const;

Valor de retorno

O nível hierárquico da propriedade.

CMFCPropertyGridProperty::GetName

Recupera o nome da propriedade.

LPCTSTR GetName() const;

Valor de retorno

Ponteiro para uma cadeia de caracteres que contém o nome da propriedade.

CMFCPropertyGridProperty::GetNameTooltip

Chamado pela estrutura para exibir o nome da propriedade em uma dica de ferramenta.

virtual CString GetNameTooltip();

Valor de retorno

Uma cadeia de caracteres que contém o nome da propriedade. Por padrão, o valor retornado é a cadeia de caracteres vazia.

CMFCPropertyGridProperty::GetOption

Recupera o texto da opção especificada por um índice.

LPCTSTR GetOption(int nIndex) const;

Parâmetros

nIndex
O índice baseado em zero do item da lista de propriedades (opção) que será recuperado.

Valor de retorno

Ponteiro para uma cadeia de caracteres que contém o texto da opção.

CMFCPropertyGridProperty::GetOptionCount

Recupera o número de opções que pertencem a uma propriedade.

int GetOptionCount() const;

Valor de retorno

O número de itens da lista de propriedades (opções) contidos no controle de propriedade.

Comentários

Chame o método CMFCPropertyGridProperty::AddOption para adicionar itens à lista de propriedades. Chame o método CMFCPropertyGridProperty::RemoveAllOptions para remover todos os itens.

CMFCPropertyGridProperty::GetOriginalValue

Recupera o valor inicial da propriedade atual.

const COleVariant& GetOriginalValue() const;

Valor de retorno

O valor original da propriedade atual.

Comentários

Use esse método para desfazer o efeito de uma operação de edição que altera o valor da propriedade atual.

O valor original da propriedade atual é definido pelo construtor CMFCPropertyGridProperty::CMFCPropertyGridProperty, modificado pelo método CMFCPropertyGridProperty::SetOriginalValue e redefinido pelo método CMFCPropertyGridProperty::ResetOriginalValue.

CMFCPropertyGridProperty::GetParent

Recupera um ponteiro para uma propriedade pai.

CMFCPropertyGridProperty* GetParent() const;

Valor de retorno

Um ponteiro para um objeto de propriedade pai ou NULL para a propriedade de nível superior.

CMFCPropertyGridProperty::GetRect

Recupera o retângulo delimitador de uma propriedade.

CRect GetRect() const;

Valor de retorno

Um objeto CRect que descreve o retângulo delimitador.

CMFCPropertyGridProperty::GetSubItem

Recupera uma subpropriedade identificada por um índice baseado em zero.

CMFCPropertyGridProperty* GetSubItem(int nIndex) const;

Parâmetros

nIndex
[in] O índice baseado em zero da propriedade a ser recuperada. Esse parâmetro será inválido se for menor que zero ou maior ou igual ao número de subpropriedades.

Valor de retorno

Um ponteiro para um objeto de propriedade que é um item filho dessa propriedade.

-ou-

Em modo de varejo, NULL se o parâmetro nIndex for inválido. Em modo de depuração, esse método é declarado.

CMFCPropertyGridProperty::GetSubItemsCount

Recupera o número de subitens.

int GetSubItemsCount() const;

Valor de retorno

O número de itens filhos.

CMFCPropertyGridProperty::GetValue

Recupera um valor da propriedade.

virtual const _variant_t& GetValue() const;

Valor de retorno

Uma variante contendo o valor da propriedade.

CMFCPropertyGridProperty::GetValueTooltip

Chamado pela estrutura para recuperar a representação de texto do valor da propriedade exibida em uma dica de ferramenta.

virtual CString GetValueTooltip();

Valor de retorno

Um objeto CString contendo a representação textual do valor da propriedade. Por padrão, esse valor é a cadeia de caracteres vazia.

CMFCPropertyGridProperty::HasButton

Indica se uma propriedade contém um botão.

virtual BOOL HasButton() const;

Valor de retorno

TRUE se uma propriedade contiver um botão (ou lista de propriedades), caso contrário, FALSE.

CMFCPropertyGridProperty::HitTest

Aponta para o objeto de propriedade que corresponde ao item da lista de propriedades que corresponde a um ponto.

CMFCPropertyGridProperty* HitTest(
    CPoint point,
    CMFCPropertyGridProperty::ClickArea* pnArea=NULL);

CMFCPropertyGridProperty* HitTest(
    CPoint pt,
    CMFCPropertyGridProperty::ClickArea* pnArea=NULL,
    BOOL bPropsOnly=FALSE) const;

Parâmetros

point
[in] O ponto a ser testado, nas coordenadas do cliente. Esse parâmetro geralmente é o local atual do ponteiro do mouse.

pt
[in] O ponto a ser testado, nas coordenadas do cliente.

pnArea
[out] Quando esse método retornar, indicará a área que contém o ponto especificado. Para obter mais informações, consulte Comentários. O valor padrão é NULL.

bPropsOnly
[in] TRUE para testar qualquer área no controle de propriedade; FALSE para testar apenas a área de descrição. O valor padrão é FALSE.

Valor de retorno

Um ponteiro para um objeto de propriedade ou NULL.

Comentários

Por padrão, esse método testa subitens de propriedade se o ponto especificado não for encontrado em nenhum dos itens de propriedade.

A tabela a seguir lista os valores que poderão ser retornados ao parâmetro pnArea.

Área Descrição
ClickArea::ClickExpandBox O controle da caixa de expansão, que é designado por um sinal de adição (+).
ClickArea::ClickName O nome da propriedade.
ClickArea::ClickValue O valor da propriedade.

CMFCPropertyGridProperty::Init

Chamado pela estrutura para inicializar um objeto de propriedade.

void Init();

CMFCPropertyGridProperty::IsAllowEdit

Indica se uma propriedade é editável.

BOOL IsAllowEdit() const;

Valor de retorno

TRUE se a propriedade for editável, caso contrário FALSE.

CMFCPropertyGridProperty::IsEnabled

Indica se uma propriedade está habilitada ou desabilitada.

BOOL IsEnabled() const;

Valor de retorno

TRUE se a propriedade estiver habilitada, FALSE se a propriedade estiver desabilitada.

Comentários

Informa se uma propriedade está habilitada ou desabilitada.

CMFCPropertyGridProperty::IsExpanded

Indica se uma propriedade é expandida ou recolhida.

BOOL IsExpanded() const;

Valor de retorno

TRUE se a propriedade for expandida, FALSE se a propriedade for recolhida.

CMFCPropertyGridProperty::IsGroup

Indica se a propriedade atual representa um grupo.

BOOL IsGroup() const;

Valor de retorno

TRUE se o objeto de propriedade atual representar um grupo, FALSE se a propriedade representar um valor.

Comentários

Um grupo é uma coleção de propriedades relacionadas em um controle de grade de propriedades. Se o controle for exibido hierarquicamente, o nome do grupo será exibido como um título de categoria na linha acima do grupo.

CMFCPropertyGridProperty::IsInPlaceEditing

Indica se a propriedade atual é editável.

BOOL IsInPlaceEditing() const;

Valor de retorno

TRUE se a propriedade atual for editável, caso contrário, FALSE.

CMFCPropertyGridProperty::IsModified

Indica se a propriedade atual foi modificada.

BOOL IsModified() const;

Valor de retorno

TRUE se a propriedade for modificada, caso contrário, FALSE.

CMFCPropertyGridProperty::IsParentExpanded

Indica se os pais da propriedade atual são expandidos.

BOOL IsParentExpanded() const;

Valor de retorno

TRUE se todos os pais da propriedade atual forem expandidos, FALSE se as propriedades pai forem recolhidas.

CMFCPropertyGridProperty::IsSelected

Indica se a propriedade atual está selecionada.

virtual BOOL IsSelected() const;

Valor de retorno

TRUE se a propriedade atual estiver selecionada, caso contrário, FALSE.

CMFCPropertyGridProperty::IsSubItem

Indica se a propriedade especificada é um subitem da propriedade atual.

BOOL IsSubItem(CMFCPropertyGridProperty* pProp) const;

Parâmetros

pProp
[in] Um ponteiro para uma propriedade.

Valor de retorno

TRUE se a propriedade especificada for um subitem da propriedade atual; caso contrário, FALSE.

CMFCPropertyGridProperty::IsValueChanged

Indica se o valor da propriedade atual foi alterado.

virtual BOOL IsValueChanged() const;

Valor de retorno

TRUE se o valor da propriedade atual foi alterado, caso contrário,FALSE.

CMFCPropertyGridProperty::IsVisible

Indica se a propriedade atual está visível.

BOOL IsVisible() const;

Valor de retorno

TRUE se a propriedade atual estiver visível, caso contrário, FALSE.

CMFCPropertyGridProperty::m_strFormatDouble

Contém uma cadeia de caracteres de formato para um valor do tipo double.

static CString m_strFormatDouble;

CMFCPropertyGridProperty::m_strFormatFloat

Contém uma cadeia de caracteres de formato para um valor do tipo float.

static CString m_strFormatFloat;

CMFCPropertyGridProperty::m_strFormatLong

Contém uma cadeia de caracteres de formato para um valor do tipo long.

static CString m_strFormatLong;

CMFCPropertyGridProperty::m_strFormatShort

Contém uma cadeia de caracteres de formato para um valor do tipo short.

static CString m_strFormatShort;

CMFCPropertyGridProperty::OnClickButton

Chamado pela estrutura quando o usuário seleciona um botão contido em uma propriedade.

virtual void OnClickButton(CPoint point);

Parâmetros

point
[in] Um ponto, nas coordenadas do cliente.

Comentários

Por padrão, esse método não faz nada.

CMFCPropertyGridProperty::OnClickName

Chamado por um controle de lista de propriedades pai quando um usuário seleciona o campo de nome de uma propriedade.

virtual void OnClickName(CPoint C);

Parâmetros

C
[in] Um ponto, nas coordenadas do cliente.

Comentários

Por padrão, esse método não faz nada.

CMFCPropertyGridProperty::OnClickValue

Chamado por um controle de lista de propriedades pai quando um usuário seleciona o campo de valor de uma propriedade.

virtual BOOL OnClickValue(
    UINT uiMsg,
    CPoint point);

Parâmetros

uiMsg
[in] Uma mensagem do mouse.

point
[in] Um ponto, nas coordenadas do cliente.

Valor de retorno

TRUE se a mensagem do mouse especificada for processada por esse método, caso contrário, FALSE.

Comentários

Por padrão, esse método retornará FALSE se a propriedade atual não for editável. Caso contrário, o controle de edição ou de rotação associado a essa propriedade processará a mensagem do mouse especificada e, em seguida, esse método retornará TRUE.

CMFCPropertyGridProperty::OnCloseCombo

Chamado pela estrutura quando uma caixa de combinação contida em uma propriedade é fechada.

virtual void OnCloseCombo();

CMFCPropertyGridProperty::OnCtlColor

Chamado pela estrutura quando é necessário recuperar um pincel para o preenchimento da cor da tela de fundo de uma propriedade.

virtual HBRUSH OnCtlColor(
    CDC* pDC,
    UINT nCtlColor);

Parâmetros

pDC
[in] Ponteiro para um contexto de dispositivo.

nCtlColor
[in] (Esse parâmetro não é utilizado.)

Valor de retorno

O identificador para um pincel se esse método for bem-sucedido, caso contrário, NULL.

CMFCPropertyGridProperty::OnDblClk

Chamado pela estrutura quando o usuário clica duas vezes em uma propriedade.

virtual BOOL OnDblClk(CPoint point);

Parâmetros

point
[in] Um ponto, nas coordenadas do cliente.

Valor de retorno

TRUE se o método for bem-sucedido. Caso contrário, FALSE.

Comentários

Por padrão, esse método selecionará o próximo item de propriedade no controle de lista de propriedades.

CMFCPropertyGridProperty::OnDestroyWindow

Chamado pela estrutura quando uma propriedade é destruída ou quando a edição é concluída.

virtual void OnDestroyWindow();

CMFCPropertyGridProperty::OnDrawButton

Chamado pela estrutura para desenhar um botão contido em uma propriedade.

virtual void OnDrawButton(
    CDC* pDC,
    CRect rectButton);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rectButton
[in] Um retângulo delimitador que especifica em que local desenhar um botão.

CMFCPropertyGridProperty::OnDrawDescription

Chamado pela estrutura para desenhar a descrição da propriedade.

virtual void OnDrawDescription(
    CDC* pDC,
    CRect rect);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rect
[in] Um retângulo delimitador que especifica em que local desenhar a descrição da propriedade.

Comentários

Por padrão, esse método desenha o nome e a descrição da propriedade na fonte usada pelo controle de lista de propriedades pai. A descrição da propriedade é desenhada em estilo normal e o nome da propriedade é desenhado em negrito.

CMFCPropertyGridProperty::OnDrawExpandBox

Chamado pela estrutura para desenhar um controle de caixa de expansão perto de uma propriedade que contém subpropriedades.

virtual void OnDrawExpandBox(
    CDC* pDC,
    CRect rectExpand);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rectExpand
[in] Um retângulo delimitador que especifica em que local desenhar o controle de caixa de expansão.

Comentários

Selecione o controle da caixa de expansão para expandir ou recolher uma lista de subpropriedades. O controle da caixa de expansão é designado por um quadrado que contém um sinal de adição (+) ou de subtração (-). Um sinal de adição indica que a propriedade pode ser expandida para mostrar uma lista de subpropriedades. Um sinal de subtração indica que a lista poderá ser recolhida para mostrar apenas a propriedade.

CMFCPropertyGridProperty::OnDrawName

Chamado pela estrutura para exibir o nome da propriedade.

virtual void OnDrawName(
    CDC* pDC,
    CRect rect);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rect
[in] Um retângulo delimitador que especifica em que local desenhar o nome da propriedade.

CMFCPropertyGridProperty::OnDrawValue

Chamado pela estrutura para exibir o valor da propriedade.

virtual void OnDrawValue(
    CDC* pDC,
    CRect rect);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rect
[in] Um retângulo delimitador que especifica em que local desenhar o valor da propriedade.

CMFCPropertyGridProperty::OnEdit

Chamado pela estrutura quando o usuário está prestes a modificar um valor da propriedade.

virtual BOOL OnEdit(LPPOINT lptClick);

Parâmetros

lptClick
[in] (Esse parâmetro não é utilizado.) Um ponteiro para um ponto, nas coordenadas do cliente.

Valor de retorno

TRUE se a operação de edição iniciar com êxito, caso contrário, FALSE.

Comentários

Essa função será chamada pela estrutura quando o usuário estiver prestes a modificar um valor da propriedade. Por padrão, esse método inicia o editor apropriado para um controle de caixa de combinação ou um controle de rotação.

CMFCPropertyGridProperty::OnEndEdit

Chamado pela estrutura quando o usuário termina de modificar um valor de propriedade.

virtual BOOL OnEndEdit();

Valor de retorno

Esse método sempre retorna TRUE.

Comentários

Por padrão, esse método destrói o controle de edição atual e retorna TRUE.

CMFCPropertyGridProperty::OnKillFocus

Chamado pela estrutura quando a propriedade perde o foco de entrada.

virtual BOOL OnKillFocus(CWnd*);

Parâmetros

CWnd
[in] (Não utilizado.) Ponteiro para uma janela.

Valor de retorno

Esse método sempre retorna TRUE.

Comentários

Por padrão, esse método não faz nada e retorna TRUE. Se você substituir esse método, retorne TRUE se a estrutura puder encerrar a operação de edição quando a propriedade perder o foco de entrada.

CMFCPropertyGridProperty::OnKillSelection

virtual void OnKillSelection(CMFCPropertyGridProperty*);

Parâmetros

[in] CMFCPropertyGridProperty*\

Comentários

Por padrão, esse método não faz nada.

CMFCPropertyGridProperty::OnPosSizeChanged

virtual void OnPosSizeChanged(CRect);

Parâmetros

[in] CRect\

Comentários

Por padrão, esse método não faz nada.

CMFCPropertyGridProperty::OnRClickName

Chamado pela estrutura quando o usuário seleciona o botão direito do mouse na área do nome da propriedade.

virtual void OnRClickName(CPoint C);

Parâmetros

C
[in] Um ponto, nas coordenadas do cliente.

Comentários

Por padrão, esse método não faz nada.

CMFCPropertyGridProperty::OnRClickValue

Chamado pela estrutura quando o usuário seleciona o botão direito do mouse na área do valor da propriedade.

virtual void OnRClickValue(
    CPoint C,
    BOOL B);

Parâmetros

C
[in] Um ponto, nas coordenadas do cliente.

B
[in] Um booliano.

Comentários

Por padrão, esse método não faz nada e o parâmetro B não tem finalidade predefinida.

CMFCPropertyGridProperty::OnSelectCombo

Chamado pela estrutura quando o usuário seleciona um item da caixa de combinação editável.

virtual void OnSelectCombo();

Comentários

Por padrão, esse método usa o texto do item selecionado para atualizar o valor da propriedade.

CMFCPropertyGridProperty::OnSetCursor

Chamado pela estrutura quando o ponteiro do mouse se move para um item de propriedade.

virtual BOOL OnSetCursor() const;

Valor de retorno

TRUE se a propriedade atual for um tipo de variante ou uma lista de valores, e método carregar o cursor do mouse do ponto de inserção (forma de I) com êxito, caso contrário, FALSE.

Comentários

Esse método dá suporte aos seguintes tipos de variantes: VT_INT, VT_I2, VT_I4, VT_UINT, VT_UI1, VT_UI2, VT_UI4, VT_R4, VT_R8 e VT_BSTR.

CMFCPropertyGridProperty::OnSetSelection

virtual void OnSetSelection CMFCPropertyGridProperty*);

Parâmetros

[in] CMFCPropertyGridProperty*\

Comentários

Por padrão, esse método não faz nada.

CMFCPropertyGridProperty::OnUpdateValue

Chamado pela estrutura quando o valor de uma propriedade editável foi alterado.

virtual BOOL OnUpdateValue();

Valor de retorno

TRUE se o método for bem-sucedido. Caso contrário, FALSE.

CMFCPropertyGridProperty::PushChar

Chamado do controle de lista de propriedades quando a propriedade é selecionada e o usuário insere um novo caractere.

virtual BOOL PushChar(UINT nChar);

Parâmetros

nChar
[in] Um caractere.

Valor de retorno

TRUE se a operação de edição continuar, caso contrário, FALSE.

Comentários

Esse método dá suporte a uma propriedade que é uma lista de valores ou um dos seguintes tipos de variantes: VT_INT, VT_I2, VT_I4, VT_UINT, VT_UI1, VT_UI2, VT_UI4, VT_R4, VT_R8 e VT_BSTR.

CMFCPropertyGridProperty::Redraw

Redesenha a propriedade.

void Redraw();

CMFCPropertyGridProperty::RemoveAllOptions

Remove todas as opções (itens) de uma propriedade.

void RemoveAllOptions();

Comentários

As opções também são conhecidas como itens de lista de um controle de lista de propriedades.

CMFCPropertyGridProperty::RemoveSubItem

Remove o subitem especificado.

BOOL RemoveSubItem(
    CMFCPropertyGridProperty*& pProp,
    BOOL bDelete=TRUE);

Parâmetros

pProp
[em] Ponteiro para um subitem de propriedade.

bDelete
[in] TRUE para excluir o objeto de propriedade especificado pelo parâmetro pProp, caso contrário, FALSE. O valor padrão é TRUE.

Valor de retorno

Comentários

Especifique FALSE para o bDelete parâmetro se você pretende mover o subitem especificado; ou seja, remova o subitem e adicione-o em outro lugar.

CMFCPropertyGridProperty::ResetOriginalValue

Restaura o valor original de uma propriedade editada.

virtual void ResetOriginalValue();

CMFCPropertyGridProperty::SetData

Associa um valor DWORD a uma propriedade.

void SetData(DWORD_PTR dwData);

Parâmetros

dwData
[in] Um valor de 32 bits específico do aplicativo, como um número inteiro ou um ponteiro para outros dados.

Comentários

Use o método CMFCPropertyGridProperty::GetData para recuperar o valor DWORD. Use o método CMFCPropertyGridCtrl::FindItemByData para localizar o item da lista de propriedades associado ao valor DWORD especificado.

CMFCPropertyGridProperty::SetDescription

Especifica o texto que descreve a propriedade atual.

void SetDescription(const CString& strDescr);

Parâmetros

strDescr
[in] Texto que descreve a propriedade atual.

CMFCPropertyGridProperty::SetName

Define o nome de uma propriedade.

void SetName(
    LPCTSTR lpszName,
    BOOL bRedraw=TRUE);

Parâmetros

lpszName
[in] O nome da propriedade.

bRedraw
[in] TRUE para redesenhar a propriedade imediatamente, caso contrário, FALSE. O valor padrão é TRUE.

CMFCPropertyGridProperty::SetOriginalValue

Define o valor original de uma propriedade editável.

virtual void SetOriginalValue(const COleVariant& varValue);

Parâmetros

varValue
[in] Um valor.

Comentários

Use o método CMFCPropertyGridProperty::ResetOriginalValue para redefinir o valor original de uma propriedade editada.

CMFCPropertyGridProperty::SetValue

Define o valor de uma propriedade de grade de propriedades.

virtual void SetValue(const _variant_t& varValue);

Parâmetros

varValue
[em] Uma referência ao valor para definir a propriedade.

Exemplo: SetValue

void SetPropBarValue(UINT propId, const DWORD& barPropDwordValue)
{
  auto property = propertiesGridCtrlList.FindItemByData(propId);
  if (property != nullptr)
  {
    property->SetValue(static_cast<_variant_t >(barPropDwordValue == 1)); // set value to true or false depending on dword value
  }
}

CMFCPropertyGridProperty::Show

Mostra ou oculta uma propriedade.

void Show(
    BOOL bShow=TRUE,
    BOOL bAdjustLayout=TRUE);

Parâmetros

bShow
[em] TRUE para exibir a propriedade atual e seus subitens; FALSE para ocultar a propriedade atual e seus subitens. O valor padrão é TRUE.

bAdjustLayout
[in] TRUE para recalcular como desenhar o rótulo e o valor de uma propriedade e, em seguida, desenhar a propriedade, FALSE para usar os cálculos existentes para desenhar a propriedade. O valor padrão é TRUE.

Confira também

Gráfico da hierarquia
Classes
CMFCPropertyGridCtrl classe