Реализация полупрозрачной рамки, прямоугольника
От: dmitry120873  
Дата: 06.09.08 08:18
Оценка:
Подскажите возможные пути решения полупрозрачной рамки или полупрозрачного прямоугольника, который можно использовать вне формы TForm.
Это нужно для выделения этой рамкой разных окон на рабочем столе с целью дальнейшего копирования графического образа текущего окна в буфер обмена.
Re: Реализация полупрозрачной рамки, прямоугольника
От: Danchik Украина  
Дата: 06.09.08 10:14
Оценка:
Здравствуйте, 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;


Думаю с третьего раза у вас точно получится
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.