C++第六次作业

前言

拿到作业的时候,整个人都不好了,虽然之前和同学说以后一起写游戏,画界面,然而现在的自己对界面的知识一窍不通,虽然同学分享了一些资料,但是通过这次作业,发现自己火候还是不够……

问题描述及仓库地址

第六次作业
计算器

参考资料

MFC键值表
虚拟键码VK值大全
虚拟键码
tab控件
MFC简单教程
注:由于VK值网上写的都不一样,便都整合到这里;

开门见山

1.此次作业要求画出计算器界面,于是弱弱的模仿了微软的计算器,勉强画出了第一个界面,但是题目要求还要批量处理,便无脑的想把批量处理画在旁边,但是这又影响了美观,但是又不懂怎么搞,虽然借了本visualC++2010开发权威指南,但好像并没有什么卵用,网上百度了多界面切换的方法,讲道理,看得不是很懂,最后还是问了资深人士,才懂得用tab控件实现多窗口;

2.在键盘输入方面,由于数字键(不是小键盘)及字母键无对应VK值,故采用

/*
* VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
* 0x40 : unassigned
* VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
*/

以上方式定义相应的按键。

3.部分代码:

键盘输入:  
BOOL Cpage1::PreTranslateMessage(MSG* pMsg)
{
    //判断是否为键盘消息
     if (WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST)
     {
         if (pMsg->message == WM_KEYDOWN)
         {
              switch (pMsg->wParam)
              {
                   /*VK_NUMPAD0-VK_NUMPAD9分别对应小键盘0-9*/
                   /*VK_0-VK_9分别对应数字键盘0-9*/
                   case VK_NUMPAD0:
                        OnBnClickedButton20(); break;
                        //此case 判断 是否按下0键 进行相应操作;
                ………………
               }

4.界面截图



个人感受

第一次做界面,虽然遇到各种不懂,也经常熬夜爆肝,但是过程是艰辛的,成果却是值得自豪的,虽然只是一个小计算器,但是对于之前对界面毫无所知的我却是一种极大的鼓励,前方道路还很崎岖,既然选择了这条路,就应该朝前走,一直走下去……
2016/6/4 1:00 第一个“儿子”诞生~~待完善
To be continue!

posted @ 2016-06-04 01:29  Distances  阅读(284)  评论(8编辑  收藏  举报