прозрачная метка

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

Ответить
catdog_
Сообщения: 3
Зарегистрирован: 22 фев 2008, 10:53

приветствую девелоперов
подскажите, как на чистом апи сделать у label прозрачный фон?
спасибо
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Что такое Label? Предполагаю, что это статическая текстовая надпись.
Если функциями Win32API пользоваться, то можно вообще не использовать для этого контролы, а выводить текст с помощью функции TextOut() или DrawText(). Чтобы задний фон надписи был прозрачным, нужно перед этим вызвать функцию SetBkMode() и указать ей значение TRANSPARENT.
catdog_
Сообщения: 3
Зарегистрирован: 22 фев 2008, 10:53

на самом деле мне нужна именно метка, т.к на тексте не кликнешь, а мне надобно сделать линк на сайт программы
есть еще варианты?
нужен прозрачный фон
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

catdog_ писал(а):на самом деле мне нужна именно метка, т.к на тексте не кликнешь
Ну почему ж не кликнешь... Вполне. Клик придет в само окно, данее взять координаты курсора мыши, если они попадают в область, занимаемую текстом, то это и есть нужный клик.
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Можно использовать субкласс контрола. При отрисовке заднего фона самого контрола на нём рисуется фрагмент заднего фона окна, а поверх выводится текст.
Или, как вариант, не отрисовывать у него задний фон вообще и при этом заблокировать ему обработку события WM_ERASEBKGND. Тогда контрол будет рисовать только текст, а задним фоном будет служить фон окна.
Ответить