标题:请教怎样修改才可以使颜色改变的过程能可见呢?
取消只看楼主
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-93841-1-1.html




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

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