приветствую девелоперов
подскажите, как на чистом апи сделать у label прозрачный фон?
спасибо
прозрачная метка
Модераторы: Duncon, Hawk, Romeo, Eugie
Что такое Label? Предполагаю, что это статическая текстовая надпись.
Если функциями Win32API пользоваться, то можно вообще не использовать для этого контролы, а выводить текст с помощью функции TextOut() или DrawText(). Чтобы задний фон надписи был прозрачным, нужно перед этим вызвать функцию SetBkMode() и указать ей значение TRANSPARENT.
Если функциями Win32API пользоваться, то можно вообще не использовать для этого контролы, а выводить текст с помощью функции TextOut() или DrawText(). Чтобы задний фон надписи был прозрачным, нужно перед этим вызвать функцию SetBkMode() и указать ей значение TRANSPARENT.
на самом деле мне нужна именно метка, т.к на тексте не кликнешь, а мне надобно сделать линк на сайт программы
есть еще варианты?
нужен прозрачный фон
есть еще варианты?
нужен прозрачный фон
Ну почему ж не кликнешь... Вполне. Клик придет в само окно, данее взять координаты курсора мыши, если они попадают в область, занимаемую текстом, то это и есть нужный клик.catdog_ писал(а):на самом деле мне нужна именно метка, т.к на тексте не кликнешь
Можно использовать субкласс контрола. При отрисовке заднего фона самого контрола на нём рисуется фрагмент заднего фона окна, а поверх выводится текст.
Или, как вариант, не отрисовывать у него задний фон вообще и при этом заблокировать ему обработку события WM_ERASEBKGND. Тогда контрол будет рисовать только текст, а задним фоном будет служить фон окна.
Или, как вариант, не отрисовывать у него задний фон вообще и при этом заблокировать ему обработку события WM_ERASEBKGND. Тогда контрол будет рисовать только текст, а задним фоном будет служить фон окна.