Как реализовать Outlook Express как поле контроля адреса - PullRequest
2 голосов
/ 29 июня 2010

Я думал о вставке какого-либо объекта (кнопки, панели или статического текста) в textctrl, как это делает Outlook Express.

альтернативный текст http://www.freeimagehosting.net/uploads/882b6b1743.png

Вы можете видеть на картинке "group1" - это объект, вы можете дважды щелкнуть по нему, при удалении онудалил весь текст, а не только его часть.Я провел некоторое исследование, и это текстовое поле просто RichEdit20W.Я понимаю, что могу сделать это, внедрив некоторую логику в текстовое поле и так далее, но это не будет правильным способом сделать это.Интересно, как они это сделали.Должен ли я реализовать IRichEditOleCallback интерфейс для достижения этой цели?Я буду очень признателен за ваш ответ.Спасибо!

1 Ответ

1 голос
/ 19 марта 2011

Возможность вставки объекта встроена в элемент управления RichEdit, это то, что использует Outlook, и вы можете сделать то же самое самостоятельно. Кажется, вам нужно реализовать свой собственный объект OLE для своего элемента, а затем использовать COM-интерфейс RichEdit для его вставки. Вы можете увидеть пример на MSDN, который получает интерфейс COM и вставляет объект здесь .

...