Partilhar via


Etapa 3: Adicionando uma propriedade ao controle do

IPolyCtl é a interface que contém propriedades e métodos personalizados do controle e você irá adicionar uma propriedade a ele.

Para adicionar uma propriedade usando o Assistente para adicionar propriedade

  1. clicar com o botão direito do mouse IPolyCtl no modo de exibição de classe (expandir a ramificar poligonal para localizá-lo).

  2. No menu de atalho, clicar Adicionare, em seguida, clicar Adicionar propriedade.

    O Assistente para adicionar propriedades será exibida.

  3. Na lista suspensa de tipos de propriedade, selecionar CURTO.

  4. Tipo de Sides sistema autônomo o Nome de propriedade.

  5. clicar Término para concluir a adição da propriedade.

Quando você adiciona a propriedade para a interface, MIDL (o programa que compila arquivos .idl) define um Get método para recuperar seu valor e um Put método para configuração um novo valor. Os métodos são nomeados, anexando ao início put_ e get_ o nome de propriedade.

O Assistente para adicionar propriedade adiciona as linhas necessárias para o arquivo .idl.Ele também adiciona o Get e Put função protótipos para a definição de classe PolyCtl.h e adiciona uma implementação vazia PolyCtl.cpp. Você pode verificar isso abrindo PolyCtl.cpp e procurando a funções get_Sides e put_Sides.

Embora você tenha o esqueleto funções para conjunto e recuperar a propriedade agora, ele precisa de um lugar para ser armazenado.Você irá criar uma variável para armazenar a propriedade e atualização as funções adequadamente.

Para criar uma variável para armazenar a propriedade e atualizar a colocar e obter métodos

  1. No gerenciador de soluções, abra PolyCtl.h e adicione a seguinte linha após a definição de m_clrFillColor:

    short m_nSides;
    
  2. conjunto o valor padrão de m_nSides. Tornar o padrão de um triângulo de forma, adicionando uma linha para o construtor de PolyCtl.h:

    m_nSides = 3;
    
  3. Implementar o Get e Put métodos. The get_Sides e put_Sides declarações de função foram adicionadas ao PolyCtl.h. Adicione o seguinte código para PolyCtl.cpp para concluir os dois métodos:

    STDMETHODIMP CPolyCtl::get_Sides(short* pVal)
    {
       *pVal = m_nSides;
    
       return S_OK;
    }
    
    STDMETHODIMP CPolyCtl::put_Sides(short newVal)
    {
       if (2 < newVal && newVal < 101)
       {
          m_nSides = newVal;
          return S_OK;
       }
       else
       {
          return Error(_T("Shape must have between 3 and 100 sides"));
       }
    }
    

The get_Sides método retorna o valor corrente das Sides propriedade através de pVal ponteiro. No put_Sides garante que o código de método, o usuário está configurando o Sides propriedade para um valor aceitável. O mínimo deve ser 2, e como uma matriz de pontos será usada para cada lado, 100 é um limite razoável para um valor máximo.

Agora você tem uma propriedade chamada Sides. Na próxima etapa, você irá alterar o código de desenho para usá-lo.

Voltar para etapa 2 | A etapa 4

Consulte também

Referência

Tutorial do ATL