Как при выводе текста процедурой TextOut() сделать фон прозрачным/сменить цвет фона
Небольшой примерчик, плюс возможность смены цвета фона:
procedure TForm1.Button1Click(Sender: TObject);
var
dc : HDC;
begin
dc := GetDC(0);
TextOut(dc, 100, 100, 'ЭТО ТЕКСТ С ФОНОМ', length('ЭТО ТЕКСТ С ФОНОМ'));
SetBkMode(dc, TRANSPARENT);
TextOut(dc, 100, 120, 'А ЭТОТ С ПРОЗРАЧНЫМ БЭКГРАУНДОМ', length('А ЭТОТ С ПРОЗРАЧНЫМ БЭКГРАУНДОМ'));
SetBkMode(dc, OPAQUE);
TextOut(dc, 100, 140, 'ЭТОТ ОПЯТЬ С ФОНОМ', length('ЭТОТ ОПЯТЬ С ФОНОМ'));
SetBkColor(dc, clRed);
TextOut(dc, 100, 140, 'А СЕЙЧАС ФОН КРАСНЫЙ', length('А СЕЙЧАС ФОН КРАСНЫЙ'));
end;
! Внимание, важно ! В примере все действия производились с переменной dc, типа HDC, функции
SetBkMode и SetBkColor, вносят изменения в контекстное устройство, поэтому здесь нельзя просто
напрямую использовать, вместо переменной - GetDc(0).
SLAyer
Другие статьи
По всем вопросам и предложениям по сайту пишите на info@comp-info.ru  
|