Hallo,
ich füge einem Cursor in bestimmten Situationen zusätzlichen Info-Text hinzu
Delphi-Quellcode:
function TFcDragControlObject.GetDragImages: TDragImageList;
const
lMargin = 20;
var
lBmp: TBitmap;
lWidth: integer;
lString: string;
begin
if FDragImages = nil then
begin
FDragImages := TDragImageList.create(nil);
lBmp := TBitmap.create;
try
lBmp.Canvas.Font.Assign(TControlAccess(Control).Font);
lWidth := 0;
for lString in FMessageList do
if lBmp.Canvas.TextWidth(lString) > lWidth then
lWidth := lBmp.Canvas.TextWidth(lString);
lBmp.Width := lWidth + lMargin;
lBmp.Height := lBmp.Canvas.TextHeight(FMessageList.First);
FDragImages.Width := lBmp.Width;
FDragImages.Height := lBmp.Height;
lBmp.Canvas.Brush.Color := clLime;
for lString in FMessageList do
begin
lBmp.Canvas.FillRect(Rect(0, 0, lBmp.Width, lBmp.Height));
lBmp.Canvas.TextOut(lMargin, 0, lString);
FDragImages.Add(lBmp, nil);
end;
FDragImages.SetDragImage(0, 0, 0);
finally
lBmp.Free;
end;
end;
Result := FDragImages;
end;
Mein Problem ist nun, dass der Text durchscheinend angezeigt wird und somit auf Strukturen kaum lesbar ist.
(s. angehängte Grafik, der Cursor ist durch PrintScreen ausgeblendet. Einmal mit Hintergrund clLime)
Weiß jemand, wie ich die Transparenz des Text-Bereichs ändern kann.
Vielen Dank
Gerd