社区
界面
帖子详情
求教,如何实现不规则形状的按钮
NOIR
2006-07-18 07:48:21
小弟因为项目要求,需要实现一个自己的CButton类,这个类要求实现类似任意形状的不规则窗体那样的不规则按钮形状,
我尝试过用实现不规则窗体的方法,SetWindowRgn这样的方式去实现,并且从载了 PreSubClassWindow
,再 PreSubClassWindow 中,实现了类似创建不规则窗体的那种实现代码,但是并没有效果,
请教高手,不规则按钮应该怎么实现?
...全文
933
19
打赏
收藏
求教,如何实现不规则形状的按钮
小弟因为项目要求,需要实现一个自己的CButton类,这个类要求实现类似任意形状的不规则窗体那样的不规则按钮形状, 我尝试过用实现不规则窗体的方法,SetWindowRgn这样的方式去实现,并且从载了 PreSubClassWindow ,再 PreSubClassWindow 中,实现了类似创建不规则窗体的那种实现代码,但是并没有效果, 请教高手,不规则按钮应该怎么实现?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NOIR
2006-07-20
打赏
举报
回复
ding
NOIR
2006-07-20
打赏
举报
回复
ding
NOIR
2006-07-19
打赏
举报
回复
顶
NOIR
2006-07-19
打赏
举报
回复
贴图方式是怎么样的?
小弟初学VC,不知道怎么实现,还请大哥们多指教啊。。。
xx_jj
2006-07-19
打赏
举报
回复
贴图方式可以实现
hhyytt
2006-07-19
打赏
举报
回复
我是在SDK下封装了一个类,使用贴图方式实现不规则按钮的。
NOIR
2006-07-19
打赏
举报
回复
顶
happyness44
2006-07-19
打赏
举报
回复
SetWindowRgn就能实现不规则
不过要事先计算你的区域
划分,组合区域达到你要的区域
NOIR
2006-07-19
打赏
举报
回复
想问一下,能不能像画不规则窗体一样画不规则按钮,
不规则窗体一般的画法是先做一个位图,然后指定该位图中,某个单一的纯色为透明色,然后再用类似 if (dcImage.GetPixel(x, y) == m_colTrans) 这样的语句去一个象素点,一个象素点的比对该象素点的颜色是否是指定的透明色,如果是,就跳过该点,如果不是,就记录该点,然后,把每次记录下来的点通过 rgn.CombineRgn (&rgn, &rgnAdd, RGN_OR); 全部加起来,得到一个不规则的路径,然后把这个路径放到 SetWindowRgn (rgn, TRUE); 里面。
这样的画法,就可以解决任意的不规则的问题,只要能做的出相应的图片就行,
我就是想通过类似这样的方法,去实现不规则按钮,可行不?
lamputa_lito
2006-07-19
打赏
举报
回复
不规则形状:SetWindowRgn
外观的话可以用贴图的方式。
最好就是自己写一个控件了,要怎么画都可以。
thesuper
2006-07-19
打赏
举报
回复
http://www.vckbase.com/document/viewdoc/?id=561
这里面有个圆形按钮自绘。
思路我上面提到过的
MikeChen007
2006-07-19
打赏
举报
回复
补充,上面的贴图要自己作好一幅图导入工程中作为其中的资源
MikeChen007
2006-07-19
打赏
举报
回复
先在对话框上放置一个按钮,在其properties中选择ownerDraw和bitmap,在---dlg.h中将对按钮的定义如CButton m_button改为CBitmapButton m_button,然后在对话框CPP的onpaint()中对按钮贴图主要使用loadmap,BitBlt函数
NOIR
2006-07-19
打赏
举报
回复
找过,网上的都是直接用
CRect类得到一个区域,直接画的按钮,不是我所说的那种方式实现的按钮,
thesuper
2006-07-19
打赏
举报
回复
自己去搜下资料
NOIR
2006-07-18
打赏
举报
回复
各位大哥,
到底,从载
1 DrawItem
2 OnEraseBkgnd
3 PreSubclassWindow
都是有什么用的啊?
具体实现不规则按钮的功能函数,应该在哪一个函数里面调用啊
小猿高飞
2006-07-18
打赏
举报
回复
可以到www.codeproject.com上找,上面有很多的。
thesuper
2006-07-18
打赏
举报
回复
DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
思路: 一般状态,选中状态,按下状态等。创建区域,填充不同的颜色。以及上面字的偏移。
thesuper
2006-07-18
打赏
举报
回复
重载1 DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
2 OnEraseBkgnd(CDC* pDC)
BOOL .....::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
return TRUE;
return CButton::OnEraseBkgnd(pDC);
}
3
void CALUButton::PreSubclassWindow()
{
CButton::PreSubclassWindow();
ModifyStyle(0, BS_OWNERDRAW);
CRect rect;
GetClientRect(rect);
// Convert client coords to the parents client coords
ClientToScreen(rect);
CWnd* pParent = GetParent();
if (pParent)
pParent->ScreenToClient(rect);
// Resize the window
MoveWindow(rect.left, rect.top, rect.Width(), rect.Height(), TRUE);
}
5.20爬虫结——Mu
3852724,最新版墨镜风格模板发布了,有需要的朋友可以进来看看,2759280 3856589,官方手机模板在哪安装,3140684 3856347,手机触摸屏被劫持跳转其它网站,3112842 3856562,终于知道DZ官网为什么没落了,3112900 3856535,主题自带的二级导航怎么修改啊,2578089 3856505,以前有农场这些插件能安装,现在没了吗?,1515035 3856513,请问这个网站用的是什么应用程序,3140310 3856515,萌新想问一下,能否可以
实现
现在主流素
GAMES 图形学系列笔记(二十五)
好那个同学们啊,晚上好啊,今天是我们game 102课程的最后一节啊,那么跟以前一样。我们先看一下我们这个课程最后一次作业啊,作业时的一个情况啊,总体上交作业的同学还是不错的啊,同学的一些结果啊,这个同学是
实现
了那个就是显示方法啊,cross换算法,当然算法也出现一些小的问题。像比如这里一个连接应该是发生错误啊,但总体上大部分还是对的啊,那么这个顶点加密以后呢,这个就会避免这种错误。
FirstRound 博客中文翻译(三)
创始人进行前期产品开发的时候,探索创意是公司建设中最重要的时期之一。在这些新生阶段,有很多有抱负的企业家需要关注——从寻找创业想法和与合适的联合创始人联系,到与用户交谈并尽快发布 MVP。您可能已经注意到,最近我们在评论中更频繁地讨论了这些话题。这是因为我们越来越多地发现,尽管初出茅庐的创始人需要解决的广泛领域非常清楚,但实际上,具体如何
实现
创办公司清单上的每一项内容却更加混乱。以与用户交谈为例。根据我们的经验,我们发现客户发现是创业装配线上最具挑战性的方面之一(这正是第一轮团队去年推出发现助手。
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA请教怎
discuz_result
命名 discuz_result 3856604,答题注册插件用不了,3140844 3852724,最新版墨镜风格模板发布了,有需要的朋友可以进来看看,2759280 3856589,官方手机模板在哪安装,3140684 3856347,手机触摸屏被劫持跳转其它网站,3112842 3856562,终于知道DZ官网为什么没落了,3112900 3856535,主题自带的二级导航怎么修改啊,2578089 3856505,以前有农场这些插件能安装,现在没了吗?,1515035 3856513,请问这个网站
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章