Crear el control de pestaña
La forma en que se crea el control de pestaña depende de si se usa el control en un cuadro de diálogo o se crea en una ventana sin diálogo.
Para usar CTabCtrl directamente en un cuadro de diálogo
En el editor de cuadros de diálogo, agregue un control de pestaña al recurso de plantilla de cuadro de diálogo. Especifique su id. de control.
Utilice el Asistente para agregar variables miembro para agregar una variable miembro de tipo CTabCtrl con la propiedad Control. Puede usar este miembro para llamar a las funciones miembro
CTabCtrl
.Asigne funciones de controlador en la clase de cuadro de diálogo para cualquier mensaje de notificación de control de pestaña que necesite controlar. Para obtener más información, consulte Asignación de mensajes a funciones.
En OnInitDialog, establezca los estilos para
CTabCtrl
.
Para usar CTabCtrl en una ventana sin diálogos
Defina el control en la clase de vista o ventana.
Llame a la función miembro Create del control, si es posible en OnInitialUpdate, si es posible a la vez que la función de controlador OnCreate de la ventana principal (si está creando subclases en el control). Establezca los estilos del control.
Una vez creado el objeto CTabCtrl
, puede establecer o borrar los siguientes estilos extendidos:
TCS_EX_FLATSEPARATORS El control de pestaña dibujará separadores entre los elementos de pestaña. Este estilo extendido solo afecta a los controles de pestaña que tienen los estilos TCS_BUTTONS y TCS_FLATBUTTONS. De forma predeterminada, la creación del control de pestaña con el estilo TCS_FLATBUTTONS establece este estilo extendido.
TCS_EX_REGISTERDROP El control de pestaña genera mensajes de notificación TCN_GETOBJECT para solicitar la colocación de un objeto de destino cuando se arrastra un objeto sobre los elementos de pestaña del control.
Nota:
Para recibir la notificación TCN_GETOBJECT, debe inicializar las bibliotecas OLE con una llamada a AfxOleInit.
Estos estilos se pueden recuperar y establecer, una vez creado el control, con las correspondientes llamadas a las funciones miembro GetExtendedStyle y SetExtendedStyle.
Por ejemplo, establezca el estilo TCS_EX_FLATSEPARATORS con las siguientes líneas de código:
DWORD dwExStyle = m_TabCtrl.GetExtendedStyle();
m_TabCtrl.SetExtendedStyle(dwExStyle | TCS_EX_FLATSEPARATORS);
Borre el estilo TCS_EX_FLATSEPARATORS del objeto CTabCtrl
con las siguientes líneas de código:
DWORD dwExStyle = m_TabCtrl.GetExtendedStyle();
m_TabCtrl.SetExtendedStyle(dwExStyle & ~TCS_EX_FLATSEPARATORS);
Esto quitará los separadores que aparecen entre los botones del objeto CTabCtrl
.