Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
Delphi 6 Enterprise
|
Re: Bereiche festlegen
20. Feb 2005, 14:32
Ein Beispiel :
Delphi-Quellcode:
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
region : HRGN;
done : boolean = false;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var temp:HRGN;
begin
region := CreateRectRgn(100,100,400,200);
temp := CreateEllipticRgn(100,100,400,200);
SelectObject(canvas.Handle,region);
if COMPLEXREGION <> CombineRgn(region,region,temp,RGN_DIFF)then
Application.MessageBox('Geht nicht.','Fehler');
Canvas.Brush.Color := clRed;
PaintRgn(canvas.Handle,region);
Canvas.Brush.Color := clBlack;
FrameRgn(canvas.Handle,region,canvas.Brush.Handle,1,1);
done := true;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
if done then
begin
Canvas.Brush.Color := clRed;
PaintRgn(canvas.Handle,region);
Canvas.Brush.Color := clBlack;
FrameRgn(canvas.Handle,region,canvas.Brush.Handle,1,1);
end;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if done then
if PtInRegion(region,x,y) then
Label1.Caption := 'Maus ist drin.'
else
Label1.Caption := 'Maus ist raus.'
end;
Katura Haris Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
|
|
Zitat
|