翻新时间: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)恢复原来的内存设备环境。入侵检测系统研究
论国家信息化战略
下载文档
网友最新关注
- 一件令我感动的事
- 一件令我感动的事
- 一件令我感动的事
- 《草船借箭》缩写
- 雨夜
- 一件令我感动的事
- 一件令我感动的事
- 六一”联欢会发言稿
- 一件令我感动的事
- 一件令我感动的事
- 一件令我感动的事
- 一件令我感动的事
- 感动
- 邓说之倔的后果
- 《草船借箭》缩写
- 在学校打架的检讨书范文
- 大学生擅自校外租房的检讨书
- 考试补报的检讨书范文
- 上自习课说话的检讨书范文
- 上电脑课玩游戏的检讨书范文
- 政治课上突然缺席的检讨书范文
- 在学校抽烟的检讨书范文
- 抄袭作业的检讨书范文
- 使用热得快违章检讨书范文
- 国旗仪式中的缺席的检讨书范文
- 学生干部工作没做好的检讨书范文
- 上课玩手机的检讨书范文
- 四级考试补报的检讨书范文
- 上课吃零食的检讨书范文
- 扰乱课堂的检讨书范文
- 建立科学完善的防洪减灾体系
- 水坝生态保护
- 混凝土施工缝的处理
- 岩溶塌陷稳定性的宏观判断标志
- 渭河下游近期清淤固堤工程方案设计
- 水工建筑物——泄水建筑物知识系列(2)
- 三大因素导致农业用水利用效率过低
- 混凝土渠道伸缩缝填料及施工工艺
- 中国承认三峡大坝存在隐患
- 五大因素致黄河08年防汛形势严峻
- 浅论低压水管漏水处理技术
- 屋顶花园的防水构造作法
- 电力电缆各型号中符号含义
- 北京城市河湖滨水地区景观设计初探
- 聚氨酯硬泡保温防水体在地下商业建筑中的应用
- 《北京亮起来了》 考点练兵2
- 《北京亮起来了》老师语录
- 《北京亮起来了》 重点问题探究
- 《北京亮起来了》随堂练习 巩固篇
- 《北京亮起来了》 教案讲义2
- 《北京亮起来了》重难点分析
- 《动手做做看》 教师语录
- 《北京亮起来了》整体阅读感知
- 《北京亮起来了》 相关介绍
- 《北京亮起来了》随堂练习 提高篇
- 《北京亮起来了》 考点练兵1
- 《日月潭》 趣闻故事
- 《北京亮起来了》 范文习作
- 《动手做做看》 课文相关
- 《北京亮起来了》 趣闻故事