背景:
实现类似ps的文字大小缩放功能,Windows下可以通过CRichEditCtrl 3.0的特性实现。
通过发送EM_SETZOOM 和 EM_GETZOOM 消息实现缩放。
可配合CRectTracker。
相关demo代码如下:vc环境
// 字体放大代码
void CTestRicheditDlg::OnBnClickedButton1()
{
m_scale ++;
updateScale();
}
// 字体缩小代码
void CTestRicheditDlg::OnBnClickedButton2()
{
m_scale --;
updateScale();
}
void CTestRicheditDlg::updateScale()
{
m_edit.PostMessage(EM_SETZOOM, m_scale, 100);
}
// 设置选中字体
void CTestRicheditDlg::OnBnClickedButton3()
{
CFontDialog dlg;
if (IDOK == dlg.DoModal()) {
CHARFORMAT cf;
dlg.GetCharFormat(cf);
m_edit.SetSelectionCharFormat(cf);
}
}