| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1010 人关注过本帖
标题:新手求教!关于VB窗体停靠的问题
只看楼主 加入收藏
肇励影
Rank: 2
等 级:论坛游民
威 望:2
帖 子:61
专家分:73
注 册:2016-8-5
结帖率:88.89%
收藏
已结贴  问题点数:10 回复次数:5 
新手求教!关于VB窗体停靠的问题
我想做一个具有类似于QQ的窗体停靠的软件,怎么写窗体停靠这部分的代码?希望大神们能帮助一下,谢谢了!
搜索更多相关主题的帖子: 软件 
2016-11-08 21:43
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
用api函数GetCursorPos获取鼠标当前的屏幕坐标,再根据得到的坐标位置确定是否将窗体移到屏幕区域外或移回屏幕区域。也可设置visible属性来实现
2016-11-08 22:32
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:0 
这种窗体是一般为无标题栏,在移动窗体的过程中,判断 窗体 上左右与 屏幕边框的距离。屏幕使用对象 screen 。
如果有标题栏,那就只能 Hook 自己消息,检索移动结束的消息。
简单一点的办法,就是把判断放到定时器里执行。

授人于鱼,不如授人于渔
早已停用QQ了
2016-11-08 22:57
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:10 
估计楼主想要实现一个类似于WINDOWS任务栏自动隐藏的效果,之前编写过一个,但是现在没有完整的代码。
只能提供几个关键词:窗口悬浮置顶、自动隐藏
窗口悬浮置顶需要用下面的函数
程序代码:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
Const VK_LWIN = &H5B
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()
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
Private Sub Timer1_Timer()  'interval = 1
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub

自动隐藏/显示这个,需要通过获取鼠标位置,根据窗口状态和位置的关系修改窗口尺寸之类就可以
程序代码:
Private Type POINT_TYPE
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib "user32.dll" (xyPoint As POINT_TYPE) As Long
2016-11-09 11:36
肇励影
Rank: 2
等 级:论坛游民
威 望:2
帖 子:61
专家分:73
注 册:2016-8-5
收藏
得分:0 
回复 2楼 yangfrancis
大神,有源码吗?我是新手,还不太懂怎么写。
2016-11-09 15:58
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 5楼 肇励影
没有呢。
2016-11-10 21:32
快速回复:新手求教!关于VB窗体停靠的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019033 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved