多角形の塗り潰し

[戻る]
ももたろう 2005/07/01(金) 15:31:37
皆様、こんにちは。


やりたいことは、下記の4点で囲まれた領域を指定した色で塗り潰しを
したいのですが、うまくいきません。

プログラムの開発環境は、ver6.0でダイアログベースです。


いろいろ試した後で、過去ログ等を探したのですが、適当な解決法が
見つけられませんでした。初歩的な質問で恐縮ですが、よろしくお願い
致します。

// Plot
CWnd* h = GetDlgItem(IDC_Graph);
CDC* pDC=h->GetDC();

POINT pt[4];
pt[0].x=0;
pt[0].y=0;
pt[1].x=100;
pt[1].y=0;
pt[2].x=100;
pt[2].y=100;
//pt[3].x=0;
//pt[3].y=100;

pDC->Polygon(pt,3);
FloodFill(50, 50, COLORREF(0, 255, 0));

dairygoods 2005/07/01(金) 15:37:51
どう上手くいかないのですか?
・コードをどこに書いたらいいかわからない。
・コンパイルするとエラーが出る。
・実行するとエラーが出る。
・実行すると期待した動きをしない。

ももたろう 2005/07/01(金) 15:48:02
dairygoodsさん

こんにちは。
コードをどのように書いたらよいか解りません。

POINT pt[4];
pt[0].x=0;
pt[0].y=0;
pt[1].x=100;
pt[1].y=0;
pt[2].x=100;
pt[2].y=100;
//pt[3].x=0;
//pt[3].y=100;

pDC->Polygon(pt,3);

と書くと多角形は描画しますが、範囲内が白色で塗りつぶ
されています。この塗りつぶす色を指定して、塗りつぶしたい
と思いFloodFill関数を使うのかと思ったのですが、FloodFillの
記述がヘルプをみたりしたのですが、解りませんでした。

よろしくお願いします。

dairygoods 2005/07/01(金) 16:05:52
塗りつぶしや線の色をあらかじめSelectObjectで
設定しておく必要があります。

CDCを使った描画についての基本的な点をよくご存知でないなら、
それらについての書籍/Webサイト/ヘルプ等を参照してください。

古いスレッドには追加発言できません。