怎样让一个MDI子窗体总是显示在所有子窗体的最上面??
解决方案 »
- 求助strsql = "select * from" & Combo2.Text & " where 日期 = #" & CDate(Combo3.Text)
- 无法上传文件到Linux FTP服务器
- 将数据导出为excel时,对于文本字符,就要前面加上单引号,但是如果让这个单引号在excel中不显示呢?
- VB6.0使用MSCOMM发短信怎么发送Ctrl+Z
- 排序问题+DATAGRID,执行SQL语句后不显示新的顺序,我晕!大侠救我!
- 给分不问理由!我又来了
- 如何提取CPU序列号???
- 用过“进度条”的哥们进来下
- 这样的软件值多少钱?
- 为什么关屏不能重复的多次执行?
- 如何取消标题栏??
- 大家帮帮忙:根据窗体的大小动态调整控件的大小!
Private 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 LongPrivate Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1Public Function PutWindowOnTop(pFrm As Form)
Call SetWindowPos(pFrm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End FunctionPublic Function noPutWindowOnTop(pFrm As Form)
Call SetWindowPos(pFrm.hwnd, -2, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Function在窗体事件中:
Private Sub Form_Load()
PutWindowOnTop Me
end sub
谢谢回复
我试过好像不行。
当以全屏打开另一个MDI子窗体时,它马上就被覆盖了
但如何实现让显示在最上面的子窗体不能失去选中状态(点击其它窗体无效且得不到焦点)??除非关闭它?
但如何实现让显示在最上面的子窗体不能失去选中状态(点击其它窗体无效且得不到焦点)??除非关闭它?
有人帮忙回答吗?
(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
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40'wFlags 的含意
'SWP_DRAWFRAME 圍繞窗口畫一個框
'SWP_HIDEWINDOW 隱藏窗口
'SWP_NOACTIVATE 不激活窗口
'SWP_NOMOVE 保持當前位置 (x和y設定將被忽略) &H2
'SWP_NOREDRAW 窗口不自動重畫
'SWP_NOSIZE 保持當前大小 (cx和cy設定將被忽略) &H1
'SWP_NOZORDER 保持窗口在列表的?前位置 (hWndInsertAfter將被忽略)
'SWP_SHOWWINDOW 顯示窗口 &H40
'SWP_FRAMECHANGED 強迫一條WM_NCCALCSIZE消息進入窗口,即使窗口的大小沒有改變Private Sub Form_Load()
Dim retValue As Integer
retValue = SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 300, 300, SWP_SHOWWINDOW)
End Sub
MyForm.Show vbModal