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

📄 screenview.cpp

📁 任意点阵字模生成软件源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			CString s;
			s.Format("%02x  ", (char*)wParam);
			TRACE(s);
			if(CL2005_SendNum>=18)
			{
				CL2005_Answer=2;
				CL2005_SendNum=0;
				pComm->SendBlock(ind2,18);
				return 0;
			}
		}
		if(CL2005_Answer==1)
		{
			CL2005_SendChar[CL2005_SendNum]=wParam;
			CL2005_SendNum++;
			CString s;
			s.Format("%02x  ", (char*)wParam);
			TRACE(s);
			if(CL2005_SendChar[7]=='O' && CL2005_SendChar[8]=='K' && CL2005_SendNum>=9)
			{
				CL2005_Answer=2;
				CL2005_SendNum=0;
				pComm->SendBlock(ind2,18);
				return 0;
			}
		}
		if(CL2005_Answer==2)
		{
			CL2005_SendChar[CL2005_SendNum]=wParam;
			CL2005_SendNum++;
			CString s;
			s.Format("%02x  ", (char*)wParam);
			TRACE(s);
			if(CL2005_SendNum>=9)
			{	
				if(CL2005_SendChar[7]=='O' && CL2005_SendChar[8]=='K'  && CL2005_SendNum>=9)
				{
					CL2005_Answer=3;
					CL2005_SendNum=0;
					m_SendToCl2005PicIndex=0;
					m_CL2005_PicAnswer=0;
					m_iPic=0;
					pComm->SendBlock(ind3[m_iPic],145);
					return 0;
				}
			}
		}
		if(CL2005_Answer==3)
		{
			//while(m_iPic<16)
			{
/*				if(m_CL2005_PicAnswer==0)
				{
					pComm->SendBlock(ind3[m_iPic],145);
					m_CL2005_PicAnswer=1;
				}
				else if(m_CL2005_PicAnswer==1)*/
				{
					CL2005_SendChar[CL2005_SendNum]=wParam;
					CL2005_SendNum++;
					CString s;
					s.Format("%02x  ", (char*)wParam);
					TRACE(s);
						if(CL2005_SendChar[7]=='O' && CL2005_SendChar[8]=='K'  && CL2005_SendNum>=9)
						{
							m_CL2005_PicAnswer=0;
							CL2005_SendNum=0;
							m_iPic++;
							if(m_iPic>=32)
							{
								CL2005_Answer=4;
								m_CL2005_PicAnswer=0;
								CL2005_SendNum=0;
								pComm->SendBlock(ind5,3*91);
								return 0;
							}

							pComm->SendBlock(ind3[m_iPic],145);
							return 0;
						//	pComm->SendBlock(ind2,18);
						}
				}
			}
		}
		if(CL2005_Answer==4)
		{
			CL2005_SendChar[CL2005_SendNum]=wParam;
			CL2005_SendNum++;
			CString s;
			s.Format("%02x  ", (char*)wParam);
			TRACE(s);
			if(CL2005_SendChar[7]=='O' && CL2005_SendChar[8]=='K'  && CL2005_SendNum>=9)
			{
				m_iPic=0;
			//	for(int k=0;k<3;k++)
				CL2005_Answer=5;
				CL2005_SendNum=0;
					pComm->SendBlock(ind6,18);
				return 0;
			}
		}
		
/*		if(CL2005_Answer==5)
		{
			CL2005_SendChar[CL2005_SendNum]=wParam;
			CL2005_SendNum++;
			CString s;
			s.Format("%02x  ", (char*)wParam);
			TRACE(s);
			if(CL2005_SendChar[7]=='O' && CL2005_SendChar[8]=='K'  && CL2005_SendNum>=9)
			{
				m_iPic=0;
			//	for(int k=0;k<3;k++)
				CL2005_Answer=6;
				CL2005_SendNum=0;
				pComm->SendBlock(ind6,18);
				return 0;
			}
		}
	*/
		if(CL2005_Answer==5)
		{
			CL2005_SendChar[CL2005_SendNum]=wParam;
			CL2005_SendNum++;
			CString s;
			s.Format("%02x  ", (char*)wParam);
			TRACE(s);
			if(CL2005_SendChar[7]=='O' && CL2005_SendChar[8]=='K'  && CL2005_SendNum>=9)
			{
				CL2005_Answer=16;
				CL2005_SendNum=0;
				AfxMessageBox("发送成功");
			}
		}



	}		
		datread[readindex]=wParam;
		readindex++;
	return 1;
}

void CScreenView::OnRButtonDown(UINT nFlags, CPoint point) 
{
/*	CMenu* pPopupMenu=new CMenu;
	pPopupMenu->LoadMenu(IDR_POPUPMENU);
	CMenu* pMenuA=pPopupMenu->GetSubMenu(0);
	CRect rc;
	GetWindowRect(&rc);
	point.x=rc.left+point.x;
	point.y=rc.top+point.y;
	pMenuA->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
	delete pPopupMenu;*/
	CFormView::OnRButtonDown(nFlags, point);
}






BOOL CScreenView::OnEraseBkgnd(CDC* pDC) 
{
	// TODO: Add your message handler code here and/or call default
//	return TRUE;
	return CFormView::OnEraseBkgnd(pDC);
}

void CScreenView::DrawScreen()
{
CRect rc;
CStatic* pStatic=(CStatic*)GetDlgItem(IDC_PREVIEW);
pStatic->GetWindowRect(&rc);
ScreenToClient(&rc);
		InvalidateRect(rc,0);//(0);

}

BOOL CScreenView::AddPageList(CString pagename)
{
	CWnd* pMainWnd=AfxGetApp()->m_pMainWnd;
	CMainFrame* pMainFrame=(CMainFrame*)pMainWnd;
	CDrawVw* pDrawVw=(CDrawVw*)pMainFrame->m_wndSplit2.GetPane(0,1);
	pagename.TrimLeft();
	pagename.TrimRight();
	if(m_PageListBox.GetCount()>=pagenum)
	{
		AfxMessageBox("页数已达到内存极限,不能添加");
		return 0;
	}
	if(pagename=="")
	{
		AfxMessageBox("不能为空");
		return 0;
	}
	for(int i=0;i<m_PageListBox.GetCount();i++)
	{
		CString rString;
		m_PageListBox.GetText(i,rString);
		if(rString==pagename)
		{
			AfxMessageBox("添加项不能重复!");
			return 0;
		}
	}

	CString str;
		pMainFrame->m_wndToolBarDraw.m_screenWidth.GetWindowText(str);
		int screenwidth=atoi(str);
		if(screenwidth<=0)
		{
			AfxMessageBox("屏高不能为0");
			return 0;
		}
		pMainFrame->m_wndToolBarDraw.m_screenHeight.GetWindowText(str);
		int screenheight=atoi(str);
		if(screenheight<=0)
		{
			AfxMessageBox("屏宽不能为0");
			return 0;
		}
	m_PageListBox.AddString(pagename);
	POSITION pagepos = GetDocument()->m_pageList.GetTailPosition();//m_ZkObList.GetHeadPosition();
	CStagementObj* pStagementObj=new CStagementObj;
	pStagementObj->strName=pagename;
	GetDocument()->m_pageList.AddTail(pStagementObj);
	GetDocument()->pCurStagementObj=pStagementObj;

		GetDocument()->pCurStagementObj->screenwidth=screenwidth;
		GetDocument()->pCurStagementObj->screenheight=screenheight;
	bReDraw=TRUE;

	m_PageListBox.SetCurSel(m_PageListBox.GetCount()-1);
	pDrawVw->FirstCalc();
	return 1;
}

BOOL CScreenView::AddWordToPage(CString wordstr,int screenWidth, int screenHeight, int wordWidth, int wordHeight, CString fontStr)
{
	CWnd* pMainWnd=AfxGetApp()->m_pMainWnd;
	CMainFrame* pMainFrame=(CMainFrame*)pMainWnd;
	CObject* pstageObject;
	CObject* pwordObject;
	int preleft,pretop;
	CString ts;
	CRect mrc;
	GetClientRect(&mrc);
//	int maxcount=mrc.Width()/(fWidth*dis);
//	shownum=0;
	preleft=0;
	pretop=0;
//	m_maxheight=0;
	if(GetDocument()->pCurStagementObj==NULL)
		return 0;
	POSITION wordpos = GetDocument()->pCurStagementObj->wordList.GetHeadPosition();//m_ZkObList.GetHeadPosition();
//CZkObject* pZkObject;
//CObject* pObject;
    for(int i=0;i<wordstr.GetLength();i++)
	{
		char c=wordstr.GetAt(i);
		if(c<0||c>255)
		{
			ts=wordstr.Mid(i,2);
			i+=1;
		}
		else
		{
			ts=wordstr.Mid(i,1);
		}
//		m_row=shownum/maxcount;
//		m_col=shownum%maxcount;
		CWordObj* pWordObj=new CWordObj();
		if(wordWidth>0)
			pWordObj->m_width=wordWidth;
		else
			pWordObj->m_width=16;
		if(wordHeight>0)
			pWordObj->m_height=wordHeight;
		else
			pWordObj->m_height=16;
		int trueWidth;
		if(c>=0&& c<=255)
			trueWidth=pWordObj->m_width/2;
		else
			trueWidth=pWordObj->m_width;
		if(preleft+trueWidth>screenWidth)
		{
			preleft=0;
			pretop+=pWordObj->m_height;
		}
		pWordObj->left=preleft;
		preleft+=trueWidth;
		pWordObj->top=pretop;
		pWordObj->m_color=RGB(255,0,0);
		pWordObj->m_font="宋体";
		GetDocument()->pCurStagementObj->wordList.

⌨️ 快捷键说明

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