Здравствуйте, dmitry120873, Вы писали:
D>Подскажите возможные пути решения полупрозрачной рамки или полупрозрачного прямоугольника, который можно использовать вне формы TForm.
D>Это нужно для выделения этой рамкой разных окон на рабочем столе с целью дальнейшего копирования графического образа текущего окна в буфер обмена.
А в чем собственно проблема?
Для примера рисуем одну линию.
Перед рисованием запоминам в битмап тот кусочек что будет накрыт линией Rect(Left, Top, Left + LineWidth, Top + LineHeight).
Делаем битмап c размером Bitmap.Width := LineWidth, Bitmap.Height := LineHeight
Запоминаем в него участок экрана куда будем рисовать
Делаем красный битмап такой же размерности и с помощью
AlphaBlend накладывам его на экран с нужной прозрачностью.
Когда надо вытереть линию — просто рисуем из запомненого битмапа.
aCanvas.Handle := GetDC(0);
try
... // тут и рисуем в aCanvas наши битмапки
// или проcто используем значение возвращенное GetDC, для AlphaBlend например
finally
ReleaseDC(0, aCanvas.Handle);
end;
Думаю с третьего раза у вас точно получится