Вот тебе примечрик(в каталог проги помести BMP-файл "test.bmp"):
| Код | var Form1: TForm1; BitMap:TBitMap;
implementation
{$R *.dfm}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if not BitMap.Empty then Canvas.Draw(x,y,BitMap); end;
initialization BitMap:=TBitMap.Create; BitMap.LoadFromFile(ExtractFilePath(Application.ExeName)+'test.bmp');
finalization FreeAndNil(BitMap);
end. |
Но при таком подходе при получении формой сообщения WM_PAINT перерисовываемые участки будут затирать нарисованые изображения. Для того, чтобы обойти это, можно обработать OnPaint или, например, поместить на форму TImage с Align=alClient(в этом классе предусмотрена автоматическая перерисовка изображения) |