Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поделитесь апи-функцией для прозрачности контрола / 4 сообщений из 4, страница 1 из 1
03.09.2011, 13:07
    #37423808
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поделитесь апи-функцией для прозрачности контрола
Может у кого, то есть функция, которая делает лейбл или текстбокс или фрейм прозрачным, но не форму
и при условии, что у элемента будет задан бекколор .
Желаемый эффект должен выглядит так (голубая полоска):
...
Рейтинг: 0 / 0
03.09.2011, 15:59
    #37423920
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поделитесь апи-функцией для прозрачности контрола
Для этого нет одной апи. Для label они вообще не нужны - у него есть соответствующее свойство, а текстбокс придется сабклассить и перерисовывать самостоятельно. Наверное даже проще сделать собственный текстбокс. А еще проще найти готовый и допилить.
...
Рейтинг: 0 / 0
04.09.2011, 21:51
    #37424731
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поделитесь апи-функцией для прозрачности контрола
В прозрачных контролах есть один недостаток - прозрачная часть не реагирует на события (например на щелчок мыши). Это можно исправить, имитируя прозрачность путем копирования в контрол изображения родительской формы. Для примера поставьте на контрол 2 PictureBox с названиями PicImage и PicMask. Установите у них свойства BorderStyle=0, AutoSize=True, AutoRedraw=True, Visible=False. Загрузите в одно из них изображение, в другое - маску. Установите у контрола свойствa BackStyle=1 и AutoRedraw=True. Для наглядности поместите на форму, где будет находиться контрол какой-нибудь рисунок. Введите следующий код
Private Sub UserControl_Show()
' Подгоняем размер контрола к размеру картинки
UserControl.Width = PicImage.Width
UserControl.Height = PicImage.Height
' Для каждого контрола в родительской форме
For Each Control In Parent.Controls
' Если контрол соответствует нашему контролу
If Control.Name = Ambient.DisplayName Then
' Копируем изображение с родительской формы
PaintPicture Parent.Image, 0, 0, Width, Height, _
Control.Left, Control.Top, Width, Height
' Накладываем маску
PaintPicture PicMask.Picture, 0, 0, , , , , , , vbSrcAnd
' Накладываем изображение
PaintPicture PicImage.Picture, 0, 0, , , , , , , vbSrcPaint
Exit For
End If
Next
End Sub
...
Рейтинг: 0 / 0
04.09.2011, 22:09
    #37424747
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поделитесь апи-функцией для прозрачности контрола
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поделитесь апи-функцией для прозрачности контрола / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]