以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断鼠标点击不在窗口范围内?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64127)

--  作者:cyl123
--  发布时间:2015/2/5 14:45:00
--  如何判断鼠标点击不在窗口范围内?
如何判断鼠标点击不在窗口范围内?隐藏模式窗口控制框了,想做一个提示,当鼠标点击在窗口外就提示。
--  作者:有点甜
--  发布时间:2015/2/5 15:30:00
--  

 只能变通一下处理。

 

1、你的窗口,改成独立窗口;

 

2、再做一个独立窗口,放入一个panel控件;

 

3、

 

afterload事件代码

 

e.Form.BaseForm.Width = SysInfo.ScreenWidth
e.Form.BaseForm.Height = SysInfo.ScreenHeight
e.Form.BaseForm.Top = 0
e.Form.BaseForm.Left = 0
e.Form.BaseForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None  \'消除窗口的边框
e.Form.BaseForm.Opacity = 0.1

 

panel的click事件代码

 

msgbox("请点击窗口里面的内容")
Forms("窗口2").Select

 

4、调用,先打开窗口1,再打开窗口2

 

5、关闭窗口2的时候,把窗口1也关闭

[此贴子已经被作者于2015-2-5 15:31:45编辑过]

--  作者:cyl123
--  发布时间:2015/2/5 15:50:00
--  
这个办法不错,但是在系统不全屏的时候。透明窗口能不能跟系统保持一样大小位置一致呢?否则,系统不全屏,导致其它软件无法选择呀。
--  作者:有点甜
--  发布时间:2015/2/5 15:53:00
--  

e.Form.BaseForm.Width = BaseMainForm.Width
e.Form.BaseForm.Height = BaseMainForm.Height
e.Form.BaseForm.Top = BaseMainForm.Top
e.Form.BaseForm.Left = BaseMainForm.Left
e.Form.BaseForm.FormBorderStyle = Windows.Forms.FormBorderStyle.None  \'消除窗口的边框
e.Form.BaseForm.Opacity = 0.1


--  作者:cyl123
--  发布时间:2015/2/5 18:59:00
--  
这样还是有问题呢,大小是对了。但是位置不随着走呢。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150205190316.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015-2-5 19:00:50编辑过]

--  作者:有点甜
--  发布时间:2015/2/5 19:07:00
--  
 代码不可能有问题。
--  作者:cyl123
--  发布时间:2015/2/5 19:10:00
--  
系统窗口不全屏后,移动系统窗口位置。打开透明窗口,透明窗口的位置是在中间的位置出现呀。
[此贴子已经被作者于2015-2-5 19:10:45编辑过]

--  作者:cyl123
--  发布时间:2015/2/5 19:17:00
--  
例子这样
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150205191533.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb



--  作者:cyl123
--  发布时间:2015/2/5 19:34:00
--  
代码没问题,代码放到TimerTick事件中就可以了!谢谢甜老师