■好きな形のフォーム
好きな形のリージョンをつくり、それをフォームに適応させればいいわけですが、リージョン作るのめんどくさい! そこで、図形を描いて(パス)、それをリージョンに変換するという方法をとります。 ですので、TextOutなどを使えば「あ」という形のフォームなんかもできます。
好きな形のフォーム
procedure TfrmMain.FormCreate(Sender: TObject); var niniRgn:HRgn; //リージョンを宣言 begin //図形をかく(パス) BeginPath(imgMain.Canvas.Handle); imgMain.canvas.PenPos := Point(0,0); imgMain.canvas.LineTo(50, 0); imgMain.Canvas.LineTo(50, 50); imgMain.canvas.LineTo(100, 50); imgMain.Canvas.LineTo(100, 100); imgMain.canvas.LineTo(50, 100); imgMain.Canvas.LineTo(0, 0); EndPath(imgMain.Canvas.Handle); //パスをリージョンに変換 niniRgn ;= PathToRegion(imgMain.Canvas.Handle); //リージョンをセット setWindowRgn(frmMain.Handle, niniRgn, true); end;