如何在MFC中创建非矩形button
2013-11-14 18:00
169 查看
一般情况下,我们创建的按钮都是矩形的,但有时为了满足特殊的需求,我们要在对话框中创建一个非矩形的按钮,比如,圆形,椭圆等。
要实现一个非矩形的按钮,这就涉及到了自绘控件。自绘控件的方法有很多,可以参考/article/8984175.html
下面我将举例一个重载DrawItem()函数的方法来实现非矩形button
===========================================================================================================================
创建一个基类为CButtonr的派生类CMyButton,然后重载DrawItem()函数,其声明如下:
DrawItem函数的实现如下:
效果如下(上面的代码不包括图片和边框的颜色的实现):
要实现一个非矩形的按钮,这就涉及到了自绘控件。自绘控件的方法有很多,可以参考/article/8984175.html
下面我将举例一个重载DrawItem()函数的方法来实现非矩形button
===========================================================================================================================
创建一个基类为CButtonr的派生类CMyButton,然后重载DrawItem()函数,其声明如下:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
DrawItem函数的实现如下:
void CMyButton::DrawItem(LPDRAWITEMSTRUCT lp)//lpDrawItemStruct { // TODO: 添加您的代码以绘制指定项 CRect rc = lp->rcItem; CDC dc; dc.Attach(lp->hDC); dc.Ellipse(0,0,rc.Width(),rc.Height()); dc.DeleteDC(); }
效果如下(上面的代码不包括图片和边框的颜色的实现):
相关文章推荐
- 如何在MFC中创建非矩形button
- 学习MFC框架如何创建的过程
- 温故而知新,学习MFC框架如何创建的过程
- MFC基于对话框,在对话框上插入图像控件,在图像控件上,画一个绿色的矩形,按键盘上下左右键,矩形在图像控件上移动移动。分别创建一个文本文件和一个二进制文件,对话框退出时,文档内写入保存退出前的矩形的位
- 温故而知新,学习MFC框架如何创建的过程
- 学习MFC框架如何创建的过程
- MFC如何在父窗口的指定位置创建子窗口,及border边框属性设置
- 如何创建 PowerPoint 的 MFC 自动化客户端
- MFC中如何安全的创建和关闭线程
- 如何通过代码创建圆角矩形和图片背景选择器
- mfc中,当点击一个button后,如何使其它某些button变为不可用啊?也就是变灰!
- MFC如何使用GDI+,button加载png
- VC/MFC如何使用CreateEx()创建自己的对话框资源
- 【MFC】非Dialog中的控件或动态创建的控件如何支持Tab键切换焦点?答案很简单……
- MFC如何使用GDI+,button加载png
- MFC 项目中 添加了第三方类PngButton类 ,如何给按钮添加PngButton类的关联变量
- 基于MFC,在非客户区与客户区利用CButon类创建button
- 如何使用 MFC 创建并显示一个 PowerPoint 演示文稿
- MFC动态创建BUTTON
- 如何为 MFC 应用程序创建本地化资源 DLL