社区
界面
帖子详情
请教,怎样在矩形区域填充渐变色,就像窗口标题栏
yayafu
2005-08-18 10:46:14
请教,怎样在矩形区域填充渐变色,就像窗口标题栏那样由深到浅,应该有个API函数吧
...全文
476
6
打赏
收藏
请教,怎样在矩形区域填充渐变色,就像窗口标题栏
请教,怎样在矩形区域填充渐变色,就像窗口标题栏那样由深到浅,应该有个API函数吧
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
summer0360
2005-08-20
打赏
举报
回复
mark
请问GradientFill具体怎么调用?
给个2,3句话的例子?
laogong165
2005-08-19
打赏
举报
回复
嘎嘎
kingsundy
2005-08-19
打赏
举报
回复
GradientFill
pomelowu
2005-08-18
打赏
举报
回复
GradientFill
i_noname
2005-08-18
打赏
举报
回复
把矩形分成N个小矩形,用渐变色对各个小矩形逐个填充。
void CProcessCtrl::DrawGradient(HDC pDC,const RECT& rectClient,const int & nMaxWidth) {
RECT rectFill; //显示区域
float fStep; //每一步的幅宽
HBRUSH hBrush; //显示的颜色画刷
int nRed = 0, nGreen=0, nBlue = 0;
float fRefStep = 0.0, fGreenStep=0.0, fBlueStep=0.0;
//得到不同颜色并相减,返回颜色之间的最大差值
nRed = (GetRValue(m_nShadowEndColor)-GetRValue(m_nShadowBeginColor));
nGreen = (GetGValue(m_nShadowEndColor)-GetGValue(m_nShadowBeginColor));
nBlue = (GetBValue(m_nShadowEndColor)-GetBValue(m_nShadowBeginColor));
//使进程条显示的总数 等于最大的颜色差值
int nSteps=max(abs(nRed),max(abs(nGreen),abs(nBlue)));
//确定每一颜色填充多大的矩形区域
//以下两种计算步长方式均成立,视个人喜好而定
//fStep = (float)rectClient.right / (float)nSteps;
fStep = (float)nMaxWidth / (float)nSteps;
//设置每一颜色填充的步数
fRefStep = nRed / (float)nSteps;
fGreenStep = nGreen / (float)nSteps;
fBlueStep = nBlue / (float)nSteps;
nRed = GetRValue(m_nShadowBeginColor);
nGreen = GetGValue(m_nShadowBeginColor);
nBlue = GetBValue(m_nShadowBeginColor);
//绘制颜色渐变的进程条
for(int nOnBand=0 ; nOnBand < nSteps ; nOnBand++)
{
//本质为使用一个一个的小RECT填充客户区,而每次填充使用不同的颜色(BRUSH),从而达到渐变的效果
::SetRect(&rectFill,
//填充矩形区域的左上角x,y和右下角x,y
(int)(nOnBand*fStep),
0,
(int)((nOnBand+1)*fStep),
rectClient.bottom+1);
hBrush = CreateSolidBrush(RGB(nRed + fRefStep*nOnBand,
nGreen + fGreenStep*nOnBand,
nBlue + fBlueStep*nOnBand));
HBRUSH oldBrush = (HBRUSH)::SelectObject(pDC, hBrush);
FillRect(pDC , &rectFill, hBrush);
::SelectObject(pDC, oldBrush);
DeleteObject(hBrush);
}
}
yll1986
2005-08-18
打赏
举报
回复
自己做一个渐变的位图,然后把它导入?哈哈!说笑
MFC重绘
标题栏
、菜单栏并更改状态栏背景色
MFC重绘
标题栏
、菜单栏并更改状态栏背景色。工具栏背景色未修改成功!
C#实现 填充
矩形
随机画
矩形
鼠标绘图 色彩变换矩阵 全局变形图形 漂亮的C#登录
窗口
(动画效果) 路径 另存为 绘制颜色渐变图形 绘制线条 绘制椭圆 绘制扇形 绘制抛物线 绘制
矩形
绘制弧线 绘制多边形和折线 绘制RectangleF结构指定的
矩形
画直线 画笔 创建笔 呈现图像 “字体”对话框安徽机电职业技术学院陈伟
填充
矩形
随机画
矩形
鼠标绘图 色彩变换矩阵 全局变形图形 漂亮的C#登录
窗口
(动画效果) 路径 另存为 绘制颜色渐变图形 绘制线条 绘制椭圆 绘制扇形 绘制抛物线 绘制
矩形
绘制弧线 绘制多边形和折线 绘制RectangleF结构指定的
矩形
画直线 画笔 创建笔 呈现图像 “字体”对话框
MoreWindows界面编程第三篇 异形
窗口
1
博客文章《Windows界面编程第三篇 异形窗体 上》的配套程序,示范了如何创建以图片为对话框形状话的异形
窗口
,程序注释翔实,讲解细致,可读性强。
自动填充功能实现-- 实例源码
博客《自动填充功能实现》网页源程序,博客地址:http://blog.csdn.net/harvic880925/article/details/29843127
Android设置虚线、圆角、渐变
Android设置虚线、圆角、渐变,详情请链接至: http://blog.csdn.net/lan410812571/article/details/9946991
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章