⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readtxt.cpp

📁 一个通过PCI卡向LED屏发送股票实时行情的系统
💻 CPP
📖 第 1 页 / 共 4 页
字号:
			m_redleddc1->BitBlt(m_showrect.left,m_showrect.bottom-1-ii,m_showrect.Width(),1,m_redleddc,0,m_showrect.Height()-1-ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left,m_showrect.top+ii,m_showrect.Width(),1,m_greenleddc,0,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left,m_showrect.bottom-1-ii,m_showrect.Width(),1,m_greenleddc,0,m_showrect.Height()-1-ii,SRCCOPY);
			m_led->GetData(m_redledbitmap1,1);
			m_led->GetData(m_greenledbitmap1,2);
			m_led->WriteToLed();
			Sleep(font_s);
		}
		break;
	case 12:
		for(ii=m_showrect.Height()/2;ii>=0;ii--)
		{
			m_dc->BitBlt(m_showrect.left,m_showrect.top+ii,m_showrect.Width(),1,m_memdc,0,ii,SRCCOPY);
			m_dc->BitBlt(m_showrect.left,m_showrect.bottom-1-ii,m_showrect.Width(),1,m_memdc,0,m_showrect.Height()-1-ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left,m_showrect.top+ii,m_showrect.Width(),1,m_redleddc,0,ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left,m_showrect.bottom-1-ii,m_showrect.Width(),1,m_redleddc,0,m_showrect.Height()-1-ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left,m_showrect.top+ii,m_showrect.Width(),1,m_greenleddc,0,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left,m_showrect.bottom-1-ii,m_showrect.Width(),1,m_greenleddc,0,m_showrect.Height()-1-ii,SRCCOPY);
			m_led->GetData(m_redledbitmap1,1);
			m_led->GetData(m_greenledbitmap1,2);
			m_led->WriteToLed();
			Sleep(font_s);
		}
		break;
	case 13:
		for(ii=0;ii<(m_showrect.Height()/2+1);ii++)
		{
			m_dc->BitBlt(m_showrect.left+ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_memdc,ii,ii,SRCCOPY);
			m_dc->BitBlt(m_showrect.right-ii-1,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_memdc,m_showrect.Width()-1-ii,ii,SRCCOPY);
			m_dc->BitBlt(m_showrect.left+ii,m_showrect.top+ii,m_showrect.Width()-2*ii,1,m_memdc,ii,ii,SRCCOPY);
			m_dc->BitBlt(m_showrect.left+ii,m_showrect.bottom-1-ii,m_showrect.Width()-2*ii,1,m_memdc,ii,m_showrect.Height()-1-ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_redleddc,ii,ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.right-1-ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_redleddc,m_showrect.Width()-1-ii,ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,m_showrect.Width()-2*ii,1,m_redleddc,ii,ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left+ii,m_showrect.bottom-1-ii,m_showrect.Width()-2*ii,1,m_redleddc,ii,m_showrect.Height()-1-ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_greenleddc,ii,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.right-1-ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_greenleddc,m_showrect.Width()-1-ii,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,m_showrect.Width()-2*ii,1,m_greenleddc,ii,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left+ii,m_showrect.bottom-1-ii,m_showrect.Width()-2*ii,1,m_greenleddc,ii,m_showrect.Height()-1-ii,SRCCOPY);
			m_led->GetData(m_redledbitmap1,1);
			m_led->GetData(m_greenledbitmap1,2);
			m_led->WriteToLed();
			Sleep(font_s);
		}
		break;
	case 14:
		for(ii=m_showrect.Height()/2;ii>=0;ii--)
		{
			m_dc->BitBlt(m_showrect.left+ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_memdc,ii,ii,SRCCOPY);
			m_dc->BitBlt(m_showrect.right-1-ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_memdc,m_showrect.Width()-1-ii,ii,SRCCOPY);
			m_dc->BitBlt(m_showrect.left+ii,m_showrect.top+ii,m_showrect.Width()-2*ii,1,m_memdc,ii,ii,SRCCOPY);
			m_dc->BitBlt(m_showrect.left+ii,m_showrect.bottom-1-ii,m_showrect.Width()-2*ii,1,m_memdc,ii,m_showrect.Height()-1-ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_redleddc,ii,ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.right-1-ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_redleddc,m_showrect.Width()-1-ii,ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,m_showrect.Width()-2*ii,1,m_redleddc,ii,ii,SRCCOPY);
			m_redleddc1->BitBlt(m_showrect.left+ii,m_showrect.bottom-1-ii,m_showrect.Width()-2*ii,1,m_redleddc,ii,m_showrect.Height()-1-ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_greenleddc,ii,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.right-1-ii,m_showrect.top+ii,1,m_showrect.Height()-2*ii,m_greenleddc,m_showrect.Width()-1-ii,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left+ii,m_showrect.top+ii,m_showrect.Width()-2*ii,1,m_greenleddc,ii,ii,SRCCOPY);
			m_greenleddc1->BitBlt(m_showrect.left+ii,m_showrect.bottom-1-ii,m_showrect.Width()-2*ii,1,m_greenleddc,ii,m_showrect.Height()-1-ii,SRCCOPY);
			m_led->GetData(m_redledbitmap1,1);
			m_led->GetData(m_greenledbitmap1,2);
			m_led->WriteToLed();
			Sleep(font_s);
		}
		break;



	}
	Sleep(font_delay*1000);    
    m_pshowwnd->ReleaseDC(m_dc);

    m_memdc->DeleteDC();
    m_bitmap->DeleteObject();
    delete m_bitmap;
    delete m_memdc;

	m_redleddc->DeleteDC();
    m_redledbitmap->DeleteObject();
    delete m_redledbitmap;
    delete m_redleddc;
	
	m_greenleddc->DeleteDC();
    m_greenledbitmap->DeleteObject();
    delete m_greenledbitmap;
    delete m_greenleddc;

	m_redleddc1->DeleteDC();
    m_redledbitmap1->DeleteObject();
    delete m_redledbitmap1;
    delete m_redleddc1;
	
	m_greenleddc1->DeleteDC();
    m_greenledbitmap1->DeleteObject();
    delete m_greenledbitmap1;
    delete m_greenleddc1;
}

void CShowTxt::ScrollStepByStep()
{
    CRect		rc;
    int		jj;
    CDC* m_dc;
	CDC* m_memdc;
    CBitmap*	m_bitmap;
	CRect m_rc;
	POSITION m_pos;

    CDC* m_redleddc;
    CBitmap*	m_redledbitmap;
    CDC* m_greenleddc;
    CBitmap*	m_greenledbitmap;
    CDC* m_redleddc1;
    CBitmap*	m_redledbitmap1;
    CDC* m_greenleddc1;
    CBitmap*	m_greenledbitmap1;

    m_dc=m_pshowwnd->GetDC();
    m_memdc=new CDC;
    m_memdc->CreateCompatibleDC(m_dc);
    m_bitmap=new CBitmap;
    m_bitmap->CreateCompatibleBitmap(m_dc,m_size.cx,m_size.cy);
    m_memdc->SelectObject(m_bitmap);

    m_redleddc=new CDC;     
    m_redleddc->CreateCompatibleDC(m_dc);
    m_redledbitmap=new CBitmap;
    m_redledbitmap->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_redleddc->SelectObject(m_redledbitmap);
	
	m_greenleddc=new CDC;     
    m_greenleddc->CreateCompatibleDC(m_dc);
    m_greenledbitmap=new CBitmap;
    m_greenledbitmap->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_greenleddc->SelectObject(m_greenledbitmap);
	
    m_redleddc1=new CDC;     
    m_redleddc1->CreateCompatibleDC(m_dc);
    m_redledbitmap1=new CBitmap;
    m_redledbitmap1->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_redleddc1->SelectObject(m_redledbitmap1);
	
	m_greenleddc1=new CDC;     
    m_greenleddc1->CreateCompatibleDC(m_dc);
    m_greenledbitmap1=new CBitmap;
    m_greenledbitmap1->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_greenleddc1->SelectObject(m_greenledbitmap1);

	CBrush m_brush;
	
	m_brush.CreateSolidBrush(RGB(0,0,0));
	m_rc.SetRect(0,0,m_size.cx,m_size.cy);
	m_memdc->FillRect(m_rc,&m_brush);
    m_redleddc1->FillRect(m_rc,&m_brush);
	m_greenleddc1->FillRect(m_rc,&m_brush);

	ToMemDC(m_memdc,FALSE,1,0);
	ToMemDC(m_redleddc,FALSE,1,1);
    ToMemDC(m_greenleddc,FALSE,1,2);
//	if(m_ptopdrawtxt)
//	{
//		ToOneTxtMemDC(m_dc,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top,0,1,TRUE);
//		ToOneTxtMemDC(m_redleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top,1,1,TRUE);
//		ToOneTxtMemDC(m_greenleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top,2,1,TRUE);
//	}
	POSITION pos;

	m_TitleRowNO=0;
	m_BottomRowNO=0;
	for(int iii=0;iii<m_topdrawtxtList.GetCount();iii++)
//	for(int iii=m_topdrawtxtList.GetCount()-1;iii>=0;iii--)
	{
		pos=m_topdrawtxtList.FindIndex(iii);
		m_ptopdrawtxt=(CDrawTxt*)m_topdrawtxtList.GetAt(pos);
		if(m_ptopdrawtxt)
		{
//		ToOneTxtMemDC(m_dc,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top,0,1,1);
//		ToOneTxtMemDC(m_redleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top,1,1,1);
//		ToOneTxtMemDC(m_greenleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top,2,1,1);

			m_TitleRowNO++;
			ToOneTxtMemDC(m_dc,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top+iii*(m_ptopdrawtxt->maxhight+m_ptopdrawtxt->space),0,1,1);
			ToOneTxtMemDC(m_redleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top+iii*(m_ptopdrawtxt->maxhight+m_ptopdrawtxt->space),1,1,1);
			ToOneTxtMemDC(m_greenleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top+iii*(m_ptopdrawtxt->maxhight+m_ptopdrawtxt->space),2,1,1);
		}
	}

	for(iii=0;iii<m_bottomdrawtxtList.GetCount();iii++)
	{
		pos=m_bottomdrawtxtList.FindIndex(iii);
		m_pbottomdrawtxt=(CDrawTxt*)m_bottomdrawtxtList.GetAt(pos);
		if(m_pbottomdrawtxt)
		{
			m_BottomRowNO++;
			ToOneTxtMemDC(m_dc,m_pbottomdrawtxt,m_oldrect.left,m_size.cy-(iii+1)*(m_pbottomdrawtxt->maxhight+m_oldrect.top),0,1,2);
			ToOneTxtMemDC(m_redleddc1,m_pbottomdrawtxt,m_oldrect.left,m_size.cy-(iii+1)*(m_pbottomdrawtxt->maxhight+m_oldrect.top),1,1,2);
			ToOneTxtMemDC(m_greenleddc1,m_pbottomdrawtxt,m_oldrect.left,m_size.cy-(iii+1)*(m_pbottomdrawtxt->maxhight+m_oldrect.top),2,1,2);
		}
	}

	m_rc.SetRect(m_showrect.left,m_showrect.top+1,m_showrect.Width()+m_showrect.left,m_showrect.Height()+m_showrect.top);
	if((m_pos=m_listdrawtxt.GetHeadPosition())!=NULL)
	for(jj=0;jj<((CDrawTxt*)m_listdrawtxt.GetHead())->maxhight+((CDrawTxt*)m_listdrawtxt.GetHead())->space;jj++)
    {
	    m_dc->ScrollDC(0,-1,m_rc,NULL,NULL,NULL);
		
		m_dc->BitBlt(m_showrect.left,m_showrect.bottom-1,m_rc.Width(),1,m_memdc,0,jj,SRCCOPY);
		//m_redleddc1->ScrollDC(0,-1,m_rc,NULL,NULL,NULL);
	    //m_greenleddc1->ScrollDC(0,-1,m_rc,NULL,NULL,NULL);
		m_redleddc1->BitBlt(m_showrect.left,m_showrect.bottom-1,m_rc.Width(),1,m_redleddc,0,jj,SRCCOPY);
		m_greenleddc1->BitBlt(m_showrect.left,m_showrect.bottom-1,m_rc.Width(),1,m_greenleddc,0,jj,SRCCOPY);
		m_led->GetOneData(m_redledbitmap1,1,m_showrect.top,m_showrect.bottom);
		m_led->GetOneData(m_greenledbitmap1,2,m_showrect.top,m_showrect.bottom);
		m_led->WriteToLed();
		Sleep(font_s);
	}
	Sleep(font_delay*1000);
	m_pshowwnd->ReleaseDC(m_dc);

    m_memdc->DeleteDC();
    m_bitmap->DeleteObject();
    delete m_bitmap;
	delete m_memdc;

	m_redleddc->DeleteDC();
    m_redledbitmap->DeleteObject();
    delete m_redledbitmap;
    delete m_redleddc;
	
	m_greenleddc->DeleteDC();
    m_greenledbitmap->DeleteObject();
    delete m_greenledbitmap;
    delete m_greenleddc;

	m_redleddc1->DeleteDC();
    m_redledbitmap1->DeleteObject();
    delete m_redledbitmap1;
    delete m_redleddc1;

	m_greenleddc1->DeleteDC();
    m_greenledbitmap1->DeleteObject();
    delete m_greenledbitmap1;
    delete m_greenleddc1;
}
            

void CShowTxt::ScrollRToL()
{
    CRect		rc;
    int		jj;
    CDC* m_dc;
	CDC* m_memdc;
    CBitmap*	m_bitmap;
	CRect m_rc;
	POSITION m_pos;

    CDC* m_redleddc;
    CBitmap*	m_redledbitmap;
    CDC* m_greenleddc;
    CBitmap*	m_greenledbitmap;
    CDC* m_redleddc1;
    CBitmap*	m_redledbitmap1;
    CDC* m_greenleddc1;
    CBitmap*	m_greenledbitmap1;

    m_dc=m_pshowwnd->GetDC();
    m_memdc=new CDC;
    m_memdc->CreateCompatibleDC(m_dc);
    m_bitmap=new CBitmap;
    m_bitmap->CreateCompatibleBitmap(m_dc,m_size.cx,m_size.cy);
    m_memdc->SelectObject(m_bitmap);

    m_redleddc=new CDC;     
    m_redleddc->CreateCompatibleDC(m_dc);
    m_redledbitmap=new CBitmap;
    m_redledbitmap->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_redleddc->SelectObject(m_redledbitmap);
	
	m_greenleddc=new CDC;     
    m_greenleddc->CreateCompatibleDC(m_dc);
    m_greenledbitmap=new CBitmap;
    m_greenledbitmap->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_greenleddc->SelectObject(m_greenledbitmap);
	
    m_redleddc1=new CDC;     
    m_redleddc1->CreateCompatibleDC(m_dc);
    m_redledbitmap1=new CBitmap;
    m_redledbitmap1->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_redleddc1->SelectObject(m_redledbitmap1);
	
	m_greenleddc1=new CDC;     
    m_greenleddc1->CreateCompatibleDC(m_dc);
    m_greenledbitmap1=new CBitmap;
    m_greenledbitmap1->CreateBitmap(m_size.cx,m_size.cy,1,1,NULL);
    m_greenleddc1->SelectObject(m_greenledbitmap1);

	CBrush m_brush;
	
	m_brush.CreateSolidBrush(RGB(0,0,0));
	m_rc.SetRect(0,0,m_size.cx,m_size.cy);
	m_memdc->FillRect(m_rc,&m_brush);
    m_redleddc1->FillRect(m_rc,&m_brush);
	m_greenleddc1->FillRect(m_rc,&m_brush);

	ToMemDC(m_memdc,TRUE,1,0);
	ToMemDC(m_redleddc,TRUE,1,1);
    ToMemDC(m_greenleddc,TRUE,1,2);
	
	POSITION pos;
	m_TitleRowNO=0;
	m_BottomRowNO=0;

	for(int iii=0;iii<m_topdrawtxtList.GetCount();iii++)
	{
		pos=m_topdrawtxtList.FindIndex(iii);
		m_ptopdrawtxt=(CDrawTxt*)m_topdrawtxtList.GetAt(pos);
		if(m_ptopdrawtxt)
		{
			m_TitleRowNO++;
			ToOneTxtMemDC(m_dc,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top+iii*(m_ptopdrawtxt->maxhight+m_ptopdrawtxt->space),0,1,1);
			ToOneTxtMemDC(m_redleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top+iii*(m_ptopdrawtxt->maxhight+m_ptopdrawtxt->space),1,1,1);
			ToOneTxtMemDC(m_greenleddc1,m_ptopdrawtxt,m_oldrect.left,m_oldrect.top+iii*(m_ptopdrawtxt->maxhight+m_ptopdrawtxt->space),2,1,1);
		}
	}

	for(iii=0;iii<m_bottomdrawtxtList.GetCount();iii++)
	{
		pos=m_bottomdrawtxtList.FindIndex(iii);
		m_pbottomdrawtxt=(CDrawTxt*)m_bottomdrawtxtList.GetAt(pos);
		if(m_pbottomdrawtxt)
		{
			m_BottomRowNO++;
			ToOneTxtMemDC(m_dc,m_pbottomdrawtxt,m_oldrect.left,m_size.cy-(iii+1)*(m_pbottomdrawtxt->maxhight+m_oldrect.top),0,1,2);
			ToOneTxtMemDC(m_redleddc1,m_pbottomdrawtxt,m_oldrect.left,m_size.cy-(iii+1)*(m_pbottomdrawtxt->maxhight+m_oldrect.top),1,1,2);
			ToOneTxtMemDC(m_greenleddc1,m_pbottomdrawtxt,m_oldrect.left,m_size.cy-(iii+1)*(m_pbottomdrawtxt->maxhight+m_oldrect.top),2,1,2);
		}
	}

	int m_cxscreen,m_cxoff=0;

	m_rc.SetRect(m_showrect.left,m_showrect.top,m_showrect.Width()+m_showrect.left,m_showrect.Height()+m_showrect.top);
	m_cxscreen=GetSystemMetrics(SM_CXSCREEN);
	m_cxoff=m_cxscreen-m_showrect.Width();
//	m_cxoff=1024-m_showrect.Width();
	
	if((m_pos=m_listdrawtxt.GetHeadPosition())!=NULL)
	{	
		for(jj=0;jj<Duan_len*font_width;jj+=2)		//wanli
		{
			if( m_cxoff>=0)  
			{	
				m_dc->ScrollDC(-2,0,m_rc,NULL,NULL,NULL);
				m_dc->BitBlt(m_showrect.right-2,m_showrect.top,2,m_showrect.Height(),m_memdc,jj,0,SRCCOPY);
			}
			else
			{	
				m_dc->ScrollDC(-2,0,m_rc,NULL,NULL,NULL);
				m_dc->BitBlt(m_showrect.right-2-jj+m_cxoff,m_showrect.top,jj+2,m_showrect.Height(),m_memdc,0,0,SRCCOPY);
			}
			
			m_redleddc1->BitBlt(m_showrect.right-2,m_showrect.top,2,m_showrect.Height(),m_redleddc,jj,0,SRCCOPY);
			if(m_padd->m_oneortwo)
				m_greenleddc1->BitBlt(m_showrect.right-2,m_showrect.top,2,m_showrect.Height(),m_greenleddc,jj,0,SRCCOPY);

			m_led->GetOneDataRL(m_redledbitmap1,1,m_showrect.top,m_showrect.bottom);
			if(m_padd->m_oneortwo)
				m_led->GetOneDataRL(m_greenledbitmap1,2,m_showrect.top,m_showrect.bottom);
			m_led->WriteToLed();
			Sleep(font_s);
		}
	}
	Sleep(font_delay*1000);
	m_pshowwnd->ReleaseDC(m_dc);

	m_memdc->DeleteDC();
	m_bitmap->DeleteObject();
	delete m_bitmap;
	delete m_memdc;

	m_redleddc->DeleteDC();
	m_redledbitmap->DeleteObject();
	delete m_redledbitmap;
	delete m_redleddc;
	
	m_greenleddc->DeleteDC();
	m_greenledbitmap->DeleteObject();
	delete m_greenledbitmap;
	delete m_greenleddc;
	m_redleddc1->DeleteDC();
	m_redledbitmap1->DeleteObject();
	delete m_redledbitmap1;
	delete m_redleddc1;

	m_greenleddc1->DeleteDC();
	m_greenledbitmap1->DeleteObject();
	delete m_greenledbitmap1;
	delete m_greenleddc1;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -