1.最开始一个问题,系统自带的计算机上的按钮是有颜色的。要模仿,首先外观总要像的。于是想到了重载WM_CLTCOLOR消息处理函数,发现没有效果。第二天找到原因。
PS:其实重载WM_CLTCOLOR消息处理函数是有效果的,关键是要设置为主窗口绘制。并且在重载DRAWITEM里面必须在按钮上输出文字。在模板中创建按钮的时候,当样式设置为主窗口绘制之后,上面的文字是没有作用的,所以必须自己输出文字。
2.如何处理用户按键。这是个很棘手的问题,开始一直都没想明白,因为用户按键是随机的,比如说连续按下十个加号,我是不是该忽略这些按键;还有用户输入1 + 2 +的时候我是需要计算的(他并不点击=按钮),输入1+2×3我也是需要计算的。那么怎么处理呢?怎么知道他是输入一次运算符还是两次还是多次呢,最后做什么处理? 还有用户输入1 + ××× 2,我是用+计算呢,还是用乘法呢?每次显示的时候上次保留的值是不是需要清空呢?答案是,有的是是需要保留的,有的不需要,比如说1+1+1,那么上次的结果2就保留,而最上次的1和1是不需要保留的,什么时候需要更新?
PS:已经完成,只是相当的复杂。不知道有没有更好的方法?
3.对话款加载菜单。
4. 定时器的运用。