Как нарисовать красный треугольник в Tfrxmemoview
Здравствуйте!
Вот на момент запуска отчета я прописала такой код
for i := 0 to AfrCurrentReport.ComponentCount -1 do
begin
if TComponent(AfrCurrentReport.Components) is TfrxMemoView then
end;
Надеюсь на помощь. Заранее спасибо.
Вот на момент запуска отчета я прописала такой код
for i := 0 to AfrCurrentReport.ComponentCount -1 do
begin
if TComponent(AfrCurrentReport.Components) is TfrxMemoView then
if (TfrxMemoView(AfrCurrentReport.Components).TagStr <> '') and
(Pos('(SQL)',TfrxMemoView(AfrCurrentReport.Components).TagStr)>0) then //мемки, удовлетворяющие условию
//ToDo вместо показа хинта хочу, чтоб на этих мемках были нарисованы красные треугольнички (метки), такие как мы видим в дизайне на мемках, у которых есть скрипт. Я посмотрела даже исходники фаст репорта, но я графику и Canvas не очень понимаю. Подскажите, пожалуйста, с кодом, какой должен быть прописан отпимально, чтоб не тащить весь класс из frxDesgnWorkspace. Я чувствую, что это не сложно, не большой код, но как говорится, "когда изучали Canvas и TRect - я спала" Так что в данном случае вот не знаю как прописать/связать с компонентом TfrxMemoView этот самый Canvas и TRect и все это чтоб заработалоTfrxMemoView(AfrCurrentReport.Components).Hint:= 'Click here for Drill Down';
end;
Надеюсь на помощь. Заранее спасибо.
Комментарии
Вот ответ:"Можно нарисовать треугольник с помощью четырёх красных линий
>
code
var
Memo: TfrxMemoView;
line1, line2, line3, line4: TfrxLineView;
begin
Memo := TfrxMemoView(Sender);
if Memo.TagStr <> '' then
begin
line1 := TfrxLineView.Create(Memo.Parent);
line1.SetBounds(Memo.Left + 2, Memo.Top + 2, 7, 7);
line1.Printable := False;
line1.frame.Color := clRed;
line2 := TfrxLineView.Create(Memo.Parent);
line2.SetBounds(Memo.Left + 3, Memo.Top + 3, 5, 5);
line2.Printable := False;
line2.frame.Color := clRed;
line3 := TfrxLineView.Create(Memo.Parent);
line3.SetBounds(Memo.Left + 4, Memo.Top + 4, 3, 3);
line3.Printable := False;
line3.frame.Color := clRed;
line4 := TfrxLineView.Create(Memo.Parent);
line4.SetBounds(Memo.Left + 5, Memo.Top + 5, 1, 1);
line4.Printable := False;
line4.frame.Color := clRed;
end;
end;
"
В заключении, хочу сказать. большое спасибо группе поддержки за помощь! Очень оперативно! Эту тему можно закрыть.