我的关键问题是
在我自己建立的tabs控件中,如何在使用时,用户往上画控件时,画在我的某一个页上,而不是画在我的整个控件上,我的控件都做好了(xp样式的),只是不能在它上面画控件(我不想用轻量级控件,我先让我的控件和sstabs一样,可以让用户往上画控件,并且画到我的某个页上),我已经在我的控件里做了一个picturebox数组,我怎么根据用户的操作把用户控件画到我的picturebox上去呢?我自到setparent可以,可是我即得不到用户画控件的事件有得不到用户控件的hwnd,我很着急的。清高手指点一点点。

解决方案 »

  1.   

    我有一个比较笨的方法:
      1、在控件上放一个时钟。
      2、在时钟里用GetCursorPos获得鼠标位置,用GetWindowRect活动控件本身大小坐标,然后用GetAsyncKeyState判断是否单击。
      3、把控件设置成容器控件
      4、在上面放一些picture box控件,通过单击消息,切换当前pictue
      5、通过userControl.containedControls 获得加载到用户控件上的控件
      6、用 SetParent,把当前控件转移到当前picture上去
    问题:
        1、用时钟会使VB编辑器标题闪烁,并且在线帮助不好用
        2、对没有hwnd句柄的控件有问题
        3、用Container 属性,在控件里不好用,否则处理没有hwnd也可以了
      

  2.   

    搞那么复杂干什么?提示:将ControlContainer属性设为True
      

  3.   

    ControlContainer属性设为True當然不行,那就是在整個控件上畫控件呀.
    思考中....先幫你UP
      

  4.   

    看来只有叶帆一个人明白问题的所在,不知道微软这个sstabs怎么做的,我也想用setparent的方法,也是发愁得不到标签一类的轻量级控件,如果每人回答,我把分都给叶帆了。