请问如何实现在MDI环境下实现某一子窗体永远在前?

pzrr_00 2004-08-11 04:33:22
就像VB里左侧工具条拉出来后一样~谢谢!
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
prink 2004-08-11
  • 打赏
  • 举报
回复
请高手指点~
prink 2004-08-11
  • 打赏
  • 举报
回复
好象也不行也,有代码实例吗?
bluesky23 2004-08-11
  • 打赏
  • 举报
回复
把定义API函数的代码放到模块中。
pzrr_00 2004-08-11
  • 打赏
  • 举报
回复
呵呵,是啊,不能实现。
高手快出现啊。。
prink 2004-08-11
  • 打赏
  • 举报
回复
第一位朋友,拜托mdi下能用vbmodal吗?第2位朋友的代码在一般窗口下问题不大,但是在mdi窗口下就不能实现~~,不能用public哟~~
网络精灵 2004-08-11
  • 打赏
  • 举报
回复
Public Declare Function 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) As Long

Public Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2

Public Function SetWinPos(iPos As Integer, lHWnd As Long) As Boolean
Dim lWinPos As Long
Dim l As Long
Select Case iPos
Case 0
lWinPos = HWND_NOTOPMOST
Case 1
lWinPos = HWND_TOPMOST
Case Else
Exit Function
End Select
If SetWindowPos(lHWnd, lWinPos, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE) Then
SetWinPos = True
End If
End Function
在form的load事件中加入:
abcde = SetWinPos(1, Me.hwnd)
老汉 2004-08-11
  • 打赏
  • 举报
回复
简单的方法:
frmTest.Show vbModal

负责些:API
利用API获取窗体的句柄,然后设置窗体样式为置定。具体的函数查一查吧。

7,759

社区成员

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

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