您的位置:首页 > 编程语言 > C语言/C++

C++第六次作业

2016-06-04 01:29 183 查看

前言


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


问题描述及仓库地址


参考资料


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!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: