Страница 1 из 1

TRichEdit.

Добавлено: 28 сен 2009, 09:42
atavin-ta
Помогите найти толковую описаловку. Чтоб и цвет, и шрифт, и кегль, и подчёркивание-зачеркивание, и стили (жирный, курсив), и верхние-нижние индексы, и внедрение рисунков, и печать. И чтобы сразу на c++е.

Re: TRichEdit.

Добавлено: 30 сен 2009, 22:19
mc-black
MSDN, что же еще. Только там RichEdit control :)

Re: TRichEdit.

Добавлено: 01 окт 2009, 11:21
WinMain
TRichEdit - это компонент для С++ Builder (или Delphi). MSDN к ним не поставляется.
Чтобы документ поддерживал разные шрифты и картинки, необходимо включить поддержку OLE-контейнера в документе.
На MFC это делается легко, с помощью визарда при создании приложения. Там используется стандартный элемент RichEdit.
На платформе VCL я не знаю, как это делается.

Re: TRichEdit.

Добавлено: 01 окт 2009, 19:10
mc-black
TRichEdit - не борландовское ноу-хау, а классовая обертка вокруг RichEdit, верно? MSDN общедоступен в сети Интернет, также как и этот форум, так что не надо! Борланд законы ОС не отменял. Все-таки не любите MS? Отлично, тогда почему-бы не прочесть официальную документацию разработчика TRichEdit?

Re: TRichEdit.

Добавлено: 01 окт 2009, 20:49
WinMain
На сколько я знаю, большинство компонентов платформы VCL, в отличие от классов MFC, не являются обёртками для стандартных элементов Windows.
Они полностью реализованы как самостоятельные оконные классы, хотя внешне очень похожи на стандартные элементы.
Так что MSDN здесь не сильно помогает, разве что при использовании функций Windows API.

Re: TRichEdit.

Добавлено: 01 окт 2009, 21:23
mc-black
Спорить не стану, ибо не знаю )))) А конкретно этот компонент? У меня нет установленных продуктов Borland, я проверить не могу, использует ли откомпилированная программа в TRichEdit одну из хоть одну из dll OC с этим контролом?

Re: TRichEdit.

Добавлено: 08 окт 2009, 12:52
atavin-ta
WinMain писал(а):TRichEdit - это компонент для С++ Builder (или Delphi). MSDN к ним не поставляется.
Чтобы документ поддерживал разные шрифты и картинки, необходимо включить поддержку OLE-контейнера в документе.
На MFC это делается легко, с помощью визарда при создании приложения. Там используется стандартный элемент RichEdit.
На платформе VCL я не знаю, как это делается.
Спасибо, но по TOleContaner у меня аналогичный вопрос: как там всё это поддерживать, да еще вместе со стилями абзацев, оглавлениями и гиперссылками. Думал, что TRichEdit поддерживает картинки, так как он сделан для RTF, а это формат картинки поддерживает. Если нет, то ладно - вопрос про картинки в TRichEdit снимается, но остаётся вопрос про индексы в том же компоненте.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
mc-black писал(а):TRichEdit - не борландовское ноу-хау, а классовая обертка вокруг RichEdit, верно? MSDN общедоступен в сети Интернет, также как и этот форум, так что не надо! Борланд законы ОС не отменял. Все-таки не любите MS? Отлично, тогда почему-бы не прочесть официальную документацию разработчика TRichEdit?
Спорить не буду, но этот проект именно под болэндом. Соответсвенно и инфа нужна по Borand visual с++ 6.0 enterprize, а не по Microsoft visaul studio. Встроенная справка есть, но в ней не рассмотрены как раз индексы. И делаться всё должно через этот самый оболочечный класс. Даже если, например, SendMessageом или PostMessgeом, то Handle должен браться только из

Код: Выделить всё

 
TOLEContaner *MyOleContaner;
...
MyOleContaner->Handle;
и никак иначе и даже не сохраняьтся в специальной переменной, а использоваться именно такая конструкция:

Код: Выделить всё

...
SendMessage(MyOleContaner->Handle...);
...

или

Код: Выделить всё

...
PostMessage(MyOleContaner->Handle...);
...
.
Кстати, можно ли сделать, чтобы следующая строчка после отправки окну сообщения выполнялась только после полной его обработки? Как именно (SendMessegeом, или PostMessegeом)?