2

ペイント イベントを使用して、ピクチャ ボックスに四角形を描画しました。クリアボタンをクリックすると。グラフィックを消したい。マウスが動くたびにペイントイベントを呼び出します。私は何をすべきか?

ペイント イベントのコード:

Graphics^ g = e->Graphics;
float PenWidth = 2;
if(msdwnflag!=-1 && count%2==1)
{
    if(selecflag==0)
    {
    g->DrawRectangle( gcnew Pen( Color::Blue,PenWidth ), RcDraw);
}
else
{
    RcDraw.Width = finalMousePos.X- RcDraw.X;
    RcDraw.Height = finalMousePos.Y- RcDraw.Y;
    g->DrawRectangle( gcnew Pen( Color::Red,PenWidth ), RcDraw);
}
}
4

2 に答える 2

3

あなたの場合pbは、PictureBoxその画像をクリアして、すべてのグラフィックをクリアします。また、変数 ( buttonpressed) を使用して、true (ボタン クリアが押された) か false (そうでない) かを確認できます。

     buttonpressed=1;
     pb->Image = nullptr;
     pb->Refresh();

ボタンが押されていない場合は、ペイントメソッドにすべてのグラフィックを含めます。

     if (buttonpressed != 1){
         // all your graphics code
     }

ボタンを押したときにグラフィックスが再び表示されるようにするには、buttonpressed値を変更します。

    buttonpressed=0;
    pb->Refresh();
于 2012-05-31T08:04:22.693 に答える
0

透明色の図形を描きます。それは私が最終的にやったワットです。ガッドデザインではありませんが、機能します:)

于 2012-06-06T06:19:22.667 に答える