首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

控件变量的复制怎么实现

2012-01-30 
控件变量的复制如何实现?A控件和B控件是一样的.比如都是TREEVIEW或者都是TEXT或控纽控件.A控件已经有一定

控件变量的复制如何实现?
A控件和B控件是一样的.比如都是TREEVIEW或者都是TEXT或控纽控件.

A控件已经有一定的属性或变量了.
想直接把它的所有变量属性全部传递给B.

如何实现?

[解决办法]
中秋快乐~~~

好久没来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里就有一个一模一样的东西了.....

不过不知道这办法是不是合适你的具体应用....看着办吧,反正这是一个大约的思路

热点排行