Visual c++ 2010 Express -在一个面板中绘制不同的形状

C++/CLI Visual C++ 2010 Express - Drawing different shapes inside one panel

本文关键字:绘制 一个 Express 2010 c++ Visual      更新时间:2023-10-16

我遇到了一个问题。我想用panel1作为我的绘画窗口。我还有两个按钮。一个应该在面板的中间画"fillRectangle",第二个应该在面板旁边画"fillellipse"。我没有画自己的问题

Color aColor = Color::FromArgb( 255, 0, 0 ); 
SolidBrush^ aBrush = gcnew SolidBrush(aColor);
Rectangle rect = Rectangle(x, y, 10, 10);
e->Graphics->FillEllipse(aBrush, rect);

但是我想知道,如何使按下每个按钮绘制不同形状的内部面板。我需要把两者,椭圆和矩形在panel1_Paint和使用旗帜像…

if(ellip == 1) FillEllipse; 
if(recta == 1) FillRectangle

哪些是用按钮设置的?我希望我可以编码绘图部分内部按钮或功能,然后以某种方式参考该面板。这可能吗?

如果你想让按钮有自己的绘画例程,那么他们自己画,你的面板是不必要的,无论如何,他们将有自己的画布。

如果你想要一个面板,绘制的形状依赖于自己的一些属性,然后是的,你走了一些像你建议的路线,虽然我会被某种形状类,即使它不是一个控件的诱惑。会使添加其他形状或更多形状更容易。

你可以让panel携带一个图形集合,比如IDraw,它接受一个图形引用,然后迭代它们并调用Panel1的图形实例。

如果是我,特别是如果我想要启用,可见,选项卡,点击等。我有一个ShapedButton Control