emwin软件盘设计记录

  最近工作需要,写了个数字软键盘。以前看过不少别人写的,都是在同一个父窗口中的,但是感觉实际应用中不在同一个窗口会更好用!代码在最下面的链接。先上个图,有个直观的感受!

emwin软件盘设计记录_第1张图片

    这个是在480*320分辨率下做了,键盘和输入窗口是两个不同的窗口,窗口之间用 GUI_SendKeyMsg(Key, Pressed)发送键盘消息。所有按键的功能均已实现。关于这个软件有几个想记录的重点,还有几个疑问欢迎路过的大虾给解答下。

几点感觉重要的:

1 失能所有按键的聚焦,以便消息发送到EDIT控件。

2 可以重写EDIT控件的回调函数,实现一些按键的功能。

3 创建键盘窗口是一定不能重复创建,否刚会内存耗尽而崩溃。

4 键盘的功能尽量在键盘窗口中实现,这样别的窗口在调用键盘窗口时,就不用修改太多的东西,此功能还未改进

疑问:

1 键盘是在EDIT所在WINDOW窗口的回调函数中创建的,在EDIT控件被点击时创建,创建后再调用函数聚焦到EDIT,但是这时EDIT不显示输入光标,如果设置了光标闪烁,也不会闪烁,不知道是为什么。不过这并不影响输入。如果多创建几个EDIT控件,先聚焦到下一个EDIT,再聚焦回来就可以解决上述问题,但这肯定不是最佳方案,欢迎路过的指教。

程序代码:https://download.csdn.net/download/xiaowudidao/10666226

程序在EMWIN532以上的仿真器都可以运行。

你可能感兴趣的:(STemWin)