VB编写自己的截图软件第三篇

2022-03-10 22:48栏目:编程
TAG:

大家好,我是小嘟嘟熊,前两篇巳经写好了一个基本截图的功能,截图区只能用鼠标拖动,而且区域大小不能收缩,没有菜单,也没有热键,截图操作不够完善,那么今天主要给它写一个热键控制,和收缩区域的功能,我们先到模块1中声明一个热键控制函数

图1

上图中这个函数主要是获取键盘上某个键的状态,在自定义一个函数

图2

上图中有一个子过程和一个自定义函数,,drawdecsktopwindow这个过程是当我们在屏幕用鼠标拖动时画一个框,,我这个是现写现发,没有时间去考虑太多,如果用这个去当作缩放区域的边框,我觉得这个方法还是达不到要求的,因为它只能在桌面上画,如果有其他窗口挡住,它就看不到了,所以我们暂时不管它,

hokey键盘钩子,它有三个参数,第二和第三个是保留参数,,第三个如果大于0,就用组合键,=0就是单个键

回到窗体2,加上两个计时器,我们把它们的Interval属性设置一下Interval = 100,第一个计时器是来控制区域的缩放,第二个是监视热键

然后我们再把窗体上添加一些控件(详情看图)

图4

再次回到窗体2,在第二个计时器中写入代码热键监视代码

图5

计时器中的代码我只用了单个键,并没有用组合键,keyvalue函数是把键名直接转为键码,方便调用窗口1中组合框里的键名,也可以在组合框的itemData里加入键值,以上代码巳经可以实现热键截图了,现在来写区域缩放,首先我们要修改窗体2的Form_MouseDown中的事件

图6

上图中红色框中就 是要添加的代码,Form_MouseDown事件本身就是当用户鼠标在窗体上按下了才触发的事件,红框中的代码意思是当我们的鼠标在距离窗口边缘只有75的时候,鼠标指针就会变成一个拖动样式,把变量MOUSETRE赋值为5,就是告诉程序,当前是可以拖动窗口

图7

上图中是鼠标移动事件,,图中都有注释的,我就不多说了,然后我们在第一个计时器中写入代码,调整窗体大小

图8

写上这几行代码,那我们的截图区域就能缩放了,到这里,这个截图软件基本形成了,至于那些菜单什么的都太简单了,稍微会写代码的都能搞定了,我相信在看我这个文章的人都是会写代码,甚至比我写的好,我写这个软件只是一个思路.

最后我们测试,运行,点击窗体1上的按钮,弹出绿色边框,(这个功能也可以用组合键呼出),用鼠标调整截图区域,按F1图片就保存了,至于保存到什么位置,大家可以在窗体1中设置的,

好了,本文就到此结束,喜欢的朋友可以转发并收藏

本文来自网络,不代表山斋月平台立场,转载请注明出处: https://www.shanzhaiyue.top