Cómo adaptar la página de propiedades ActiveX estándar con recursos de MFC

Seleccione idioma Seleccione idioma
Id. de artículo: 200555 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Resumen

MFC proporciona versiones traducidas del color, fuente y imagen estándar de OLE en las páginas de propiedades. En este artículo proporciona dos métodos para utilizar estos recursos en las páginas de propiedades MFC.

Más información

El primer método para utilizar estos recursos es instalar la DLL de sólo recursos MFC que se adapta el idioma que desee en el sistema. Para obtener más información acerca de cómo utilizar los archivos DLL sólo de recursos de MFC, vea Nota técnica 57 (TN057) titulado "Localización de los componentes MFC". Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
208983Cómo utilizar MFC LOC DLLs
Si la DLL MFC4xLOC no es una alternativa viable, la otra solución es crear una página de propiedades personalizadas que se puede localizar. Para ello, siga estos pasos:
  1. Copia el recurso de diálogo de página de propiedades estándar desde correspondiente localizado recursos MFC sólo DLL (que normalmente se encuentra en mfc\include\Afxctl.rc). Puede cambiar el nombre del ID si lo desea.
  2. Con Asistente para clases y el identificador de recursos de diálogo nuevo, cree una clase de página de propiedad OLE derivada de CStockPropPage (no olvide proporcionar un identificador de cadena para la página y su título). Si recibe un error de Asistente para clases acerca de la imposibilidad de abrir un archivo, simplemente omitirlo.
  3. Copie el código de la clase MFC correspondiente que representa la página de propiedades estándar. Por ejemplo, si se personalizar el CFontPropPage cuadro de diálogo, debería copiar el código de mfc\src\ppgfont.cpp y mfc\include\afxctl.h. Algunas modificaciones será necesarios.

    • Cambiar el nombre de clase a la nueva clase de página de propiedad OLE. Por ejemplo, cambiar todas las apariciones de CFontPropPage a CMyLatinFontPage
    • Usar el nuevo CLSID proporcionado por el Asistente para clases en IMPLEMENT_OLECREATE_EX
    • Utilizar los dos identificadores de cadena nuevo para la página y título
    • Puede ser necesario incluir algunos MFC privada encabezados
       #include <afxpriv.h>
       #include "../src/oleimpl2.h"
       #include "../src/afximpl.h"
        
    						
  4. Como ocurre con agregar cualquier página de propiedad OLE, asegúrese de agregar las entradas en la macro BEGIN_PROPPAGEID en archivo de implementación del control. Por ejemplo:
       BEGIN_PROPPAGEIDS(CSuperCtrl, 2)
    	PROPPAGEID(CSuperPropPage::guid)
    	PROPPAGEID(CMyLatinFontPage::guid)
       END_PROPPAGEIDS(CSuperCtrl)
    					
La razón que es necesaria la creación de una página de propiedades personalizadas es que la función llama a para la creación y uso de recursos no se origina desde la aplicación al crear páginas de propiedades estándar, las llamadas de función se originan en el subsistema de COM. El estado de módulo que se utiliza para determinar dónde cargar los recursos es el módulo de usuario llamada. Esto significa que los recursos en el usuario módulo y la extensión DLL (que se podrían convertir DLL sólo de recursos) se utilizan. Por lo tanto los recursos utilizados por las páginas de propiedades estándar están restringidos a los recursos en el archivo DLL de MFC.

Referencias

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
198846Cómo crear la DLL de recursos localizada de aplicación MFC

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
198536Cómo incluir los recursos MFC localizados en un archivo EXE o DLL

Propiedades

Id. de artículo: 200555 - Última revisión: domingo, 23 de febrero de 2014 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft Foundation Class Library 4.2 sobre las siguientes plataformas
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise
    • Microsoft Visual C++ 5.0 Professional
    • Microsoft Visual C++ 6.0 Professional
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
Palabras clave: 
kbnosurvey kbarchive kbmt kbctrlcreate kbdll kbhowto kbintldev kblocalization kbpropsheet KB200555 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): 200555

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