// Im folgenden
Beispiel wird ein rechteckiger Bereich
// der Zeichenfläche von Form1 vom Zeichnen ausgeschlossen.
// Zunächst wird ein größeres Bild geladen (400 x 300 Pixel),
// dann die Zeichenfläche in ihrer Größe an die Bildausmaße
// angepasst, danach wird ein Rechteck in der Mitte der Fläche
// gesperrt und dann das Bild gezeichnet. Anschließend wird
// die Fläche wieder auf den Ursprungszustand zurückgesetzt.
// Hinweis:
// Die Variable
rgn
darf nicht im
Event
(Button1Click)
stehen.
// Getestet mit D4 unter WinME
var
rgn: HRGN;
procedure TForm1.Button1Click(Sender: TObject);
var
bm: TBitmap;
begin
bm := TBitmap.create;
bm.loadfromfile('d:\bilder\corel004.bmp');
clientheight := bm.height;
clientwidth := bm.width;
GetClipRgn(canvas.handle, rgn);
ExcludeClipRect(canvas.handle, 30, 30, clientwidth - 30, clientheight - 30);
canvas.draw(0, 0, bm);
SelectClipRgn(canvas.handle, rgn);
bm.free;
end;
|