Text Service: Display Attributes
If your text service wishes to display text in different colors (e.g., displaying the current composition in red), then your text service needs to implement these interfaces:
Interface |
How Obtained |
---|---|
Obtained by QI from ITfTextInputProcessor |
|
Returned from ITfDisplayAttributeProvider::EnumDisplayAttributeInfo |
|
Returned from ITfDisplayAttributeProvider::GetDisplayAttributeInfo |
If you implement ITfDisplayAttributeProvider, you must also understand how properties work (because display attributes are set via properties), and you must also register your text service as a display attribute property provider at install time, like this:
ITfCategoryMgr::RegisterCategory(<clsid of text service>, GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER, <clsid of text service>);
MSDN also mentions GUID_TFCAT_DISPLAYATTRIBUTEPROPERTY, but it doesn't seem to be used in the samples or in any text service I can find.
A working example of a text service that implements display attributes can be found in MSDN.