Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La fonctionnalité de fenêtre inclut la possibilité de recevoir des messages et la propriété d’un contexte d’appareil dans lequel dessiner. Les contrôles d’édition enrichis sans fenêtre reçoivent cette fonctionnalité par le biais d’une paire d’interfaces : ITextServices et ITextHost.
Bon à savoir
Technologies
Prérequis
- C/C++
- Programmation de l’interface utilisateur Windows
Instructions
Établir la fonctionnalité de fenêtre
L’exemple de code suivant montre comment créer l’hôte de texte et les services de texte.
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;
Notes
Le paramètre hmodRichEdit dans l’exemple de code est un handle pour le module Msftedit.dll et il est supposé que ce handle a déjà été récupéré par un appel à la fonction GetModuleHandle .
Exemple complet
Rubriques connexes