📄 screenview.cpp
字号:
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 + -