Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La funcionalidad de ventana incluye la capacidad de recibir mensajes y la propiedad de un contexto de dispositivo en el que se va a dibujar. Los controles de edición enriquecidos sin ventanas reciben esta funcionalidad mediante un par de interfaces: ITextServices e ITextHost.
Lo que necesita saber
Tecnologías
Requisitos previos
- C/C++
- Programación de la interfaz de usuario de Windows
Instrucciones
Establecimiento de la funcionalidad de ventana
En el código de ejemplo siguiente se muestra cómo crear el host de texto y los servicios de texto.
HRESULT hr;
IUnknown* pUnk = NULL;
ITextServices* pTextServices = NULL;
// Create an instance of the application-defined object that implements the ITextHost interface.
TextHost* pTextHost = new TextHost();
if (pTextHost == NULL)
goto errorHandler;
// Create an instance of the text services object.
hr = CreateTextServices(NULL, pTextHost, &pUnk);
if (FAILED(hr))
goto errorHandler;
// Retrieve the IID_ITextServices interface identifier from Msftedit.dll.
IID* pIID_ITS = (IID*) (VOID*) GetProcAddress(hmodRichEdit, "IID_ITextServices");
// Retrieve the ITextServices interface.
hr = pUnk->QueryInterface(*pIID_ITS, (void **)&pTextServices);
if (FAILED(hr))
goto errorHandler;
Comentarios
El parámetro hmodRichEdit del ejemplo de código es un identificador para el módulo Msftedit.dll y se supone que este identificador ya se ha recuperado mediante una llamada a la función GetModuleHandle .
Ejemplo completo
Temas relacionados