Страница 1 из 1

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

Добавлено: 24 фев 2008, 02:08
catdog_
приветствую девелоперов
подскажите, как на чистом апи сделать у label прозрачный фон?
спасибо

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

Добавлено: 26 фев 2008, 11:19
WinMain
Что такое Label? Предполагаю, что это статическая текстовая надпись.
Если функциями Win32API пользоваться, то можно вообще не использовать для этого контролы, а выводить текст с помощью функции TextOut() или DrawText(). Чтобы задний фон надписи был прозрачным, нужно перед этим вызвать функцию SetBkMode() и указать ей значение TRANSPARENT.

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

Добавлено: 27 фев 2008, 21:48
catdog_
на самом деле мне нужна именно метка, т.к на тексте не кликнешь, а мне надобно сделать линк на сайт программы
есть еще варианты?
нужен прозрачный фон

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

Добавлено: 28 фев 2008, 10:28
BBB
catdog_ писал(а):на самом деле мне нужна именно метка, т.к на тексте не кликнешь
Ну почему ж не кликнешь... Вполне. Клик придет в само окно, данее взять координаты курсора мыши, если они попадают в область, занимаемую текстом, то это и есть нужный клик.

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

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