我的做法是在一个MDI窗体里,子窗体显示在一个Picture控件,子窗体无边框,通过如下过程显示子窗体:Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As LongPublic Sub loadChildForm(mForm As Form)
Dim slng As Long
'FrmMaster.PicForm(MDI主窗体.Picture控件)
slng = SetParent(mForm.hwnd, FrmMaster.PicForm.hwnd)
mForm.Move 0, 0
End Sub子窗体调用:Private Sub Form_Load()
Call loadChildForm(Me)
End Sub现在问题来了:
当MsgBox "aaa"后,Text1.Setfocus焦点怎么也无法设置回来,我观察到,焦点转移到MDI窗体了,请问我如何强制设置焦点到Text1上?奇怪,我想给300不让给,只能给100分!
Dim slng As Long
'FrmMaster.PicForm(MDI主窗体.Picture控件)
slng = SetParent(mForm.hwnd, FrmMaster.PicForm.hwnd)
mForm.Move 0, 0
End Sub子窗体调用:Private Sub Form_Load()
Call loadChildForm(Me)
End Sub现在问题来了:
当MsgBox "aaa"后,Text1.Setfocus焦点怎么也无法设置回来,我观察到,焦点转移到MDI窗体了,请问我如何强制设置焦点到Text1上?奇怪,我想给300不让给,只能给100分!
解决方案 »
- vba实现把A1 cell的坐标转换为屏幕实际坐标的方法
- winsock网络包超时的设计向各位请教????
- 急急急,如何将带"/"的字符串分成多个字符串?
- 如何写这个判断语句?
- 为什么用Table.Fields.Append同时添加两个以全中文命名的字段时会发生‘不能重复定义字符段’的实时错误3191
- 谁有 WISE INSTALL 8.14 制作安装软件的序列号????????????
- VB6.0即将走向消亡的边缘!(转载)
- 怎么把某程序灰掉的按纽改为正常能按的?谢谢!
- 连接关闭后,如何保持记录集中的数据?
- 哪位朋友有True dbgrid pro 6.0,在下200分相送!
- A,B二台机器互传文件,请问用vb怎么实现。谢
- TAPI, 如何用程序选择播放声卡
说明
指定一个窗口的新父(在vb里使用:利用这个函数,vb可以多种形式支持子窗口。例如,可将控件从一个容器移至窗体中的另一个。用这个函数在窗体间移动控件是相当冒险的,但却不失为一个有效的办法。*************************如真的这样做,请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个) ***************************
返回值
Long,前一个父窗口的句柄
参数表
参数 类型及说明
hWndChild Long,子窗口的句柄
hWndNewParent Long,hWndChild的新父
注解
可用这个函数在运行期将vb控件置入容器控件内部(比如将一个按钮设成图象或窗体控件的子窗口),或者将控件从一个容器控件移至另一个。控件移至另一个父后,它的位置将由新父的坐标系统决定。这样一来,有必要重新规定控件的位置,使其能在目标位置显示出来
当MsgBox "aaa"后,Text1.Setfocus焦点怎么也无法设置回来MsgBox "aaa"的代码在哪里?另外Text1是哪个窗体的
是不是重新调用一次Call loadChildForm(Me)?
刚试了一次,不行,我理解不是这样的,因为我的窗体并未移动或关闭呀。
你可以试一下将你放置text1的窗体不要设置成MDI窗体的子窗体,也就是用一般窗体,然后用SetParent函数,我以前好像是这样解决的,不过代码在单位,现在查不了我的父窗体还是需要标题栏的,不用MDI窗体,当子窗体获得焦点时,父窗体就没有焦点了,很难看的。