すごく初歩的な質問ですいません。
初心者ということで、おねがいします。
VC++でソフトを作成しているのですが、
OnDRAWで多角形を作図してみようとしました。
CRgn test;
test.CreatePolygonRgn(??????????);
・・・
ここで調べてみたところ、
BOOL CreatePolygonRgn( LPPOINT lpPoints, int nCount, int nMode );
lpPoints
POINT 構造体の配列または CPoint オブジェクトの配列へのポインタ。各構造体は、
多角形の 1 つの頂点の x 座標と y 座標を指定します。POINT 構造体は次の形式を
持っています。
となっていました。
オブジェクトの配列へのポインタをどのように指定して良いのかわかりません。
参考書とか読みあさったんですが、リージョンがのっていなくて・・・。
具体的に6角形を単純に作図させる例などで教えていただけたらうれしいです。
ここでいう「オブジェクトの配列」は、CPointクラスの配列のことです。
この場面では、CPointもPOINT構造体も変わりません。
リージョンクラスを指定するわけではありません。
> CRgn test;
> test.CreatePolygonRgn(??????????);
>
関数の実行結果(リージョン)は、testの中に格納されます。
こんな感じで如何でしょう?
POINT pt[4];
pt[0].x = 0;
pt[0].y = 0;
pt[1].x = 50;
pt[1].y = 50;
pt[2].x = 50;
pt[2].y = 0;
CRgn rgn;
rgn.CreatePolygonRgn( pt, 3, ALTERNATE );
単なる描画ならCDC::Polygonとかでいいのでは?
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vcmfc98/html/_mfc_cdc.3a3a.polygon.asp
# 何か目的があってリージョンを使っておられる場合はご容赦ください。
解決です、ほんと単純な質問ですいませんでした。
(自分的には重大な疑問点でしたが。。。)