急!!!高手再帮忙,我已经用Set option(I).Container = Frame1 来实现了放到框架中去了可是现在的问题是,关闭出现错误!!!急急急我以为这个方法不行然后我又用了另一个高手教的用api函数来做,Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As LongSetParent option1(i).hwnd, frame1.hwnd
可是还是依然出现错误错误是:
       VB6.exe 产生了错误,会被windows 关闭。您需要重新启动程序.
       正在创建错误日志。这是怎么回事呀~。。怎么办~。。
   十亿火急!!!!!!! 谢谢帮忙~

解决方案 »

  1.   

    SetParent VB声明 
    Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long 
    说明 
    指定一个窗口的新父(在vb里使用:利用这个函数,vb可以多种形式支持子窗口。例如,可将控件从一个容器移至窗体中的另一个。用这个函数在窗体间移动控件是相当冒险的,但却不失为一个有效的办法。如真的这样做,请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个) 
    返回值 
    Long,前一个父窗口的句柄 
    参数表 
    参数 类型及说明 
    hWndChild Long,子窗口的句柄 
    hWndNewParent Long,hWndChild的新父 
    注解 
    可用这个函数在运行期将vb控件置入容器控件内部(比如将一个按钮设成图象或窗体控件的子窗口),或者将控件从一个容器控件移至另一个。控件移至另一个父后,它的位置将由新父的坐标系统决定。这样一来,有必要重新规定控件的位置,使其能在目标位置显示出来
     不知你对所提到的注意那段是如何处理的?
    请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个
      

  2.   

    假设要将 Form2 放在 Form1 中,请在宣告区中宣告:Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long在 Form2 中的 Form_Load 中加入 SetParent(Me.hWnd, Form1.hWnd) 即可。但有一点要注意的是,在 Unload Form1 之前一定要先 Unload Form2。
      

  3.   

    在关闭之前,恢复创建的控件的父窗体,并使用unload 删除动态创建的控件。
    如:
    sub form_Unload()
        SetParent option1(i).hwnd, me.hwnd
        unload option1(i)
    end sub