PDA

Просмотр полной версии : Отображение выделенного шейпа на форме



AlexGur
17.11.2004, 14:55
Уважаемые дивелоперы!
Делаю сейчас в Ворде вот такое: в самом документе много разделов (Sections), в каждом из которых нарисованы шейпы (Freeform, Line, TextBox). У меня есть форма, на которой торчит TabStrip, а Tabs пронумерованы по номерам разделов. При смене Tab отображается список всех шейпов в нужном разделе, а при выборе конкретного шейпа он выделяется в документе.
Все вроде тип-топ, но хочется сделать нагляднее и красивше.
Хочется при выделении конкретного шейпа в списке тут же выводить его изображение на форму. Неважно куда, хоть просто в клиентскую область формы (или в Image внутри формы), лишь бы отображался. Как ни извращался с Copy/CopyAsPicture/Paste/PasteSpecial, ничего не выходит. Шейп, судя по всему, кидается в буфер, но на форму идти не хочет. Понятно вроде, что форма любит контролы, а не произвольные объекты.
Как бы такое сотворить? Если вопрос откровенно глуп, намекните, пожалуйста.
Дело в данном случае даже не в ограничениях интерфейса Shapes, а в принципиальном вопросе: можно ли как-то нечто скопированное в буфер перетащить на форму (не в документ), если это не является контролом?
С надеждой на реакцию, AlexGur.

Дмит
27.11.2004, 22:32
Для отображения Shapes на форме я использую RichTextBox.
Посмотри http://dimit.pochta.ru/excel/richtbox.zip
Это в Excel, в Word почти тоже.

AlexGur
28.11.2004, 22:19
Большое спасибо, Дмит, работает. Вот только как бы мне этот шейп масштабировать, чтобы он в этот RichTextBox целиком влез, а не только одним боком - и чтобы сам селекшен в документе не повредить при этом?

Дмит
29.11.2004, 21:33
Сделал чистой воды химию, но у меня код работает.
Адрес файла тот же.