本人在制作一个图形化的编程系统,主要采用用连线连接一些功能化模块的方法,来动态的生成代码。这些功能化模块的控件已经做好了一部分。连线功能我比较犯难。我的工程使用C#做的,各个模块采用的符合控件。一开始我采用的方法是用GDI+连线,但是在添加了按钮移动功能后,我发现这样的连线重绘是一项比较烦的工作。于是我想了个办法,把连线也做成一个控件,画在一个panel里面,然后让panel设为和背景透明。但是这样有一个问题,就是控件之间会互相阻挡,所以有的线就绘制不完全。我想知道ActiveX能否实现这种控件,有没有相关的资料,谢谢大家

解决方案 »

  1.   

    pDC-> SetBkMode(TRANSPARENT);只是使控件背景与客户区背景一样,
    这个方法并不能解决问题吧? 
      

  2.   

    连线也作成控件,要画线的话,肯定有窗口,那就会窗口重叠....
    activex控件窗口跟普通的windows窗口一样的
      

  3.   

    我有vc++6.0做的源代码!
    C#的没做过!
    支持任意拖动,连接线会根据拖动自己绘制。我是自己创建的基类,在此基础上派生的控件类!
      

  4.   

    微软有个软件叫Visual Programming Language 2008 ,它的线可以被整条选中,而且是成曲线的形状,我在纳闷他的线是怎么做的
      

  5.   

    透明控件要用无窗口模式的来做。MFC和ATL的ActiveX项目向导都有这个选项。
      

  6.   

    谢谢您,但是我现在感觉这个方法也不妥,即使控件是透明的,但是它透明的那部分还是可以接受事件和消息,如果发生重叠,上面的照样会挡住下面的,所以我现在感觉这个办法不妥了,我觉得还是要用GDI+来搞,但是要删除连线就不太好做了