刚做完这个小玩意,总算有点成就感,不知从何说起,先上图吧
制作一个屏幕键盘最主要的核心就是焦点的问题,如何才能打字的时候让窗体得不到焦点,我主要想说说这个。
让窗体得不到焦点使用API函数SetWindowLong()即可搞定这个问题,但是又不能让其一直都得不到焦点否则窗体就没法拖动了,所以还要弄个鼠标钩子来监控鼠标行为,若鼠标点击在程序的按键区域就让窗体失去焦点,若点击在按键区以外包括程序边框都让其得到焦点,这样就搞定了这个最核心的问题
所以鼠标hook加SetWindowLong()
外观方面,win7边框效果网上有,按钮重绘自己去修炼修炼,还有在按键的布局方面,用上档键shift来改键按键的Text,如下
还有Fn键来增加F1到F12
到这里可以说这个键盘的功能大概齐了