问题描述
我是窗口应用程序开发的新手,目前我在一个流程图 winform 项目中工作。我需要绘制一个如图所示的控件(从 MS word 复制,通过插入-> 形状-> 块箭头)。 [箭头形状] [1]:https://i.stack.imgur.com/P7XBL.png 该箭头可以移动、调整大小和重新调整形状。 我已经寻找了一些解决方案,但大多数都是规则形状。我可以创建一个列表并将箭头的所有 7 个点都放在这个列表中,然后在这些点之间画一条线,一行一行(Graphics::DrawImage)?如果是,那么下一个问题是,如何用纯色填充这个不规则形状?我怎样才能移动这个形状?如果我重绘它,如何擦除旧的形状?
目前我可以使用以下代码拖动和移动控件,但对于这种不规则形状,如何开始?这个项目是C++/CLR,基于.net,欢迎C#或C++/CLI想法。
void MouseDown(Object^ sender,MouseEventArgs^ e)
{
selected_control = safe_cast<Control^>(sender);
is_draging = true;
drag_start_point = gcnew Point(e->X,e->Y);
selected_control->Capture = true;
}
void MouseUp(Object^ sender,MouseEventArgs^ e)
{
is_draging = false;
selected_control->Capture = false;
}
void MouseMove(Object^ sender,MouseEventArgs^ e)
{
if (is_draging)
{
selected_control->Left = Math::Max(0,e->X + selected_control->Left - drag_start_point->X);
selected_control->Top = Math::Max(0,e->Y + selected_control->Top - drag_start_point->Y);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)