お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"RE^2:ハートのフォーム"

この発言は
#00462 謎の全知師 さんのRE^2:ハートのフォーム
に対するコメントです

この発言に対し以下のコメントが寄せられています
#00478 謎の全知師 さん RE^3:ハートのフォーム

//リージョン使用例。ハートの形のフォームを作る。 いやはや、お恥ずかしい。(^^;)> poripori 同じリージョンはCreate....で作り替えられるのだと 思っていました。 SetWindowRgnで使ったRgn1は、Formが解放される時、 一緒に解放されますよね..一抹の不安が... 修正しましたので再々度アップします。 今後ともよろしくお願い申し上げます。 Quiri (JAC01052) procedure TForm1.FormCreate(Sender: TObject); var size:integer; Rgn1,Rgn2,Rgn3: HRGN; begin if Height>Width then size:=Width div 4 else size:=Height div 4; Rgn1:=CreateEllipticRgn(-(2*size),-(2*size),4*size,4*size); Rgn2:=CreateRectRgn(2*size,size,4*size,4*size); combinergn(Rgn1,Rgn1,Rgn2,1); DeleteObject(Rgn2); Rgn2:=CreateEllipticRgn(0,-(2*size),6*size,4*size); Rgn3:=CreateRectRgn(0,size,2*size,4*size); combinergn(Rgn2,Rgn2,Rgn3,1); combinergn(Rgn1,Rgn1,Rgn2,2); DeleteObject(Rgn2); DeleteObject(Rgn3); Rgn2:=CreateEllipticRgn(0,0,2*size,2*size); Rgn3:=CreateRectRgn(0,0,size,size); combinergn(Rgn2,Rgn2,Rgn3,1); combinergn(Rgn1,Rgn1,Rgn2,2); DeleteObject(Rgn2); DeleteObject(Rgn3); Rgn2:=CreateEllipticRgn(2*size,0,4*size,2*size); Rgn3:=CreateRectRgn(3*size,0,4*size,size); combinergn(Rgn2,Rgn2,Rgn3,1); combinergn(Rgn1,Rgn1,Rgn2,2); DeleteObject(Rgn2); DeleteObject(Rgn3); Rgn2:=CreateEllipticRgn(-(size div 2),0,5*size div 2 ,4*size); Rgn3:=CreateRectRgn(size,0,2*size,size); combinergn(Rgn2,Rgn2,Rgn3,1); combinergn(Rgn1,Rgn1,Rgn2,2); DeleteObject(Rgn2); DeleteObject(Rgn3); Rgn2:=CreateEllipticRgn(3*size div 2,0,9*size div 2,4*size); Rgn3:=CreateRectRgn(2*size,0,3*size,size); DeleteObject(Rgn2); DeleteObject(Rgn3); combinergn(Rgn2,Rgn2,Rgn3,1); combinergn(Rgn1,Rgn1,Rgn2,2); SetWindowRgn(Handle, Rgn1, True); end; Original document by Quiri 氏 ID:(JAC01052)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum