Einzelnen Beitrag anzeigen

ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Bitmap Transparent auf ein Formular über andere Komponenten zeichnen

  Alt 3. Aug 2016, 20:56
... ich habe etwas ähnliches mal mit einem extra Overlay Fenster mit Transparent-Color = clWindow und folgender CreateParams procedure.

In dem Fenster kannst du dann auf den Canvas zeichnen. Den Rest mach dann Windows für dich.

Delphi-Quellcode:
unit ufrmOverlay;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;

type
  TfrmOverlay = class(TForm)

  protected
   procedure CreateParams(var Params: TCreateParams); override;

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

{$R *.dfm}

{ TfrmOverlay }

procedure TfrmOverlay.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  if Assigned(Application.MainForm) then
   begin
    Params.WndParent := GetDesktopWindow;
    Params.Style := WS_ChildWindow;
    Params.EXStyle := WS_EX_NoActivate;
   end;
end;

end.
Andreas Schachtner
  Mit Zitat antworten Zitat