如何在MFC中创建非矩形button
来源:互联网 发布:双翼免费邮件群发软件 编辑:程序博客网 时间:2024/05/22 22:18
一般情况下,我们创建的按钮都是矩形的,但有时为了满足特殊的需求,我们要在对话框中创建一个非矩形的按钮,比如,圆形,椭圆等。
要实现一个非矩形的按钮,这就涉及到了自绘控件。自绘控件的方法有很多,可以参考http://blog.csdn.net/ssslpk/article/details/12156335
下面我将举例一个重载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,在非客户区与客户区利用CButon类创建button
- 如何创建非矩形的Windows窗体?
- C++:在非MFC程序中如何引用CString?
- 创建非矩形窗口
- MFC 在Dialog中button与回车键
- 在非MFC中引用MFC类库
- MFC如何在VS2008中创建弹出式菜单?
- 如何在MFC单文档中创建多视图
- 如何在MFC单文档中创建多视…
- MFC如何在VS2008中创建弹出式菜单?
- 如何在MFC单文档中创建多视图
- 如何在MFC单文档中创建多视图
- 如何在MFC中创建和使用对话框
- 如何创建 MFC 应用程序在 Visual C++ 中没有菜单栏
- 如何在MFC单文档中创建多视图
- MFC(8) 如何在工作线程中创建窗口?
- MFC动态创建BUTTON
- Xcode 断点使用心得
- 某出版系统发行图书和磁带,利用继承设计管理出版物的类。
- 生产管理方面SCI期刊(转载)
- Palindrome Number
- MySQL常用字符串函数
- 如何在MFC中创建非矩形button
- 【终结:Oracle用一次忘一次】建立联合主键
- 求1+2+2+3+3+3+...+n+...+n的和
- background:url(../images/list01.png) no-repeat 0 center;是什么意思
- Oracle导入数据imp的时候:Import terminated successfully with warnings.
- java字符串查找替换
- hdu1394
- POJ 1458 Common Subsequence (DP,LCS)
- 快速排序算法的C语言实现