Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование фигур в Excel (MFC), Рисование фигур в Excel (MFC) 
:(
    Опции темы
akizelokro
Дата 27.8.2013, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Пока пока встретил два подхода (на примере Студии 2010, Excel 2007). предполагаю, что их больше.
Первый - использовать директиву #import, хочу спросить пока про него.

В ходе опеhаций импорта идёт автоматического отключение IFont и IPicture (это ещё ни о чём). Дальше всё нормально (рабочая книга открывается, рабочий лист переименовывается, регион ячеек получен, фигуры создаются, размер и пероначальный стил указать можно) до того момента, пока не идёт обращение к свойствам фигур. Эти обращения обрабатываются через врапперы для следующих структур FillFormat, LineFormat, TextEffextFormat, ColorFormat и прочие. И вот к ним подрубиться не удаётся. Как обойти эту особенность в рамках проекта на MFC при работе с Excel посредством импорта? И возможно ли это сделать? Не является ли это последствием автоматического отключения IFont и IPicture?





--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
GremlinProg
Дата 27.8.2013, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 2
Всего: 106




M
GremlinProg
Тема перемещена из раздела C/C++: Системное программирование и WinAPI



--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
akizelokro
Дата 27.8.2013, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Ну, вроде получил косвенные подтверждения, что там пашет всё, как и должно пахать.
Подключил вообще уж чуть ли не API вызовы, описанные на тама


Код

ShapePtr pShape1(pShape);
pShape1->PutShapeStyle(Office::msoShapeStylePreset25);

IDispatch *pXlTextEffectFormat;
{
    VARIANT result;
    VariantInit(&result);
    AutoWrap(DISPATCH_PROPERTYGET, &result, pShape, L"TextEffect", 0);
    pXlTextEffectFormat = result.pdispVal;
}


При таком обращении, смешанном с импортом, всё назначается, получается и берётся. Все свойства становятся доступными и работоспособными.
Но хотелось бы не мешать два подхода и довести до ума более удобный.



Так что задача остаётся прежней. Судя по всему, автоматическое исключение интерфейсов IFont и IPicture делают неработоспособными обращения такого плана

Код

ShapePtr pShape ...

TextEffectFormatPtr trfpr = pShape->TextEffext;
tfpr->PutText(...)


То есть, все структуры, которые могут зависеть от IFont и IPicture,становятся недоступными(?!).
Как обойти автоматическое отключение IFont и IPicture при импорте функционала из Эксела (и Оффиса) и попутно сделать работоспособными структуры ColorFormat, LineFormat и подобные?


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
akizelokro
Дата 29.8.2013, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Запретил автоматическое исключение IFont и IPicture, ничего в поведении не изменилось.
Значит, причина не в этом.


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0623 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.