教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 用VC 6.0为对话框添加最小化按钮和提示条(1)

用VC 6.0为对话框添加最小化按钮和提示条(1)

上传者:网友
|
翻新时间:2022-10-24

用VC 6.0为对话框添加最小化按钮和提示条(1)

摘 要 本文通过实例介绍了用VC 6.0为对话框添加最小化按钮和提示条的方法和原理关键词 对话框 最小化按钮 提示条我们在使用对话框窗体时,会有这样一种感受:当对话框窗体位于其它程序窗口界面上时,单击对话框外区域时,可使对话框窗体最小化;而当对话框窗体位于桌面上时,无论怎样单击对话框外区域,对话框均不能最小化,只能选择关闭。但有时我们在使用对话框时,还希望能根据需要使对话框具有最小化功能。本文的设计思想就是据此提出来的。

1 实例程序设计要点

⑴ 取得对话框标题栏位置和大小,在标题栏的适当位置绘制最小化按钮,并记住按钮的位置。

⑵ 在最小化按钮所在区域检测鼠标是否在该区域内、是否按下,是否发送最小化消息使对话框最小化,否则不变。

⑶ 将最小化按钮矩形区域向工具提示条控件注册,这样当鼠标在最小化按钮矩形区域时,显示提示文本。

2 实例程序实现的步骤及说明

⑴ 准备二个位图,一个位图表示最小化按钮正常显示状态,另一个位图表示最小化按钮被按下时的状态。

⑵ 使用MFC AppWizard(exe)创建工程名为MinButton的对话框窗体,如图所示,将二个按钮位图导入对话框的资源里。

⑶ 在CMinButtonDlg对话框类中进行变量定义和函数声明。

⑷ 利用ClassWizard为对话框类添加消息WM_NCPAINT,WM_ACTIVATE和WM_NCMOUSEMOVE的消息处理函数,在这三个函数中调用成员函数DrawButton()来绘制按钮。

⑸ 利用ClassWizard为最小化按钮关联对应的消息WM_NCLBUTTONDOWN和消息处理函数OnNcLButtonDown(UINT nHitTest, CPoint point)。

⑹ 函数DrawButton()用于绘制按钮。由于最小化按钮并不是一个真实的按钮控件,而是一个画在标题栏上的位图。因此,为了在对话框窗体标题上绘画,必须创建一个窗口设备环境类(相当于创建一个画布,有了这个画布,才能在画布上绘画,也就是才能在标题栏上绘画。)

① 调用函数GetWindowDC()取得指向CDC的指针 CDC* pDC;

② 调用函数 CreateCompatibleDC(CDC* pDC)创建一个内存设备环境,以便在内存中保存位图,并与指定的窗口设备环境相兼容;

③ 调用函数SelectObject(CBitmap *pBitmap),将位图选入内存设备环境中;

④ 调用函数 BitBlt(int x, int y, int nWidth, int nHeight, CDC *pSrc, int xSrc, int ySrc, DWORD dwRop)将位图复制到实际设备环境中。其中,参数x, y 表示位图目标矩形左上角的x, y 逻辑坐标值;nWidth, nHeight 表示位图目标矩形的逻辑宽度和高度;pSrc 表示源设备环境CDC指针;xSrc, ySrc 表示位图源矩形的左上角的x, y 逻辑坐标值;dwRop 表示显示位图的光栅操作方式。光栅操作方式有多种,这里使用的是SRCCOPY,表示将位图直接复制到目标内存设备环境中。这里要说明一点:函数BitBlt()只能“一比一”的显示位图,如要任意缩放显示位图须使用函数StretchBlt(),该函数的使用方法,请参考相关书籍。

⑤ 位图选入内存环境中显示后,应调用函数SelectObject(CBitmap *pOldBitmap)恢复原来的内存设备环境。入侵检测系统研究

论国家信息化战略

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

青蛙搬家
小毛驴和牛大哥
快乐的冬令营
最好吃的苹果和梨
躲雨
可爱的小虾
续写课文《水乡歌》
一次特殊的期末考试
笋芽儿
美丽的星空
小熊拔牙
逛市场
我爱我的家乡
小鸡得救了
小猴结婚
迎新生标语
中学庆祝第26个教师节活动方案
迎新生晚会策划书
学校教师节活动方案《绿叶对根的情意》
2012年商场超市教师节促销活动方案
教师节活动方案:老师,节日快乐
向教师感恩教师节庆祝活动
校园迎新标语精选
2012年迎新生策划书
大学迎新生演讲稿
迎新生横幅
2012年迎新生欢迎词
小学教师节优秀教师表彰会活动方案
幼儿园庆祝教师节主题活动方案
2012年商场教师节活动方案
小议注册会计师审计失真的成因与对策(1)
减少审计风险的出路何在(1)
日本环境会计的新进展及对我国的启示(1)
管理会计的新阶段——战略管理会计(1)
浅谈如何加强政府投资项目审计监督(1)
探讨我国环境会计信息披露(1)
小企业会计电算化系统实施探讨(1)
激活审计机关人力资源浅探(1)
关于流动资产盘点结果会计处理的思考(1)
我国上市公司推行审计委员会制度的思考(1)
新准则下公允价值对纳税调整的影响(1)
关于如何提高会计信息质量的若干问题的探讨(1)
工程项目成本核算问题研究(1)
会计信息化时代的会计内部控制探讨(1)
论电算化会计系统的内部控制和会计网络化(1)
《北京》 教学设计一
《小柳树和小枣树》 教学设计三
《坐井观天》 教学设计一
《欢庆》 教学设计一
《风娃娃》 教学设计四
《坐井观天》 教学设计五
《坐井观天》 教学设计四
《坐井观天》 教学设计二
《看雪》 教学设计二
《看雪》 教学设计三
《小柳树和小枣树》 教学设计一
《欢庆》 教学设计二
《北京》 教学设计三
《小柳树和小枣树》 教学设计二
《北京》 教学设计二