| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1125 人关注过本帖
标题:请教怎样修改才可以使颜色改变的过程能可见呢?
取消只看楼主 加入收藏
Scofield
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2006-5-30
收藏
 问题点数:0 回复次数:2 
请教怎样修改才可以使颜色改变的过程能可见呢?

HBRUSH CIntialdlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
int a=10,b=10,c=0;
for(;c<=255;c=c+10)
{
Sleep(100);

if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(a,b,c+10)); //改变文字颜色
pDC->SetBkMode(TRANSPARENT); //设置背景模式

return m_nbrush;
}
}

return m_nbrush;
}

运行后对话框中间一直处于忙的状态,结束后文字颜色就已经改变结束了
请问怎么样能使这个过程可见呢?
多线程?
希望高手能指点一下,谢谢了!

搜索更多相关主题的帖子: pDC 颜色 nCtlColor CDC RGB 
2006-10-01 13:28
Scofield
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2006-5-30
收藏
得分:0 

谢谢楼上的朋友,不过不知道为什么在OnTimer里修改m_nbrush,对话框的背景颜色不会变化呢?

void CIntialdlg::OnTimer(UINT nIDEvent)
{
m_nbrush.CreateSolidBrush(RGB(255,0,0));

HBRUSH CIntialdlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

CDialog::OnTimer(nIDEvent);
}


2006-10-01 17:52
Scofield
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2006-5-30
收藏
得分:0 
谢谢楼上朋友精彩的讲解!
我再看看

2006-10-02 12:28
快速回复:请教怎样修改才可以使颜色改变的过程能可见呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033675 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved