Compartilhar via


DTCTL

Aplica-se a: Outlook 2013 | Outlook 2016

Descreve um controle 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
typedef struct
{
  ULONG ulCtlType;
  ULONG ulCtlFlags;
  LPBYTE lpbNotif;
  ULONG cbNotif;
  LPSTR lpszFilter;
  ULONG ulItemID;
  union
  {
    LPVOID lpv;
    LPDTBLLABEL lplabel;
    LPDTBLEDIT lpedit;
    LPDTBLLBX lplbx;
    LPDTBLCOMBOBOX lpcombobox;
    LPDTBLDDLBX lpddlbx;
    LPDTBLCHECKBOX lpcheckbox;
    LPDTBLGROUPBOX lpgroupbox;
    LPDTBLBUTTON lpbutton;
    LPDTBLRADIOBUTTON lpradiobutton;
    LPDTBLMVLISTBOX lpmvlbx;
    LPDTBLMVDDLBX lpmvddlbx;
    LPDTBLPAGE lppage;
  } ctl;
} DTCTL, FAR *LPDTCTL;

Members

ulCtlType

Tipo de controle incluído no membro ctl e corresponde à propriedade PR_CONTROL_TYPE do controle (PidTagControlType). Os valores possíveis são os seguintes:

DTCT_LABEL

Controle de Rótulo.

DTCT_EDIT

Editar controle.

DTCT_LBX

Controle da caixa de listagem.

DTCT_COMBOBOX

Controle de caixa de combinação.

DTCT_DDLBX

Controle de lista suspensa.

DTCT_CHECKBOX

Controle da caixa de seleção.

DTCT_GROUPBOX

Controle de caixa de grupo.

DTCT_BUTTON

Controle de botão.

DTCT_PAGE

Controle de página com tabbed.

DTCT_RADIOBUTTON

Controle de botão de rádio.

DTCT_MVLISTBOX

Controle de lista com vários valores.

DTCT_MVDDLBX

Controle de lista suspensa com vários valores.

ulCtlFlags

O bitmask de sinalizadores que descreve os recursos do controle e corresponde à propriedade PR_CONTROL_FLAGS do controle (PidTagControlFlags). Esses sinalizadores podem ser definidos apenas para caixas de marcar, caixas de combinação, caixas de lista e controles de edição. Os valores possíveis são os seguintes:

DT_ACCEPT_DBCS

O formato ANSI ou DBCS é aceito. Esse sinalizador é válido somente para controles de edição.

DT_EDITABLE

Um usuário pode modificar o texto no controle.

DT_MULTILINE

O controle pode conter várias linhas de texto. Esse sinalizador é válido somente para controles de edição.

DT_PASSWORD_EDIT

O controle contém uma senha; Portanto, o conteúdo do controle não deve ser exibido para o usuário. Esse sinalizador é válido somente para controles de edição.

DT_REQUIRED

O controle da caixa de diálogo é necessário. Esse sinalizador é válido apenas para controles de caixa de edição e combinação.

DT_SET_IMMEDIATE

Habilita a saída imediata de um valor após uma alteração no controle. Isso permite que uma relação de dependência seja estabelecida entre dois controles.

lpbNotif

Ponteiro para uma estrutura que consiste em uma estrutura GUID , para representar o provedor de serviços e um identificador para o controle. Os membros lpbNotif e cbNotif correspondem à propriedade PR_CONTROL_ID (PidTagControlId) do controle e são usados para notificar a interface do usuário quando o controle precisa ser atualizado.

cbNotif

Contagem de bytes na estrutura apontada pelo membro lpbNotif .

lpszFilter

Ponteiro para uma cadeia de caracteres que descreve quais caracteres podem ser inseridos em um controle de caixa de edição ou combinação. Para outros tipos de controles, o membro lpszFilter pode ser NULL. Para controles de caixa de edição e combinação, ela deve ser uma expressão regular que se aplica a um único caractere por vez. O mesmo filtro é aplicado a todos os caracteres no controle. O formato da cadeia de caracteres de 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).

ulItemID

Valor que identifica o controle no recurso da caixa de diálogo. Para controles de páginas com guias do tipo DTCT_PAGE o membro ulItemID é opcionalmente usado para carregar o nome do componente para a página de um recurso de cadeia de caracteres. As informações de posição e rótulo são lidas no recurso da caixa de diálogo.

Ctl

Uma estrutura que contém os dados do controle e corresponde à propriedade PR_CONTROL_STRUCTURE do controle (PidTagControlStructure). Cada tipo de controle tem uma estrutura diferente.

Comentários

A estrutura DTCTL descreve um controle de qualquer tipo. A maioria de seus membros é usada para definir propriedades no controle.

O membro ctl é uma união de estruturas relacionadas a um determinado tipo de controle. Se a estrutura DTCTL estiver descrevendo um controle de edição, por exemplo, o membro ctl apontará para uma estrutura DTBLEDIT . Essa estrutura corresponde à propriedade PR_CONTROL_STRUCTURE do controle. A união tem como primeiro membro uma variável do tipo LPVOID para permitir a inicialização de tempo de compilação da estrutura DTCTL .

Embora a função BuildDisplayTable use a estrutura DTCTL para criar a tabela de exibição a partir de recursos de controle, a estrutura DTCTL nunca aparece na própria tabela de exibição. Essa estrutura apenas fornece informações para BuildDisplayTable.

No membro ulCtlFlags , quatro sinalizadores DT_ACCEPT_DBCS, DT_EDITABLE, DT_MULTILINE_and DT_PASSWORD_EDIT afetam apenas os controles de edição. Outros dois DT_REQUIRED e DT_SET_IMMEDIATE afetam qualquer controle editável.

Os controles disponíveis para uma caixa de diálogo são rótulo, caixa de texto, caixa de texto com reconhecimento de tinta, lista, lista suspensa, caixa de combinação, caixa de marcar, caixa de grupo, botão, botão de rádio e página com tabbed.

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