每天都有郁闷的问题--程序运行一段时间后崩溃
我在单文档分割的其中一个窗口,用定时器去不断检测另外一个窗口的变量,由此决定本窗口上控件的颜色,现在的问题是我想要的功能一切正常,但是当程序运行2-3分钟后窗口自定义的背景突然消失,接着程序就死了。
void CResult::OnTimer(UINT nIDEvent)
{
if (nIDEvent==1)
{
CMainFrame *mainframe=(CMainFrame*)(AfxGetApp()->m_pMainWnd);
CJustechDoc *pjustechview=(CJustechDoc*)mainframe->GetActiveDocument();
if (pjustechview!=NULL)
{
pjustechview->DoIt();
}
}
if (nIDEvent==2)
{
if (signal)
{
signal=FALSE;
}
}
Invalidate(FALSE);
}
自己排除发现是OnTimer里invalidate导致,而进一步则是onctcolor()出错,把里面内容注释到则OK,但实在想不通为什么会这样,而且我需要去自定义背景。 崩溃
[解决办法]
onctcolor()你注释掉什么了?
[解决办法]
只有创建,在哪里释放了?
[解决办法]
不清楚,你的代码是有问题,看不出来贴出那样一点来,可能是你的位图反复被创建造成的吧。背景那块。
[解决办法]
HBRUSH br=CreateSolidBrush(RGB(30,144,255));
br保存为成员变量 在OnInitialDialog里create OnCtlColor里return br就行了