前面我们介绍了如何加载显示公式列表,本篇章介绍如何格式化显示公式内容:

常用的CEdit或CRichEdit是不支持这种格式显示的。这里需要借助第三方控件SciLexer(没错!Notepad++就是使用的这个控件),它支持不同的文本内容支持不同的颜色,以及文本内容提示和预输入功能,非常强大,如何事情这个控件,前面有单独的篇章介绍,这里就不再赘述了。

控件基本属性设置:

    std::unique_ptr<CScintillaCtrl> m_pEdit;m_pEdit = std::make_unique<CScintillaCtrl>();const CRect rcWindow;if (!m_pEdit->CreateFromWnd(IDC_TEXT_FORMULA, this))return ;// 设置全局风格m_pEdit->StyleSetFore(STYLE_DEFAULT, globalSetting.m_clr[EC_TEXT][EK_CLOLOR]);//普通文本m_pEdit->StyleSetFont(STYLE_DEFAULT, "Fixedsys");//默认字体名称m_pEdit->StyleSetSize(STYLE_DEFAULT, 11);//默认字体大小m_pEdit->StyleSetBold(STYLE_DEFAULT, FALSE);m_pEdit->SetCodePage(SC_CP_UTF8);//设置编码为UTF-8m_pEdit->UsePopUp(SC_POPUP_NEVER);m_pEdit->StyleClearAll();//语法解析 m_pEdit->SetLexer(SCLEX_META);//自定义Meta语法解析器m_pEdit->SetKeyWords(0, globalFormula.m_pszIndicatorsFuncNames);//设置关键字-指标函数m_pEdit->SetKeyWords(1, globalFormula.m_pszInlineFuncNames);//设置关键字-内置函数// 下面设置各种语法元素风格m_pEdit->StyleSetFore(SCE_META_WORD, globalSetting.m_clr[EC_INDICATOR][EK_CLOLOR]);//关键字-指标m_pEdit->StyleSetBold(SCE_META_WORD, FALSE);//关键字-粗体m_pEdit->StyleSetFore(SCE_META_WORD2, globalSetting.m_clr[EC_FUNCTION][EK_CLOLOR]);//关键字-函数m_pEdit->StyleSetBold(SCE_META_WORD2, FALSE);//关键字-粗体m_pEdit->SetSelBack(TRUE, globalSetting.m_clr[EC_SELBACK][EK_CLOLOR]);//选中背景颜色m_pEdit->SetSelFore(TRUE, globalSetting.m_clr[EC_SELTEXT][EK_CLOLOR]);//选中文本颜色SetAStyle(SCE_META_COMMENT, globalSetting.m_clr[EC_COMMENT][EK_CLOLOR]);//块注释SetAStyle(SCE_META_COMMENTLINE, globalSetting.m_clr[EC_COMMENT][EK_CLOLOR]);//行注释SetAStyle(SCE_META_NUMBER, globalSetting.m_clr[EC_NUMBER][EK_CLOLOR]);//数字SetAStyle(SCE_META_STRING, globalSetting.m_clr[EC_STRING][EK_CLOLOR]);//字符串SetAStyle(SCE_META_CHARACTER, globalSetting.m_clr[EC_STRING][EK_CLOLOR]);//字符 SetAStyle(SCE_META_OPERATOR, globalSetting.m_clr[EC_TEXT][EK_CLOLOR]);//操作符m_pEdit->SetMarginTypeN(0, SC_MARGIN_NUMBER);//设置编号为0的页边显示行号m_pEdit->SetMarginWidthN(0, 0);//设置页边宽度,默认宽度为0,即不显示行号m_pEdit->SetMarginSensitiveN(0, FALSE); //设置页边是否接受鼠标点击事件m_pEdit->SetMarginTypeN(0, SC_MARGIN_NUMBER);//设置编号为0的页边显示行号m_pEdit->StyleSetFore(STYLE_LINENUMBER, globalSetting.m_clr[EC_LINENO][EK_CLOLOR]);//普通文本m_pEdit->StyleSetBack(STYLE_LINENUMBER, globalSetting.m_clr[EC_LINENOBACK][EK_CLOLOR]);//普通文本m_pEdit->SetMarginWidthN(1, SC_MARGIN_SYMBOL);//用于显示公式错误符号m_pEdit->SetScintillaProperty(_T("fold"), _T("0"));//启用代码折叠功能 1-启用 0-不启用m_pEdit->AutoCSetSeparator(10);m_pEdit->SetMouseDwellTime(1000);m_pEdit->SetMultipleSelection(TRUE);//提示框背景和文字颜色m_pEdit->CallTipSetFore(RGB(0, 0, 0));m_pEdit->CallTipSetBack(RGB(0xFF, 0xFF, 0xD8));//当前行高亮显示m_pEdit->SetCaretLineVisible(TRUE);m_pEdit->SetCaretLineBack(RGB(0xFF, 0xFF, 0xD8));//TAB宽度由默认的8改为4m_pEdit->SetTabWidth(4);

VC++ 源码实现通达信公式管理器2相关推荐

  1. ​通达信量比捉牛股指标源码​_通达信公式

    JL5:=MA(V,5);     LB:=DYNAINFO(17);     历史量比:IF(DYNAINFO(4)=OANDDYNAINFO(5)=HANDDYNAINFO(6)=LANDDYNA ...

  2. 麟龙指标通达信指标公式源码_通达信指标公式源码单阳不破主图指标公式

    做价值的传播者,一路同行,一起成长 问题:怎样才能每天都收到这类文章! 答案:只需点击上方<通达信公式指标> {通达信单阳不破}MA30: MA(C,30 ),COLORGREEN;MA3 ...

  3. 麟龙指标通达信指标公式源码_通达信指标公式源码波段极限副图源码

    做价值的传播者,一路同行,一起成长 问题:怎样才能每天都收到这类文章! 答案:只需点击上方<通达信公式指标> {买卖公式} AA:=(2*C+HIGH+LOW)/4; BB:=AA-REF ...

  4. 底量超顶量超级大黑马指标源码_通达信最准的买卖指标,超准短线暴涨指标源码...

    内容导航: Q1:通达信哪个抄底指标公式最准准确 所有指标包括kd macd均线,是根据已有价格计算得出,看指标落后于看价格分析,也就是k线.而价格是根据成交量变化,看k线分析落后看成交量分析,而成交 ...

  5. 麟龙指标通达信指标公式源码_通达信麟龙指标套二主图+副图指标 贴图

    好股票软件下载网(www.goodgupiao.com)提示:您正在下载的是:通达信麟龙指标套二主图+副图指标 贴图 麟龙指标是我以前和谐的,跟现在的麟龙至尊版有所区别,我把源码也公布出来,大家能用则 ...

  6. 麟龙指标通达信指标公式源码_通达信指标公式源码神龙指标公式

    DRAWGBK(O>C,RGB(160,32,240),RGB(56,94,15),0,'背景图',0);A01:=(WINNER((CLOSE*1))*100.000);A02:=(WINNE ...

  7. 量化指标公式源码_通达信指标公式源码线上阴线指标公式

    工作线:(EMA(C,14)),POINTDOT,LINETHICK3,COLOR22ACDE;生命线:(MA(C,25)),LINETHICK1,COLORMAGENTA;不惑线:(MA(C,40) ...

  8. 2018通达信l2服务器源码,分享通达信(L2) 主力资金线/主力资金流向 源码

    分享通达信(L2) 主力资金线/主力资金流向 源码 2018-12-26 仿大智慧做的资金线和资金流,新手小试牛刀,做得不好请高手指点修改. 通达信源码 {主力资金线} EYE:=(LARGEINTR ...

  9. 主力吸筹猛攻指标源码_通达信偷偷连续吸筹指标,主力吸筹猛攻指标源码

    通达信偷偷连续吸筹指标,主力吸筹猛攻指标源码: C5周:CCI(25),COLORSTICK,COLORYELLOW; 生命CCI线:=CCI(84),COLORWHITE; 底部线:=-100.00 ...

  10. c iostream.源码_通达信常用指标:「金手指 」指标源码

    通达信常用指标:[金手指 ]指标源码 强弱:=IF(C>=MA(C,18) AND (MA(C,18)>=REF(MA(C,18),1) OR (MA(C,18)<REF(MA(C, ...

最新文章

  1. 失败 安装scikit_scikit-learn0.22版本最新发布
  2. android 融云会话列表,为什么切换账号之后会话列表不刷新,还显示上一个帐号的内容?...
  3. java中catalina.out_如何控制Tomcat的catalina.out的大小
  4. streamsets rest api 转换 graphql
  5. 神经网络中Batch和Epoch之间的区别
  6. 一个程序员的逗逼瞬间(一)
  7. 各种排序总结(三)堆排序
  8. Camera 初始化(Preview) 一(Framework-HAL3)
  9. pb9 调用系统语音_语音通知解决方案,VIKI语音通知软件介绍
  10. 液相色谱质谱联用市场现状及未来发展趋势
  11. yaffs2文件系统结构及应用
  12. 《隐姓亿万富翁》读后感
  13. esp笔记(4)esp8266 连接路由器
  14. packet tracer 学习ARP报文请求
  15. getchar 和 getch区别
  16. FutureTask源码解析(2)——深入理解FutureTask 1
  17. 西铁城s621c打印机调试说明,西铁城CL-S621CII驱动
  18. springcloud springboot nacos版本对应
  19. PageHelper这种情况下有坑
  20. XPE优势与常见问题二

热门文章

  1. C-CCSK云计算安全知识认证
  2. 使用太乐地图下载器下载百度地图切片
  3. 将sql server 2000的备份文件导入到sql server 2012中
  4. python bin文件转换成txt文件
  5. windows 下MinGW的选择和安装笔记
  6. jsp网页视频播放器
  7. Oracle优化新常态 前半生
  8. 计算机组成原理奉远祯,计算机组成原理笔记.doc
  9. C语言在当代人工智能背景下的作用,人工智能c语言新手入门
  10. 自我介绍html模板王,一分钟自我介绍模板范文15篇