通过不同的自定义颜色突出显示边框 [英] Border highlited through different custom color

查看:109
本文介绍了通过不同的自定义颜色突出显示边框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

朋友,我的问题很简单,请回答我.
我正在使用

Hi friends my questions is just simple please answer me.
I am using

::DrawEdge(dc, rc, EDGE_ETCHED, BF_RECT|BF_SOFT);


画一些窗户可以是多个寡妇.所以现在我需要用不同的边框颜色绘制它们.我正在弄清它


to draw some windows it can be multiple widows. So now on i need to draw them with different border color. I am drwaing it

::OnPaint()

不,请告诉我这是否可能,或者我必须实现其他任何方法,例如

No please tell me is it possible by it or i have to implement anything else like

OnNcPaint()


我发现互联网上还有一个链接,上面写着 http://www.social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/7ffca09f-ab04-404e-a265-c410c1e95645">http ://social.msdn.microsoft.com/Forums/zh-CN/vcmfcatl/thread/7ffca09f-ab04-404e-a265-c410c1e95645 [


One more thing i found a link over internet which say http://social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/7ffca09f-ab04-404e-a265-c410c1e95645[^]
So please tell me have ever faced any such kind of conditions or if you have any basic idea please tell me.
You can send me links too But also did google and could not find the solution to draw border it using DrawEdge().
Thanks in advance.


:)
keep smiling its free.

推荐答案

如您所提供的链接中所建议的那样,您不能使用DrawEdge.

下面的代码将为您绘制一个不错的圆角边缘(颜色类似于Office2010).请根据需要对其进行修改:

As already suggested in the link you have provided you can''t use DrawEdge.

This code below will draw a nice roundish edge for you (colours similar to Office2010). Please modify it as you wish:

CPen penUpperBorder;
penUpperBorder.CreatePen(PS_SOLID, 1, RGB(255,211,80));
CPen* pOldPen = pDC->SelectObject(&penUpperBorder);

CPen penInnerBorder, penBack;
penInnerBorder.CreatePen(PS_SOLID, 1, RGB(255,254,225));
penBack.CreatePen(PS_SOLID, 1, ::GetSysColor(COLOR_BTNFACE));
pDC->SelectObject(&penBack);
pDC->Rectangle(rc);
pDC->SelectObject(&penUpperBorder);
pDC->RoundRect(rc, CPoint(4, 4));
rc.DeflateRect(1, 1);
pDC->SelectObject(&penInnerBorder);
pDC->RoundRect(rc, CPoint(4, 4));

// Put back the old objects
pDC->SelectObject(pOldPen);


这篇关于通过不同的自定义颜色突出显示边框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆