| 发表于:2007-09-26 11:57:0110楼 得分:0 |
中秋快乐~~~ 好久没来csdn了呵呵 看明白了楼主所要的效果了. 其实就是想让现在窗口里面的一个控件原样显示到另一个窗口是吧..? 本来想直接试着直接复制指针,发现无效: 'fomr1里的代码,里面放一个text1(0),数组控件,设定好大小,内容等属性以便区分 option explicit private declare sub copymemory lib "kernel32.dll " alias "rtlmovememory " ( _ byval destination as long, _ byval source as long, _ byval length as long) private sub command1_click() load form2 form2.controls.add "vb.textbox ", "text1 " call copymemory(form2.getobjptr, objptr(me.text1(0)), 4) '复制指针 form2!text1.visible = true form2.show , me end sub 'form2内代码: option explicit public function getobjptr() as long getobjptr = objptr(me!text1) end function 结果无效....不知道是不是没搞对.... 然后又想了一下....楼主不是要视觉上的效果嘛~~~ 那何不简单点,只让另一个窗体作为一个显示容器? 思路: 以当前控件为样本,载入一个一样的控件,再 "放 "到另一个窗体里面.... 代码: 'form1内,控件与上面代码一样 option explicit private declare function setparent lib "user32.dll " ( _ byval hwndchild as long, _ byval hwndnewparent as long) as long private sub command2_click() load form2 load text1(1) call setparent(text1(1).hwnd, form2.hwnd) text1(1).visible = true form2.show end sub 'form2内就什么也不用了,一个空窗体就ok 运行后点command2(这按钮得要....忘了说明-_-) form2里就有一个一模一样的东西了..... 不过不知道这办法是不是合适你的具体应用....看着办吧,反正这是一个大约的思路 | | |
|