Cómo: Cómo cambiar el texto en las fichas de un objeto CPropertySheet

Seleccione idioma Seleccione idioma
Id. de artículo: 141487 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

El texto que aparece en las fichas de un objeto CPropertySheet se toman normalmente desde el título de cada CPropertyPage en el recurso de plantilla de cuadro de diálogo. Hay algunos otros métodos que pueden utilizarse para seleccionar el título de cada página.

Más información

Tres métodos que puede utilizar para seleccionar el título de cada página

  1. El constructor de CPropertyPage tiene un parámetro de nIDCaption UINT que puede utilizarse para especificar un identificador de recurso de cadena. El valor predeterminado es 0 (indica que para utilizar el título de plantilla de diálogo) pero puede ser cualquier identificador de recurso de cadena válida.
  2. El CPropertyPage tiene un miembro denominado m_psp que es un PROPSHEETPAGE estructura. Puede establecer el elemento de esta estructura dwFlags PSP_USETITLE y pszTitle en una cadena que se utilizará como el título. Este método sólo se puede utilizar antes de llamar a Create() o DoModal().
  3. Si desea cambiar el texto en las fichas después de que se ha creado la hoja, puede llamar a PropertySheet::GetTabControl() para obtener un CTabCtrl puntero. Puede, a continuación, rellene una estructura TC_ITEM y utiliza el puntero de CTabCtrl, llamar a CTabCtrl::SetItem() para establecer el texto de cada ficha.

Código de ejemplo

/* Compile options needed:  Default
*/ 

// CMySheet is derived from CPropertySheet.
// CPage1 is derived from CPropertyPage.

// METHOD ONE ======================================================
// passing the string ID to the constructor. ClassWizard does not
// generate a constructor that takes the caption ID as a parameter,
// so it may be necessary to modify the CPage1's constructor
class CPage1 : public CPropertyPage
{
// ...

public:
    CPage1(UINT nIDCaption = 0);

// ...
};

CPage1::CPage1(UINT nIDCaption) :
              CPropertyPage(CMyPage::IDD, nIDCaption)
{
    //{{AFX_DATA_INIT(CMyPage)
        // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT
}

// Use the class's constructor to pass the string ID
CMyView::ShowPropertySheet ()
{
    m_pSheet = new CMySheet ("Sheet Title");
    ASSERT (m_pSheet);
    m_pPage1 = new CPage1(IDS_MYCAPTION); // id of string resource
    ASSERT (m_pPage1);

    m_pSheet->DoModal ();
}

// METHOD TWO ======================================================
// this shows how to change the title of a CPropertyPage before the
// call to DoModal()
CMyView::ShowPropertySheet ()
{
    m_pSheet = new CMySheet ("Sheet Title");
    ASSERT (m_pSheet);
    m_pPage1 = new CPage1;
    ASSERT (m_pPage1);

    m_pPage1->m_psp.dwFlags |= PSP_USETITLE;
    m_pPage1->m_psp.pszTitle = _T("My Caption");

    m_pSheet->DoModal ();
}

// METHOD THREE ======================================================
// This function allows you to pass the index number of a
// CPropertyPage and a string to set the title to.
BOOL CMySheet::SetPageTitle (int nPage, LPTSTR pszText)
{
    CTabCtrl* pTab = GetTabControl();
    ASSERT (pTab);

    TC_ITEM ti;
    ti.mask = TCIF_TEXT;
    ti.pszText = pszText;
    VERIFY (pTab->SetItem (nPage, &ti));

    return TRUE;
}
				

Propiedades

Id. de artículo: 141487 - Última revisión: martes, 21 de noviembre de 2006 - Versión: 2.1
La información de este artículo se refiere a:
  • Microsoft Foundation Class Library 4.2 sobre las siguientes plataformas
    • Microsoft Visual C++ 4.0 Standard Edition
Palabras clave: 
kbmt kbhowto kbpropsheet kbuidesign KB141487 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 141487
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com