📄 coloreditdoc.cpp
字号:
} while (count == sizeof(buffer)-1);
} catch (...) {
m_text.EndUpdate();
return FALSE;
}
m_text.EndUpdate(0, m_text.GetLength());
bar.SetPos(80);
CheckPoint();
bar.SetPos(100);
return TRUE;
}
BOOL CColorEditDoc::OnSaveDocument(LPCTSTR lpszPathName)
{
try {
CStdioFile file(lpszPathName, CFile::modeCreate | CFile::modeWrite | CFile::typeText);
file.WriteHuge(m_text, m_text.GetLength());
} catch (...) {
return FALSE;
}
return TRUE;
}
long CColorEditDoc::GetLineCount()
{
return m_text.GetLineCount();
}
long CColorEditDoc::GetLineOffset(long index)
{
return m_text.GetLineOffset(index);
}
TCHAR CColorEditDoc::GetAt(long pos)
{
return m_text.GetAt(pos);
}
COLORREF CColorEditDoc::GetColor(long pos)
{
return m_text.GetColor(pos);
}
long CColorEditDoc::GetLength()
{
return m_text.GetLength();
}
CString CColorEditDoc::GetLine(long index)
{
return m_text.GetLine(index);
}
long CColorEditDoc::Offset2Line(long offset)
{
return m_text.Offset2Line(offset);
}
CString CColorEditDoc::Range(long start, long end)
{
return m_text.Mid(start, end-start);
}
void CColorEditDoc::KeywordsSettings()
{
//m_text.AddComment(_T("/*"), _T("*/"));
m_text.AddComment(_T("//"), _T("\n"),RGB(255, 0,0));
//m_text.AddQuote(_T("\""), _T("\""), RGB(150, 200, 200));//RGB(150, 200, 200)
m_text.AddQuote(_T("\""), _T("\""), RGB(255, 0,0));
///////////////////////////////////////////////////////
m_text.AddKeyword(_T("static"),KeywordColor);
m_text.AddKeyword(_T("const"),KeywordColor);
m_text.AddKeyword(_T("char"),KeywordColor);
m_text.AddKeyword(_T("short"),KeywordColor);
m_text.AddKeyword(_T("unsigned"),KeywordColor);
m_text.AddKeyword(_T("void"),KeywordColor);
m_text.AddKeyword(_T("long"),KeywordColor);
m_text.AddKeyword(_T("int"),KeywordColor);
m_text.AddKeyword(_T("float"),KeywordColor);
m_text.AddKeyword(_T("double"),KeywordColor);
m_text.AddKeyword(_T("struct"),KeywordColor);
m_text.AddKeyword(_T("typedef"),KeywordColor);
m_text.AddKeyword(_T("class"),KeywordColor);
m_text.AddKeyword(_T("public"),KeywordColor);
m_text.AddKeyword(_T("private"),KeywordColor);
m_text.AddKeyword(_T("protected"),KeywordColor);
m_text.AddKeyword(_T("for"),KeywordColor);
m_text.AddKeyword(_T("while"),KeywordColor);
m_text.AddKeyword(_T("do"),KeywordColor);
m_text.AddKeyword(_T("if"),KeywordColor);
m_text.AddKeyword(_T("else"),KeywordColor);
m_text.AddKeyword(_T("switch"),KeywordColor);
m_text.AddKeyword(_T("case"),KeywordColor);
m_text.AddKeyword(_T("break"),KeywordColor);
m_text.AddKeyword(_T("continue"),KeywordColor);
m_text.AddKeyword(_T("return"),KeywordColor);
m_text.AddKeyword(_T("this"),KeywordColor);
m_text.AddKeyword(_T("new"),KeywordColor);
m_text.AddKeyword(_T("delete"),KeywordColor);
m_text.AddKeyword(_T("sizeof"),KeywordColor);
//预编译指令的颜色设置
m_text.AddKeyword(_T("#define"));
m_text.AddKeyword(_T("#include"));
m_text.AddKeyword(_T("#ifdef"));
m_text.AddKeyword(_T("#ifndef"));
m_text.AddKeyword(_T("#endif"));
m_text.AddKeyword(_T("define"));
m_text.AddKeyword(_T("#else"));
m_text.AddKeyword(_T("#elseif"));
m_text.AddKeyword(_T("#undef"));
///////////// PMAC 卡的自带关键字颜色设置
m_text.AddKeyword(_T("ABS"),PmacKeywordColor);
m_text.AddKeyword(_T("ADDRESS"), PmacKeywordColor);
m_text.AddKeyword(_T("ADIS"), PmacKeywordColor);
m_text.AddKeyword(_T("AND"), PmacKeywordColor);
m_text.AddKeyword(_T("AROT"), PmacKeywordColor);
m_text.AddKeyword(_T("B"), PmacKeywordColor);
m_text.AddKeyword(_T("BLOCKSTART"), PmacKeywordColor);
m_text.AddKeyword(_T("BLOCKSTOP"), PmacKeywordColor);
m_text.AddKeyword(_T("C"), PmacKeywordColor);
m_text.AddKeyword(_T("CALL"), PmacKeywordColor);
m_text.AddKeyword(_T("CC0"), PmacKeywordColor);
m_text.AddKeyword(_T("CC1"), PmacKeywordColor);
m_text.AddKeyword(_T("CC2"), PmacKeywordColor);
m_text.AddKeyword(_T("CCR"), PmacKeywordColor);
m_text.AddKeyword(_T("CIRCLE1"), PmacKeywordColor);
m_text.AddKeyword(_T("CIRCLE2"), PmacKeywordColor);
m_text.AddKeyword(_T("COMMAND"), PmacKeywordColor);
m_text.AddKeyword(_T("COMMAND^"), PmacKeywordColor);
m_text.AddKeyword(_T("D"), PmacKeywordColor);
m_text.AddKeyword(_T("DELAY"), PmacKeywordColor);
m_text.AddKeyword(_T("DISABLEPLC"), PmacKeywordColor);
m_text.AddKeyword(_T("DISABLEPLCC"), PmacKeywordColor);
m_text.AddKeyword(_T("DISPLAY"), PmacKeywordColor);
m_text.AddKeyword(_T("DWELL"), PmacKeywordColor);
m_text.AddKeyword(_T("ELSE"), PmacKeywordColor);
m_text.AddKeyword(_T("ENABLEPLC"),PmacKeywordColor);
m_text.AddKeyword(_T("ENABLEPLCC"), PmacKeywordColor);
m_text.AddKeyword(_T("ENDIF"),PmacKeywordColor);
m_text.AddKeyword(_T("ENDWHILE"), PmacKeywordColor);
m_text.AddKeyword(_T("F"), PmacKeywordColor);
m_text.AddKeyword(_T("FRAX"), PmacKeywordColor);
m_text.AddKeyword(_T("G"), PmacKeywordColor);
m_text.AddKeyword(_T("GOSUB"), PmacKeywordColor);
m_text.AddKeyword(_T("GOTO"), PmacKeywordColor);
m_text.AddKeyword(_T("HOME"), PmacKeywordColor);
m_text.AddKeyword(_T("HOMEZ"), PmacKeywordColor);
m_text.AddKeyword(_T("I"), PmacKeywordColor);
m_text.AddKeyword(_T("IDIS"), PmacKeywordColor);
m_text.AddKeyword(_T("INC"), PmacKeywordColor);
m_text.AddKeyword(_T("IROT"), PmacKeywordColor);
m_text.AddKeyword(_T("J"), PmacKeywordColor);
m_text.AddKeyword(_T("K"), PmacKeywordColor);
m_text.AddKeyword(_T("LINEAR"), PmacKeywordColor);
m_text.AddKeyword(_T("M"), PmacKeywordColor);
m_text.AddKeyword(_T("MACROAUXREAD"), PmacKeywordColor);
m_text.AddKeyword(_T("N"), PmacKeywordColor);
m_text.AddKeyword(_T("NORMAL"), PmacKeywordColor);
m_text.AddKeyword(_T("O"), PmacKeywordColor);
m_text.AddKeyword(_T("OR"),PmacKeywordColor);
m_text.AddKeyword(_T("P"), PmacKeywordColor);
m_text.AddKeyword(_T("PRELUDE"), PmacKeywordColor);
m_text.AddKeyword(_T("PSET"), PmacKeywordColor);
m_text.AddKeyword(_T("PVT"), PmacKeywordColor);
m_text.AddKeyword(_T("Q"), PmacKeywordColor);
m_text.AddKeyword(_T("R"), PmacKeywordColor);
m_text.AddKeyword(_T("RAPID"), PmacKeywordColor);
m_text.AddKeyword(_T("READ"), PmacKeywordColor);
m_text.AddKeyword(_T("RETURN"), PmacKeywordColor);
m_text.AddKeyword(_T("S"), PmacKeywordColor);
m_text.AddKeyword(_T("SEND"), PmacKeywordColor);
m_text.AddKeyword(_T("SEND^"), PmacKeywordColor);
m_text.AddKeyword(_T("SPLINE1"), PmacKeywordColor);
m_text.AddKeyword(_T("SPLINE2"), PmacKeywordColor);
m_text.AddKeyword(_T("STOP"), PmacKeywordColor);
m_text.AddKeyword(_T("T"), PmacKeywordColor);
m_text.AddKeyword(_T("TA"), PmacKeywordColor);
m_text.AddKeyword(_T("TINIT"), PmacKeywordColor);
m_text.AddKeyword(_T("TM"), PmacKeywordColor);
m_text.AddKeyword(_T("TS"), PmacKeywordColor);
m_text.AddKeyword(_T("TSELECT"), PmacKeywordColor);
m_text.AddKeyword(_T("U"), PmacKeywordColor);
m_text.AddKeyword(_T("V"), PmacKeywordColor);
m_text.AddKeyword(_T("W"), PmacKeywordColor);
m_text.AddKeyword(_T("WAIT"), PmacKeywordColor);
m_text.AddKeyword(_T("WHILE"), PmacKeywordColor);
m_text.AddKeyword(_T("X"), PmacKeywordColor);
m_text.AddKeyword(_T("Y"), PmacKeywordColor);
m_text.AddKeyword(_T("Z"), PmacKeywordColor);
//////////////////////// P 变量颜色的设置
CString p_variable;
char Pvariable[10];
for(int n=0;n<1024;n++){
p_variable="P"+ (CString)itoa(n,Pvariable,10);
m_text.AddKeyword(p_variable, PVariableColor);
}
//////////////////////////// Q 变量颜色的设置
CString q_variable;
char Qvariable[10];
for(int j=0;j<1024;j++){
q_variable="Q"+ (CString)itoa(j,Qvariable,10);
m_text.AddKeyword(q_variable, QVariableColor);
}
//////////////////////////// I 变量颜色的设置
CString i_variable;
char Ivariable[10];
for(int k=0;k<1024;k++){
i_variable="I"+ (CString)itoa(k,Ivariable,10);
m_text.AddKeyword(i_variable, IVariableColor);
}
//////////////////////////// M 变量颜色的设置
CString m_variable;
char Mvariable[10];
for(int i=0;i<1024;i++){
m_variable="M"+ (CString)itoa(i,Mvariable,10);
m_text.AddKeyword(m_variable, MVariableColor);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -