Есть задача: поставить макрос на событие mouse down на картинку. Есть решение: назначить нужную картинку элементу управления ActiveX( скорее всего image) Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.
Пробовал с картинками формата gif, jpeg, png.... лучший результат был когда картинку сохранял в метафайле виндовс, но там появляются какие то точки по контуру..
Отпишитесь пожалуйста, может кто сталкивался с подобной проблемой. Может нужен какой то другой ActiveX( не из стандартного пакета) или в этот image можно засунуть файл картинку другого формата, который не будет искажать изображение.
Добрый день, дорогие форумчане!
Есть задача: поставить макрос на событие mouse down на картинку. Есть решение: назначить нужную картинку элементу управления ActiveX( скорее всего image) Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.
Пробовал с картинками формата gif, jpeg, png.... лучший результат был когда картинку сохранял в метафайле виндовс, но там появляются какие то точки по контуру..
Отпишитесь пожалуйста, может кто сталкивался с подобной проблемой. Может нужен какой то другой ActiveX( не из стандартного пакета) или в этот image можно засунуть файл картинку другого формата, который не будет искажать изображение.MAK93
Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.
Угу, кругом одни криворукие враги и только вы один воин света весь в белом. А может стоит изучить PictureSizeMode и подобные, чем столь бездоказательно объявлять? Успехов.
Есть проблема: любой элемент управления ActiveX искажает изначальную картинку.
Угу, кругом одни криворукие враги и только вы один воин света весь в белом. А может стоит изучить PictureSizeMode и подобные, чем столь бездоказательно объявлять? Успехов.anvg
любой элемент управления ActiveX искажает изначальную картинку
Ну, если только обычный MSForms 2.0 Image и "искажает", да и то там связано с тем, какой формат картинки вы подсовываете ему. А что, "Других элементов" у вас никаких нет? Попробуйте вставить MSForms 2.0 Frame, или какой-нибудь MS Ink Picture... Ну и так-то у нас не графический редактор
А что, просто вставить картинку как шейп и подвесить макрос на клик - это не наш метод?
Андрей, MS Forms Image картинку действительно портит, он там блюр накладывает, типа изображает из себя кнопку... А вот обычный Label - все нормально показывает. Правда, .Caption = " " должно быть, иначе авторазмер не работает.
В любом случае, главные условия - это .AutoSize=True и .BackStyle=0
любой элемент управления ActiveX искажает изначальную картинку
Ну, если только обычный MSForms 2.0 Image и "искажает", да и то там связано с тем, какой формат картинки вы подсовываете ему. А что, "Других элементов" у вас никаких нет? Попробуйте вставить MSForms 2.0 Frame, или какой-нибудь MS Ink Picture... Ну и так-то у нас не графический редактор
А что, просто вставить картинку как шейп и подвесить макрос на клик - это не наш метод?
Андрей, MS Forms Image картинку действительно портит, он там блюр накладывает, типа изображает из себя кнопку... А вот обычный Label - все нормально показывает. Правда, .Caption = " " должно быть, иначе авторазмер не работает.
В любом случае, главные условия - это .AutoSize=True и .BackStyle=0AndreTM
Я вставлял "снимок" из Excel, сохраненный как jpg - и картинка размылась. И да, вставляем не на юзерформу, а прямо в лист внедряем. На форме может быть и не заметно...
Я вставлял "снимок" из Excel, сохраненный как jpg - и картинка размылась. И да, вставляем не на юзерформу, а прямо в лист внедряем. На форме может быть и не заметно...AndreTM
Приношу свои извинения, не посмотрел ваш файл сразу. В первом случае для =ВНЕДРИТЬ("Forms.Label.1";"") - изображение больше чем размер подписи. Вполне логично, что оно ужато. Собственно, размещение изображений предполагалось для таких элементов для чего-нибудь вроде 16х16 пиксел в качестве подсказки. То есть, если размер изображения не будет привышать размер Label, CommandButton, то оно будет вставлено без искажений. Во втором случае вы использовали =ВНЕДРИТЬ("msinkaut.InkPicture.1";""), что не является AcitveX Image
Приношу свои извинения, не посмотрел ваш файл сразу. В первом случае для =ВНЕДРИТЬ("Forms.Label.1";"") - изображение больше чем размер подписи. Вполне логично, что оно ужато. Собственно, размещение изображений предполагалось для таких элементов для чего-нибудь вроде 16х16 пиксел в качестве подсказки. То есть, если размер изображения не будет привышать размер Label, CommandButton, то оно будет вставлено без искажений. Во втором случае вы использовали =ВНЕДРИТЬ("msinkaut.InkPicture.1";""), что не является AcitveX Image anvg
Может нужен какой то другой ActiveX( не из стандартного пакета)
Вообще, я подразумевал следующее (и на последней приложенной картинке это показано): - ActiveX MSForms 2.0 Image - "портит" некоторые виды изображений - MSForms CommandButton, Frame - невозможно избавиться от некоторых элементов оформления объекта - Label - вставляются нормально любые изображения любых размеров, только нужно в Caption что-то указать - Ink Picture (ActiveX!, почти стандартное уже!) - изображения нормально вставляются - Shape (просто вставленная картинка) - почему не устраивает ТС? Только потому, что нужно именно событие MouseDown?
Может нужен какой то другой ActiveX( не из стандартного пакета)
Вообще, я подразумевал следующее (и на последней приложенной картинке это показано): - ActiveX MSForms 2.0 Image - "портит" некоторые виды изображений - MSForms CommandButton, Frame - невозможно избавиться от некоторых элементов оформления объекта - Label - вставляются нормально любые изображения любых размеров, только нужно в Caption что-то указать - Ink Picture (ActiveX!, почти стандартное уже!) - изображения нормально вставляются - Shape (просто вставленная картинка) - почему не устраивает ТС? Только потому, что нужно именно событие MouseDown?AndreTM