VB中两个窗体重叠
有两个窗体form1和form2都是无边框的,而且还要保证能拖动窗体位置(此代码我知道),现在我要让form1和form2都置顶(也就是保持窗体在所有窗体上方),但是前提...
有两个窗体 form1和form2 都是无边框的,而且还要保证能拖动窗体位置(此代码我知道),现在我要让form1和form2都置顶(也就是保持窗体在所有窗体上方),但是前提是form1 在form2的上面,可以用setwindowspos 但是这样的话 单击form2或form1的时候会出现问题
首先:两个窗体都要置顶(在其他窗体前)
其次:form1在form2的上面
再次:在单击form1或form2的时候也要保持form1在form2上面
最后:两个窗体均可拖动
Private Declare Function SetWindowPos Lib "USER32.DLL" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal uFlags As Long) As Boolean
Const HWND_TOPMOST = -1 '设定为最上层
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
SetWindowPos form2.hWnd, HWND_TOPMOST, 0, 0, 0, 0
SetWindowPos Form1.hWnd, HWND_TOPMOST, 0, 0, 0, 0
通常情况下我们采用上面的方法把窗体置顶,但是很多情况下会失灵 展开
首先:两个窗体都要置顶(在其他窗体前)
其次:form1在form2的上面
再次:在单击form1或form2的时候也要保持form1在form2上面
最后:两个窗体均可拖动
Private Declare Function SetWindowPos Lib "USER32.DLL" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal uFlags As Long) As Boolean
Const HWND_TOPMOST = -1 '设定为最上层
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
SetWindowPos form2.hWnd, HWND_TOPMOST, 0, 0, 0, 0
SetWindowPos Form1.hWnd, HWND_TOPMOST, 0, 0, 0, 0
通常情况下我们采用上面的方法把窗体置顶,但是很多情况下会失灵 展开
展开全部
在form2的onfocus事件中激活form1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如想简单的话 用visible 函数要想难以点用API 函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询