VC++设计简易计算器笔记(一)
首先,创建一个给予对话框的工程文件;其次,编辑对话框并添加所需要的控件等资源,实现完成大致的界面出来;再次,对各个部分的功能,如菜单,控件等的相关操作分别进行编程实现预定的要求;然后,在各个程序块之间建立联系,比如互相调用或引用其成员变量或成员函数等;最后,进行整体调试,测试并实现最终功能。
CRect m_ClientRect; //用来保存按钮的客户的矩形区域
CRgn m_ClientRgn; //用来保存按钮的客户区域,非矩形
UINT m_State; //按钮所处状态,识别鼠标的移动及单击
CPoint m_Point; //当前鼠标的位置
m_ClientRect.left=0;
m_ClientRect.top=0;
m_ClientRect.right=0;
m_ClientRect.bottom=0;
m_ClientRgn.CreateEllipticRgnIndirect(&m_ClientRect); //创建椭圆区域
m_Point.x=m_Point.y=0
ModifyStyle(0,BS_OWNERDRAW|BS_PUSHBUTTON);
CRect rect;
GetWindowRect(&rect); //得到按钮客户区域的屏幕坐标位置
GetCursorPos(&m_Point); //得到鼠标的屏幕坐标位置
if(rect.PtInRect(m_Point)); //判断当前鼠标是否在按钮客户区域内
OnTimer(UINT nIDEvent);在OnMouseMove事件中,启动定时器SetTimer(1,100,NULL);来触发定时器消息响应。在OnTimer函数处理完之后,关闭定时器KillTimer(nIDEvent)。
GetClientRect(&m_ClientRect); //得到窗口的有效矩形区域
m_ClientRgn.DeleteObject();
m_ClientRgn.CreateEllipticRgnIndirect(&m_ClientRect); //在矩形区域创建椭圆
SetWindowRgn(m_ClientRgn,FALSE); //设置窗口的有效区域为椭圆
CDC* pDC=CDC::FromHandle(lpDrawItemStruct->hDC);
//得到按钮控件客户区域的设备环境变量指针
CPen* pPen=NULL; //创建画笔
switch(m_State)
{ case 0: pPen=new CPen(PS_SOLID,RGB(225,225,255);break;)
case 1: ....} //根据按钮的不同状态来创建不同的画笔
pDC->SetBkMode(TRANSPARENT); //设置背景模式为透明
pPen=pDC->SelectObject(pPen);
pDC->Ellipse(&m_ClientRect);
pPen=pDC->SelectObject(pPen);
if(pPen) delete pPen;
LPTSTR pCaption=new char[MAXCAPTIONLEN];
int iLen=GetWindowText(pCaption,MAXCAPTIONLEN);
pDC->SetTextColor(RGB(128,128,128)); //指定文本颜色
pDC->DrawText(pCaption,iLen,&m_ClientRect,DT_SINGLELINE|DT_CENTER|DT_VCENTER); //绘制文本,作为按钮标题
转载于:https://blog.51cto.com/jazka/162796
VC++设计简易计算器笔记(一)相关推荐
- 基于MATLAB的GUI设计简易计算器
MATLAB语言基于GUI设计简易计算器 GUI界面的设置 主页----新建----应用程序----GUIDE 进入下图所示界面 点击确定,即可生成GUI设计界面. 设计计算器界面,放置按键和显示屏, ...
- android studio线性布局做计算器,Android studio设计简易计算器
本文实例为大家分享了Android studio设计简易计算器的具体代码,供大家参考,具体内容如下 效果显示: 第一步,简单的界面布局 xmlns:tools="http://schemas ...
- javaweb设计简易计算器
javaweb设计简易计算器 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- C语言--使用循环语句设计简易计算器
文章目录 前言 一.for语句 1.for语句的一般形式: 2.for语句的执行步骤 3.for语句的表达式省略: 二.Switch语句 三.函数的声明与调用 四.使用循环语句设计简易计算器 总结 前 ...
- 单片机编程简易计算机的设计,简易计算器设计
<简易计算器设计>由会员分享,可在线阅读,更多相关<简易计算器设计(25页珍藏版)>请在人人文库网上搜索. 1.广东海洋大学寸金学院单片机课程设计论文题目: 简易计算器设计系 ...
- Andriod设计简易计算器
1.设计任务及要求 (1)设计一款基于Android系统下的计算器,实现加减乘除算法,以及清零.撤销操作.界面设计应该就尽量简洁而美观,具有良好的交互性,程序应具有较好的稳健性: (2)另起 ...
- 基于python:利用pyqt5设计简易计算器
实训内容: 跟随学习,用python写一个能进行简易运算的计算器,并自己设计计算器的UI界面,并根据实际对外观做出一定的美化. 准备过程 本次使用的是Windows11,python环境3.9.15 ...
- java课程设计简单计算器_JAVA课程设计--简易计算器(201521123022 黄俊麟)
1.团队课程设计博客链接 2.个人负责模板或任务说明 1.初始化业务逻辑. 2.开方.正负.清零.退格.数字内容输入拼接,输出结果的实现. 3.四则运算算法的实现. 4.每个按钮返回对应的业务(每个按 ...
- 微型计算机原理课程设计计算器,微机原理课程设计简易计算器的设计.docx
目录 一前言 ?????????????????????????????? 1 二总体设计 ??????????????????????????? 2 三硬件设计 ?????????????????? ...
最新文章
- 推荐8个超实用的神级工具,值得收藏起来!
- 深度强化学习入门到精通--资料综述
- softAP配网:用Android手机为linux无屏设备输入wifi密码
- Linux 进程间通信
- C++大师Lippman:我对中国程序员的忠告
- Windows下安装MySQL(解压版本)
- 「第三篇」全国电子设计竞赛,这些你必须知道的比赛细节,文末附上近十年电赛题目下载...
- android url 快捷方式,Android向桌面添加快捷方式,使其指向特定的(URL)网页
- PS图片无损放大插件 Alien Skin Blow Up 3 for Mac
- 不同种类的ICP算法
- 跋山涉水 —— 深入 Redis 字典遍历
- 单片机p2.0引脚c语言,单片机p2.0?
- python效率numpy_Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀
- 硬笔行书字帖3500常用字_2018年【成年人实用硬笔行书】一对一直播培训简介
- 移动端开发框架mui介绍
- python批量发送邮件_EDM营销算法:python自动批量发邮件
- Windows兼容性设置图文教程,Windows兼容模式怎么设置?
- Openstack 高可用部署(Ocata版)
- 共享三年嵌入式项目资料(源码+实物图+原创)(申精帖)
- 最新zotero与obsidian笔记联动教程(可代替citations和mdnotes)
热门文章
- python笛卡尔_用Python 3来模拟笛卡尔积
- lr分析器的设计与实现实验_GBDT+LR:Practical Lessons from Predicting Clicks on Ads
- eclipse查看git地址_在 IntelliJ IDEA 中使用 Git,太方便了
- mysql connector api_mysql8 参考手册-Connector/J使用X DevAPI进行连接压缩
- JAVA操作属性文件,可进行读 写 更改
- PCL学习笔记02:在ROS下建立编译链接PCL模块
- 安卓讲课笔记(9):列表视图
- 【BZOJ2744】【codevs2366】朋友圈,二分图最大匹配
- C ++ 指针 | this指针_2
- python调用pyd文件_如何将.pyd文件作为python模块导入?