DTCTL
Hace referencia a: Outlook 2013 | Outlook 2016
Describe un control que se usará en un cuadro de diálogo creado a partir de una tabla para mostrar.
Propiedad | Valor |
---|---|
Archivo de encabezado: |
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 control que se incluye en el miembro ctl y corresponde a la propiedad PR_CONTROL_TYPE (PidTagControlType) del control. Los valores posibles son los siguientes:
DTCT_LABEL
Control Etiqueta
DTCT_EDIT
Editar control.
DTCT_LBX
Control de cuadro de lista.
DTCT_COMBOBOX
Control de cuadro combinado.
DTCT_DDLBX
Control de lista desplegable.
DTCT_CHECKBOX
Control de casilla.
DTCT_GROUPBOX
Control de cuadro de grupo.
DTCT_BUTTON
Control de botón.
DTCT_PAGE
Control de página con pestañas.
DTCT_RADIOBUTTON
Control de botón de radio.
DTCT_MVLISTBOX
Control de lista con varios valores.
DTCT_MVDDLBX
Control de lista desplegable con varios valores.
ulCtlFlags
Máscara de bits de marcas que describe las características del control y se corresponde con la propiedad PR_CONTROL_FLAGS (PidTagControlFlags) del control. Estas marcas solo se pueden establecer para casillas, cuadros combinados, cuadros de lista y controles de edición. Los valores posibles son los siguientes:
DT_ACCEPT_DBCS
Se acepta el formato ANSI o DBCS. Esta marca solo es válida para los controles de edición.
DT_EDITABLE
Un usuario puede modificar el texto del control.
DT_MULTILINE
El control puede contener varias líneas de texto. Esta marca solo es válida para los controles de edición.
DT_PASSWORD_EDIT
El control contiene una contraseña; por lo tanto, el contenido del control no debe mostrarse al usuario. Esta marca solo es válida para los controles de edición.
DT_REQUIRED
Se requiere el control del cuadro de diálogo. Esta marca solo es válida para los controles de edición y cuadro combinado.
DT_SET_IMMEDIATE
Habilita la salida inmediata de un valor tras un cambio en el control. Esto permite establecer una relación de dependencia entre dos controles.
lpbNotif
Puntero a una estructura que consta de una estructura GUID , para representar el proveedor de servicios y un identificador para el control. Los miembros lpbNotif y cbNotif corresponden a la propiedad PR_CONTROL_ID (PidTagControlId) del control y se usan para notificar a la interfaz de usuario cuando el control tiene que actualizarse.
cbNotif
Recuento de bytes en la estructura a la que apunta el miembro lpbNotif .
lpszFilter
Puntero a una cadena de caracteres que describe qué caracteres se pueden escribir en un control de edición o cuadro combinado. Para otros tipos de controles, el miembro lpszFilter puede ser NULL. Para los controles de edición y cuadro combinado, debe ser una expresión regular que se aplique a un solo carácter a la vez. El mismo filtro se aplica a todos los caracteres del control. El formato de la cadena de filtro es el siguiente:
Carácter | Descripción |
---|---|
* |
Se permite cualquier carácter (por ejemplo, "*" ). |
[ ] |
Define un conjunto de caracteres (por ejemplo, "[0123456789]" .) |
- |
Indica un intervalo de caracteres (por ejemplo, "[a-z]" ). |
~ |
Indica que no se permiten estos caracteres (por ejemplo, "[~0-9]") . |
\ |
Se usa para citar cualquiera de los símbolos anteriores (por ejemplo, "[\-\\\[\]]" significa que se permiten caracteres -, , [y ]). |
ulItemID
Valor que identifica el control en el recurso del cuadro de diálogo. Para los controles de páginas con pestañas de tipo DTCT_PAGE el miembro ulItemID se usa opcionalmente para cargar el nombre del componente de la página desde un recurso de cadena. La información de la posición y la etiqueta se leen desde el recurso del cuadro de diálogo.
Ctl
Estructura que contiene los datos del control y corresponde a la propiedad PR_CONTROL_STRUCTURE (PidTagControlStructure) del control. Cada tipo de control tiene una estructura diferente.
Comentarios
La estructura DTCTL describe un control de cualquier tipo. La mayoría de sus miembros se usan para establecer propiedades en el control.
El miembro ctl es una unión de estructuras relacionadas con un tipo determinado de control. Si la estructura DTCTL describe un control de edición, por ejemplo, el miembro ctl apuntará a una estructura DTBLEDIT . Esta estructura corresponde a la propiedad PR_CONTROL_STRUCTURE del control. La unión tiene como primer miembro una variable de tipo LPVOID para permitir la inicialización en tiempo de compilación de la estructura DTCTL .
Aunque la función BuildDisplayTable usa la estructura DTCTL para compilar la tabla para mostrar a partir de recursos de control, la estructura DTCTL nunca aparece en la propia tabla para mostrar. Esta estructura solo proporciona información a BuildDisplayTable.
En el miembro ulCtlFlags , cuatro marcas DT_ACCEPT_DBCS, DT_EDITABLE, DT_MULTILINE_and DT_PASSWORD_EDIT afectan solo a los controles de edición. Otros dos DT_REQUIRED y DT_SET_IMMEDIATE afectan a cualquier control modificable.
Los controles disponibles para un cuadro de diálogo son etiqueta, cuadro de texto, cuadro de texto compatible con lápiz, lista, lista desplegable, cuadro combinado, casilla, cuadro de grupo, botón, botón de radio y página con pestañas.
Para obtener información general sobre las tablas para mostrar, vea Mostrar tablas. Para obtener información sobre cómo implementar una tabla para mostrar, consulte Implementación de una tabla para mostrar.