Вобщем, я делаю форму произвольного вида, вот таким способом (в данном случае круглую):
R1 := CreateElliPticRgn(0,0,100,100);
SetWindowRgn(Handle, R1, True);
Canvas.Brush.Color := clBlack;
FrameRgn (Canvas.Handle, R1, Canvas.Brush.Handle, 2, 2);
Где находится у тебя код с FrameRgn ? Должен быть в OnPaint ...
R1 := CreateElliPticRgn(0,0,100,100);-
SetWindowRgn(Handle, R1, True);
Canvas.Brush.Color := clBlack;
FrameRgn (Canvas.Handle, R1, Canvas.Brush.Handle, 2, 2);
а если форму свернуть/развернуть - появится оборка?
И не будет...
Читаем здесь: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/pantdraw_2him.asp
procedure TForm1.FormCreate(Sender: TObject);
var
region: HRGN;
begin
BorderStyle := bsNone;
region := CreateEllipticRgn(0, 0, 100, 100);
SetWindowRgn(Handle, region, True);
end;
procedure TForm1.FormPaint(Sender: TObject);
var
T: HRGN;
begin
Canvas.Brush.Color := clBlack;
T := CreateEllipticRgn(0, 0, 100, 100);
try
FrameRgn(Canvas.Handle, TempRgn, Canvas.Brush.Handle, 2, 2);
finally
DeleteObject(TempRgn);
end;
end;
volvo, спасибо.