Hallo Bommel,
ich habe nur schnell was zusammengeklickt, was bei mir funktioniert. Vielleicht ist es nicht sinnvoll, das im OnPaint immer neu zu laden, aber es zeigt die Anwendung:
Delphi-Quellcode:
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
BmpBrush: TBitmap;
Brush: Thandle;
begin
BmpBrush := TBitmap.Create;
try
BmpBrush.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'brush.bmp');
Brush := CreatePatternBrush(BmpBrush.Handle);
FillRect(PaintBox1.Canvas.Handle, Rect(10, 10, 100, 100), Brush);
finally
FreeAndNil(BmpBrush);
end;
end;
Transparent kriegt man das vermutlich auch noch irgendwie. So hat's bei mir nicht geklappt:
Delphi-Quellcode:
BmpBrush.TransparentColor := clWhite;
BmpBrush.Transparent := true;
Wobei ich mir nicht sicher bin, ob man "Brush" noch irgendwie freigeben kann/muss.
Grüße
Matze