用vc++6.0为对话框添加最小化按钮和提示条论文

用vc++6.0为对话框添加最小化按钮和提示条论文

ID:10801415

大小:56.50 KB

页数:3页

时间:2018-07-08

用vc++6.0为对话框添加最小化按钮和提示条论文_第1页
用vc++6.0为对话框添加最小化按钮和提示条论文_第2页
用vc++6.0为对话框添加最小化按钮和提示条论文_第3页
资源描述:

《用vc++6.0为对话框添加最小化按钮和提示条论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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

2、大小.freelap*pBitmap),将位图选入内存设备环境中;④调用函数BitBlt(intx,inty,intnFC中提供了工具提示条控件类CToolTipCtrl,由它来管理提示条。在这里,我们从CToolTipCtrl类派生子类CToolTips。在子类的定义中添加函数BOOLAddToolTip(UINTnID,LPRECTlpRect,LPCTSTRlpszText),该函数用于向工具提示条控件注册按钮区域和提示文本,当鼠标在最小化按钮区域时,显示提示文本。3主要的程序代码⑴在对话框类中定

3、义相应的变量和函数声明classCMinButtonDlg:publicCDialog{…………public:CRectm_rtButtMin;//记录最小化按钮位置voidDra_BMPPressed;//最小化按钮状态标志CRectm_ButtMinTips;//记录最小化按钮区域protected:CToolTipsm_ToolTip;//定义工具提示条控件变量voidGetMinButRect();//获取最小化按钮所在区域//消息处理函数afx_msgvoidOnNcLButtonDosgvo

4、idOnNcPaint();afx_msgvoidOnActivate(UINTnState,Cinimized);afx_msgvoidOnNcMouseMove(UINTnHitTest,CPointpoint);…………};⑵对话框类中三个消息处理函数定义如下://对应消息_NCPAINT的消息处理函数voidCMinButtonDlg::OnNcPaint(){CDialog::OnNcPaint();Draized){CDialog::OnActivate(nState,pinimized);

5、DraDC=neap*pBitmap1=neap;CBitmap*pBitmap2=neap;CBitmap*pOldBitmap;CRectrtemDC-CreatepatibleDC(pDC);if(!pDC)return;Getetrics(SM_CXFRAME);rtTitle.top=GetSystemMetrics(SM_CYFRAME);rtTitle.right=rtetrics(SM_CXFRAME);rtTitle.bottom=rtTitle.top+GetSystemMetric

6、s(SM_CYSIZE);//计算最小化按钮的位置,位图大小为15X15rtButtons.top=rtTitle.top+1;rtButtons.bottom=rtButtons.top+15;rtButtons.right=rtTitle.right-20;rtButtons.left=rtButtons.right-15;m_rtButtMin=rtButtons;pBitmap1-LoadBitmap(IDB_BITMAP1);//调入正常状态按钮的位图pBitmap2-LoadBitmap(I

7、DB_BITMAP2);//调入按钮按下状态的位图m_rtButtMin.OffsetRect(rtPPressed为TRUE//调入正常状态按钮的位图pOldBitmap=pMemDC-SelectObject(m_BMPPressed?pBitmap1:pBitmap2);//将按钮位图复制到实际的内存设备环境中pDC-BitBlt(rtButtons.left,rtButtons.top,rtButtons.emDC,0,0,SRCCOPY);pMemDC-SelectObject(pOldBit

8、map);//恢复原来的内存设备环境//释放资源ReleaseDC(pMemDC);ReleaseDC(pDC);deletepMemDC;deletepBitmap1;deletepBitmap2;}⑷对应鼠标左键的_NCLBUTTONDOinButtonDlg::OnNcLButtonDo_rtButtMin.PtInRect(point)){m_BMPPressed=FALSE;//绘制按钮按下时的状态Dra_BMPPressed=T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。