Кнопка с прозр. рисунком.
По идее вроде это сделать можно. Ведь Excel свои кнопки номана показывает. У него в редакторе картинок для кнопок есть такой 17-ый цвет - "удалить" .....
Мож кто знает, как это сделать.
(если я правильно понял, ты хочешь рисовать на кнопке на панели инструментов, ведь так?)
Пока у меня с наскоку ничего не получилось...
Транспарентность теряется.
А никакая из встроенных не подойдет? Их же сотни три, не меньше...
Вообще, у меня не получается даже расположить какую-нибудь картинку с транспарентом на листе...
Но зато у меня получилось вот что!
Я нарисовал на листе AutoShape(ну там сгруппировал из прямоугольничков и рожиц какую-то фигню), при чем без заливки - то есть он был прозрачный. Потом я его скопировал в клипборд, потом вставил на кнопке. Прозрачного цвета там не возникло. Но там возник виндовский цвет фона. То есть, если не менять эти настройки в момент работы Экселя, то разницы не заметишь. В общем, как-то так:
Sub AddToBar()
Dim ComBar As CommandBar, But As CommandBarButton
Set ComBar = Application.CommandBars(ComBarName)
Set But = ComBar.Controls.Add(msoControlButton, 1)
ActiveSheet.Shapes("Group 5").Select
Selection.Copy
But.PasteFace
End Sub
А этими шейпами довольно много всего можно нарисовать... :)
Встроенные очень даже подойдут (уж лучше какие-нибудь, но прозрачные) правда хотел я их разместить не на самой панели инструментов, а на CommandButton(Controls) на UserForm.
Хотя, конечно, задача от этого принципиально не меняется.. :-)
Просто я думал, что такую вообщем-то тривиальную задачу (сами-то Microsoft вовсю используют) как размещение картинки с прозрачным фоном на кнопке можно решить стандартными средствами(свойствами). Ну вот в Delphi например проблем никаких, хочешь накладывай, хочешь не накладывай. Не стоит сейчас у меня VB6, так что не могу проверить, там то как..? такой же геморой?
Кажется я понял кто меня дурит... :-)
Стоит у меня Paint...trial, который "собака" видно не сохраняет GIF с норм. прозрачным фоном, а тока притворяется, придется тащить на работу чего-нибудь нормально работающее для проверки... :-(
Вот так ходишь в школу, ходишь..., а потом бац - вторая смена.
А даже и тащить не надо ничего - в офисовском Microsoft Photo Editore это можно прекрасно сделать... :cool:
Но вот прикольно то, что можно как оказалось вывернуться еще и так:
1. Сохраняем обыкновенную BMP (например с белым фоном).
2. Для CommandButton выбераем следующие свойства:
2.1 BackColor - &H00FFFFFF&
2.2 BackStyle - fmBackStyleTransparent
Т.о. достигаем такого же эффекта, тока подложка будет просвечивать, если что-то под кнопкой еще кроме формы лежит... :-)
Но вот прикольно то, что можно как оказалось вывернуться еще и так:
1. Сохраняем обыкновенную BMP (например с белым фоном).
2. Для CommandButton выбераем следующие свойства:
2.1 BackColor - &H00FFFFFF&
2.2 BackStyle - fmBackStyleTransparent
Это я сглупил не много. :-)
Все это у меня не потому работало, что всякие Back... стояли, а надо просто в том, же Paint создать новый лист, убрать галку - непрозрачный фон, сохраняем в BMP 16 color и получаем файл, который номана отображается и без всяких fmBackStyleTransparent.
Это я сглупил не много. :-)
Все это у меня не потому работало, что всякие Back... стояли, а надо просто в том, же Paint создать новый лист, убрать галку - непрозрачный фон, сохраняем в BMP 16 color и получаем файл, который номана отображается и без всяких fmBackStyleTransparent.
Кстати, тут щас столкнулся еще с одной такой хитростью-глюк:
Когда убраете галку - непрозрачный фон, то как Вы думаете, какой цвет Paint считает фоновым у картинки. Если Вы как и я думали, что это будет цвет выбранный внизу экрана, в палитре, как фон, то Вы ошибаетесь.
Цветом фона Paint считает цвет последней строки в картинке, а на все остальное он кладет ... :-)
Так что, если у Вас нижняя часть картинки закрашена каким-нибудь цветом и Вы не хотите, чтобы он пропал(стал прозрачным), добавьте снизу еще одну строку с цветом выбранного Вами фона и все будет OK.