Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
SetParent 控件.hwnd,父窗体.hwnd
新建一个工程,在窗体上加上一个Command控件~加入下面的代码!把你的按钮移动到桌面上去!!!!!!!Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As LongPrivate Sub Command1_Click() Dim hWindow As Long hWindow = FindWindow("Progman", "Program Manager") hWindow = FindWindowEx(hWindow, 0, "SHELLDLL_DefView", "") hWindow = FindWindowEx(hWindow, 0, "SysListView32", "") SetParent Command1.hWnd, hWindow End Sub
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As LongPrivate Sub Command1_Click()
Dim hWindow As Long
hWindow = FindWindow("Progman", "Program Manager")
hWindow = FindWindowEx(hWindow, 0, "SHELLDLL_DefView", "")
hWindow = FindWindowEx(hWindow, 0, "SysListView32", "")
SetParent Command1.hWnd, hWindow
End Sub
虽然改变了宿主!但控件你还可以通过你程序的代码来控制的!
对于用API来给一个有N个子控件的控件赋值.那可是非常麻烦的~
我不会了~~呵呵
SetParent Command1.hWnd, hWindow
后加上
command1.move 0,0