Версия для слабовидящих
Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

 

= Мир MS Excel/ActiveX искажает изображения - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
ActiveX искажает изображения
MAK93 Дата: Пятница, 18.08.2017, 13:23 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

2016
Добрый день, дорогие форумчане!

Есть задача: поставить макрос на событие mouse down на картинку.
Есть решение: назначить нужную картинку элементу управления ActiveX( скорее всего image)
Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.

Пробовал с картинками формата gif, jpeg, png.... лучший результат был когда картинку сохранял в метафайле виндовс, но там появляются какие то точки по контуру..

Отпишитесь пожалуйста, может кто сталкивался с подобной проблемой. Может нужен какой то другой ActiveX( не из стандартного пакета) или в этот image можно засунуть файл картинку другого формата, который не будет искажать изображение.
 
Ответить
СообщениеДобрый день, дорогие форумчане!

Есть задача: поставить макрос на событие mouse down на картинку.
Есть решение: назначить нужную картинку элементу управления ActiveX( скорее всего image)
Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.

Пробовал с картинками формата gif, jpeg, png.... лучший результат был когда картинку сохранял в метафайле виндовс, но там появляются какие то точки по контуру..

Отпишитесь пожалуйста, может кто сталкивался с подобной проблемой. Может нужен какой то другой ActiveX( не из стандартного пакета) или в этот image можно засунуть файл картинку другого формата, который не будет искажать изображение.

Автор - MAK93
Дата добавления - 18.08.2017 в 13:23
anvg Дата: Пятница, 18.08.2017, 13:43 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Цитата MAK93, 18.08.2017 в 13:23, в сообщении № 1 ( писал(а)):
Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.

Угу, кругом одни криворукие враги и только вы один воин света весь в белом. А может стоит изучить PictureSizeMode и подобные, чем столь бездоказательно объявлять?
Успехов.
 
Ответить
СообщениеДоброе время суток.
Цитата MAK93, 18.08.2017 в 13:23, в сообщении № 1 ( писал(а)):
Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.

Угу, кругом одни криворукие враги и только вы один воин света весь в белом. А может стоит изучить PictureSizeMode и подобные, чем столь бездоказательно объявлять?
Успехов.

Автор - anvg
Дата добавления - 18.08.2017 в 13:43
AndreTM Дата: Пятница, 18.08.2017, 14:04 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Цитата MAK93, 18.08.2017 в 13:23, в сообщении № 1 ( писал(а)):
любой элемент управления ActiveX искажает изначальную картинку
Ну, если только обычный MSForms 2.0 Image и "искажает", да и то там связано с тем, какой формат картинки вы подсовываете ему.
А что, "Других элементов" у вас никаких нет?
Попробуйте вставить MSForms 2.0 Frame, или какой-нибудь MS Ink Picture...
Ну и так-то у нас не графический редактор :)

А что, просто вставить картинку как шейп и подвесить макрос на клик - это не наш метод? :)

Андрей, MS Forms Image картинку действительно портит, он там блюр накладывает, типа изображает из себя кнопку...
А вот обычный Label - все нормально показывает. Правда, .Caption = " " должно быть, иначе авторазмер не работает.

В любом случае, главные условия - это .AutoSize=True и .BackStyle=0
К сообщению приложен файл: 2-34954-2.xlsm (86.2 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Пятница, 18.08.2017, 14:26
 
Ответить
Сообщение
Цитата MAK93, 18.08.2017 в 13:23, в сообщении № 1 ( писал(а)):
любой элемент управления ActiveX искажает изначальную картинку
Ну, если только обычный MSForms 2.0 Image и "искажает", да и то там связано с тем, какой формат картинки вы подсовываете ему.
А что, "Других элементов" у вас никаких нет?
Попробуйте вставить MSForms 2.0 Frame, или какой-нибудь MS Ink Picture...
Ну и так-то у нас не графический редактор :)

А что, просто вставить картинку как шейп и подвесить макрос на клик - это не наш метод? :)

Андрей, MS Forms Image картинку действительно портит, он там блюр накладывает, типа изображает из себя кнопку...
А вот обычный Label - все нормально показывает. Правда, .Caption = " " должно быть, иначе авторазмер не работает.

В любом случае, главные условия - это .AutoSize=True и .BackStyle=0

Автор - AndreTM
Дата добавления - 18.08.2017 в 14:04
anvg Дата: Пятница, 18.08.2017, 14:42 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Цитата AndreTM, 18.08.2017 в 14:04, в сообщении № 3 ( писал(а)):
MS Forms Image картинку действительно портит, он там блюр накладывает, типа изображает из себя кнопку..
Честно говоря не понял как? Вставил картинку из стандартных образцов...
 
Ответить
Сообщение
Цитата AndreTM, 18.08.2017 в 14:04, в сообщении № 3 ( писал(а)):
MS Forms Image картинку действительно портит, он там блюр накладывает, типа изображает из себя кнопку..
Честно говоря не понял как? Вставил картинку из стандартных образцов...

Автор - anvg
Дата добавления - 18.08.2017 в 14:42
anvg Дата: Пятница, 18.08.2017, 15:07 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Цитата AndreTM, 18.08.2017 в 15:00, в сообщении № 5 ( писал(а)):
картинку элементу управления ActiveX( скорее всего image)

Я с ним и эксперементировал. Он же на листе
[img]http://radikal.ru]
Вариант для конпки.
[img]http://radikal.ru]


Сообщение отредактировал anvg - Пятница, 18.08.2017, 15:14
 
Ответить
Сообщение
Цитата AndreTM, 18.08.2017 в 15:00, в сообщении № 5 ( писал(а)):
картинку элементу управления ActiveX( скорее всего image)

Я с ним и эксперементировал. Он же на листе
[img]http://radikal.ru]
Вариант для конпки.
[img]http://radikal.ru]

Автор - anvg
Дата добавления - 18.08.2017 в 15:07
AndreTM Дата: Пятница, 18.08.2017, 15:59 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
А у меня вот так:
К сообщению приложен файл: 3882173.jpg (105.9 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеА у меня вот так:

Автор - AndreTM
Дата добавления - 18.08.2017 в 15:59
anvg Дата: Пятница, 18.08.2017, 16:35 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Цитата AndreTM, 18.08.2017 в 15:59, в сообщении № 7 ( писал(а)):
А у меня вот так:
Приношу свои извинения, не посмотрел ваш файл сразу.
В первом случае для =ВНЕДРИТЬ("Forms.Label.1";"") - изображение больше чем размер подписи. Вполне логично, что оно ужато. Собственно, размещение изображений предполагалось для таких элементов для чего-нибудь вроде 16х16 пиксел в качестве подсказки. То есть, если размер изображения не будет привышать размер Label, CommandButton, то оно будет вставлено без искажений.
Во втором случае вы использовали =ВНЕДРИТЬ("msinkaut.InkPicture.1";""), что не является AcitveX Image :)
 
Ответить
Сообщение
Цитата AndreTM, 18.08.2017 в 15:59, в сообщении № 7 ( писал(а)):
А у меня вот так:
Приношу свои извинения, не посмотрел ваш файл сразу.
В первом случае для =ВНЕДРИТЬ("Forms.Label.1";"") - изображение больше чем размер подписи. Вполне логично, что оно ужато. Собственно, размещение изображений предполагалось для таких элементов для чего-нибудь вроде 16х16 пиксел в качестве подсказки. То есть, если размер изображения не будет привышать размер Label, CommandButton, то оно будет вставлено без искажений.
Во втором случае вы использовали =ВНЕДРИТЬ("msinkaut.InkPicture.1";""), что не является AcitveX Image :)

Автор - anvg
Дата добавления - 18.08.2017 в 16:35
AndreTM Дата: Пятница, 18.08.2017, 17:16 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Цитата anvg, 18.08.2017 в 16:35, в сообщении № 8 ( писал(а)):
не является AcitveX Image
Цитата MAK93, 18.08.2017 в 13:23, в сообщении № 1 ( писал(а)):
Может нужен какой то другой ActiveX( не из стандартного пакета)
:)

Вообще, я подразумевал следующее (и на последней приложенной картинке это показано):
- ActiveX MSForms 2.0 Image - "портит" некоторые виды изображений
- MSForms CommandButton, Frame - невозможно избавиться от некоторых элементов оформления объекта
- Label - вставляются нормально любые изображения любых размеров, только нужно в Caption что-то указать
- Ink Picture (ActiveX!, почти стандартное уже!) - изображения нормально вставляются
- Shape (просто вставленная картинка) - почему не устраивает ТС? Только потому, что нужно именно событие MouseDown?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Цитата anvg, 18.08.2017 в 16:35, в сообщении № 8 ( писал(а)):
не является AcitveX Image
Цитата MAK93, 18.08.2017 в 13:23, в сообщении № 1 ( писал(а)):
Может нужен какой то другой ActiveX( не из стандартного пакета)
:)

Вообще, я подразумевал следующее (и на последней приложенной картинке это показано):
- ActiveX MSForms 2.0 Image - "портит" некоторые виды изображений
- MSForms CommandButton, Frame - невозможно избавиться от некоторых элементов оформления объекта
- Label - вставляются нормально любые изображения любых размеров, только нужно в Caption что-то указать
- Ink Picture (ActiveX!, почти стандартное уже!) - изображения нормально вставляются
- Shape (просто вставленная картинка) - почему не устраивает ТС? Только потому, что нужно именно событие MouseDown?

Автор - AndreTM
Дата добавления - 18.08.2017 в 17:16
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!