如何将活动窗体显示在最前面?

chayidian 2006-01-23 08:29:11
我的主窗体上有好多子窗体,当我在菜单栏里第一次选中一个子窗体时,它会自动显示在最前面,可是在我没有关闭次窗体时有点中了第二个窗体,然后等我想在切换回来的时候,则原来打开的窗体就不能自动显示在下最前面了,有哪位朋友知道这个问题该怎么解决,又没有专门处理此问题的事件或函数呢?

请指教
...全文
185 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
白发程序猿 2006-01-24
  • 打赏
  • 举报
回复
楼上的方法是正确的
不过SWP_NOACTIVATE Or SWP_SHOWWINDOW这两个标志好像没必要
rainstormmaster 2006-01-23
  • 打赏
  • 举报
回复
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

Private Sub Form_Activate()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
'Set the window position to topmost
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
chayidian 2006-01-23
  • 打赏
  • 举报
回复
我是mdi 窗体
zyl910 2006-01-23
  • 打赏
  • 举报
回复
你是MDI窗口还是什么,说清楚一些
chayidian 2006-01-23
  • 打赏
  • 举报
回复
我试了一下,报错了,"无效的过程调用或参数",我还需要设置别的什么吗
zyl910 2006-01-23
  • 打赏
  • 举报
回复
FrmChild.Show , FrmMain

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧