Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#1

Zusatztext an Cursor zu durchscheinend, GetDragImages

  Alt 11. Nov 2016, 15:19
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
Miniaturansicht angehängter Grafiken
dragtext.jpg  
  Mit Zitat antworten Zitat