CRichEditCtrl使用CHARFORMAT結構設定字型

來源:互聯網
上載者:User
轉載自:http://paisun.blog.163.com/blog/static/20371602220125810461439/編輯框為CRichEditCtrl,在CWinApp中的InitInstance中添加AfxInitRichEdit2方法,然後使用CHARFORMAT這個結構設定字型風格與顏色, 在對話方塊上放置CRichEditCtrl,然後為對話方塊類關聯變數m_RichEditCtrl

int i=1; //第二行行號
int start=m_RichEditCtrl.LineIndex(i); //第二行開始的索引號
int end=m_RichEditCtrl.LineIndex(i+1); //第三行開始的索引號

m_RichEditCtrl.SetSel(start,end);//全選第二行文本
CHARFORMAT cf;  

m_RichEditCtrl.GetSelectionCharFormat(cf);  

cf.dwMask|=CFM_BOLD;  

cf.dwEffects|=CFE_BOLD;//設定粗體,取消用cf.dwEffects&=~CFE_BOLD;  

cf.dwMask|=CFM_ITALIC;  

cf.dwEffects|=CFE_ITALIC;//設定斜體,取消用cf.dwEffects&=~CFE_ITALIC;  

cf.dwMask|=CFM_UNDERLINE;  

cf.dwEffects|=CFE_UNDERLINE;//設定斜體,取消用cf.dwEffects&=~CFE_UNDERLINE;  

cf.dwMask|=CFM_COLOR;  

cf.crTextColor = RGB(255,0,0);//設定顏色  

cf.dwMask|=CFM_SIZE;  

cf.yHeight =200;//設定高度  

cf.dwMask|=CFM_FACE;  

strcpy(cf.szFaceName ,_T("隸書"));//設定字型
m_RichEditCtrl.SetSelectionCharFormat(cf);  

可以用這樣來設定
CHARFORMAT cf;
ZeroMemory(&cf, sizeof(CHARFORMAT));
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |
CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
cf.dwEffects = 0;
cf.yHeight = 16*16;//文字高度

if(nhight>0)
cf.crTextColor = RGB(255,0,0); //文字顏色
//else
// cf.crBackColor = RGB(0,255,0); //文字顏色
strcpy(cf.szFaceName ,_T("Arial"));//設定字型

//m_richedit1.SetSel(1, 5); //設定處理地區
this->SetSelectionCharFormat(cf);
this->ReplaceSel(strLine);
this->ReplaceSel("\n");

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.