Compartilhar via


DTBLCOMBOBOX

Aplica-se a: Outlook 2013 | Outlook 2016

Descreve um controle de caixa de combinação que será usado em uma caixa de diálogo criada a partir de uma tabela de exibição.

Propriedade Valor
Arquivo de cabeçalho: Mapidefs.h
Macro relacionada: SizedDtblComboBox
typedef struct _DTBLCOMBOBOX
{
  ULONG ulbLpszCharsAllowed;
  ULONG ulFlags;
  ULONG ulNumCharsAllowed;
  ULONG ulPRPropertyName;
  ULONG ulPRTableName;
} DTBLCOMBOBOX, FAR *LPDTBLCOMBOBOX;

Members

ulbLpszCharsAllowed

Um deslocamento do início da estrutura DTBLCOMBOBOX para um filtro de cadeia de caracteres que descreve restrições, se houver, para os caracteres que podem ser inseridos no controle de edição da caixa de combinação. O filtro não é interpretado como uma expressão regular e o mesmo filtro é aplicado a cada caractere inserido. O formato do filtro é o seguinte:

Caractere Descrição
* Qualquer caractere é permitido (por exemplo, "*").
[ ] Define um conjunto de caracteres (por exemplo, "[0123456789]").
- Indica um intervalo de caracteres (por exemplo, "[a-z]").
~ Indica que esses caracteres não são permitidos. (por exemplo, "[~0-9]").
\ Usado para citar qualquer um dos símbolos anteriores (por exemplo, "[\-\\\[\]]" significa -, , [e ] caracteres são permitidos).

ulFlags

Bitmask de sinalizadores usados para designar o formato do filtro de cadeia de caracteres. O seguinte sinalizador pode ser definido:

MAPI_UNICODE

O filtro está no formato Unicode. Se o sinalizador MAPI_UNICODE não estiver definido, o filtro estará no formato ANSI.

ulNumCharsAllowed

Número máximo de caracteres que podem ser inseridos na caixa de texto da caixa de combinação.

ulPRPropertyName

Marca de propriedade para uma propriedade do tipo PT_TSTRING.

ulPRTableName

Marca de propriedade para uma propriedade do tipo PT_OBJECT na qual uma interface IMAPITable pode ser aberta usando uma chamada OpenProperty . A tabela deve ter uma coluna com uma propriedade que seja do mesmo tipo que a propriedade identificada pelo membro ulPRPropertyName . As linhas da tabela são usadas para preencher a lista.

Comentários

Uma estrutura DTBLCOMBOBOX descreve uma caixa de combinação um controle que consiste em uma lista e um campo de seleção. A lista apresenta as informações das quais um usuário pode selecionar e o campo de seleção exibe a seleção atual. O campo de seleção é um controle de edição que também pode ser usado para inserir texto ainda não na lista.

Os dois membros da marca de propriedade trabalham juntos para coordenar a exibição da lista com o controle de edição. Quando MAPI exibe pela primeira vez a caixa de combinação, ela chama o método OpenProperty da implementação IMAPIProp associada à tabela de exibição para recuperar a tabela representada pelo membro ulPRTableName . Esta tabela tem uma coluna por coluna que contém valores para a propriedade representada pelo membro ulPRPropertyName . Portanto, essa coluna deve ser do mesmo tipo que a propriedade ulPRPropertyName e ambas as colunas devem ser cadeias de caracteres.

Os valores da coluna são exibidos na seção lista da caixa de combinação. Portanto, PR_NULL (PidTagNull) não é uma marca de propriedade válida para ulPRPropertyName. Quando um usuário seleciona uma das linhas ou insere novos dados na caixa de texto, a propriedade ulPRPropertyName é definida como o valor selecionado ou inserido.

Para exibir um valor inicial para o controle de edição, o MAPI chama IMAPIProp::GetProps para recuperar os valores da propriedade da tabela de exibição. Se uma das propriedades recuperadas corresponder à propriedade representada pelo membro ulPRPropertyName , seu valor se tornará o valor inicial.

Para obter uma visão geral das tabelas de exibição, consulte Tabelas de Exibição. Para obter informações sobre como implementar uma tabela de exibição, consulte Implementando uma tabela de exibição.

Confira também

DTCTL
Estruturas mapida propriedade canônica PidTagControlType