richedit缩放
要使文本在richedit控件上进行放大缩小,可以通过设置字体的大小,从而来达到缩放文本的目的。
下面是一个例子:通过调整滚动条,从而控制richedit文本缩放。
程序运行结果如下:
首先在对话框的InitInstance函数中初始化richedit, 对话框才能显示出来
AfxInitRichEdit();
之后处理滚动条响应函数,从而来调整字体大小,实现缩放效果。
//滚动条响应函数 void CRichEditDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default if(NULL != pScrollBar) { //获取滚动条ID int nSliderId = pScrollBar->GetDlgCtrlID(); if(IDC_SLIDER1 == nSliderId) { CString strSliderPos = ""; //获取滚动条位置 int nSliderPos = m_SliderCtrl.GetPos(); strSliderPos.Format("%d", nSliderPos); //选择RichEdit中头两个字符 m_RichEdit.SetSel(0, 2); CHARFORMAT stCharFormat; m_RichEdit.GetSelectionCharFormat(stCharFormat); stCharFormat.dwMask |= CFM_SIZE; //每次滚动条被触发,调整字体高度 stCharFormat.yHeight = nSliderPos * 3; m_RichEdit.SetSelectionCharFormat(stCharFormat); m_SliderPos.SetWindowText(strSliderPos); } } CDialog::OnHScroll(nSBCode, nPos, pScrollBar); }