各位大侠,现小弟要在对话框上加控件实现报警功能,通过STATIC类实现,为什么实现不了?
请问哪位大侠有相关资料,能提供一点吗?
或通过其它类实现报警?
请问哪位大侠有相关资料,能提供一点吗?
或通过其它类实现报警?
解决方案 »
- mfc程序中连接远程服务器的ftp下载文件,刚开始是正常的,程序运行一段时间后报svchost.exe,..指令引用的.内存不能为written或read,
- UDP的小问题
- 有没有做过divx解码的呀?
- 高分问一个简单问题,只求马上解决!立即结!!
- 键盘消息处理问题
- 在windows 2000中通过API函数和注册表获得详细的系统信息?急!急!非常急!
- 串口监控
- 对不要求即插即用的WDM驱动的AddDevice例程是不是可以放到DriverEntry中实现
- 她为什么会这样?
- CWebBrowser2是不是有什么com接口得到网页的源文本?
- 有个问题,怎么样能够把Directsound处理过以后的声音不输出到声卡而直接输出到文件呢?
- 如何改变永久改变背景色?
CStatic* pWnd = (CStatic*)GetDlgItem(IDC_STATIC);//根据句柄得到dc
CDC* pDC = pWnd->GetDC();//得到dc的客户区域,并创建画刷填充这个区域
CRect rc;
pWnd->GetClientRect(&rc);
CBrush brush;
brush.CreateSolidBrush(RGB(0,255,0));//颜色换成变量就可以拉
pDC->FillRect(&rc,&brush);//设置dc的裁减区域为客户区域,因为STATIC并不具有真正的dc
//而是其父窗口的dc,所以用裁减来避免画到客户区域外面去
CRgn rgn;
rgn.CreateRectRgn(rc.left,rc.top,rc.right,rc.bottom);
pDC->SelectClipRgn(&rgn);//安全清理
pDC->SelectObject(pOldPen);
pWnd->ReleaseDC(pDC);
{
bStart = FALSE;
}void CAlertStatic::OnTimer(UINT nIDEvent)
{
bStart=!bStart;
Invalidate();
CStatic::OnTimer(nIDEvent);
}void CAlertStatic::StartAlert(BOOL bSt)
{
bStart = bSt;
if(bStart)
{
SetTimer(1,500,NULL);
}
else
{
KillTimer(1);
Invalidate();
}
}void CAlertStatic::OnPaint()
{
CPaintDC dc(this); // device context for painting
if(bStart) dc.SelectStockObject(BLACK_BRUSH);
else
dc.SelectStockObject(WHITE_BRUSH);
CRect rect;
GetClientRect(rect);
dc.Rectangle(rect);
}在对话框类里加按钮消息:
void CAlertDlg::OnButton1()
{
m_Alert.StartAlert(TRUE);
}