之前你发过一个帖子,是对文本单元格调整字体大小,这个是可以做到的
但是对应富文本格式,你需要去调整这个富文本本身编码中的字体大小,没有办法通过spread本身来完成,不过仍然可以套用一部分之前那的方法
- private class CRTextCellType : FarPoint.Win.Spread.CellType.RichTextCellType
- {
- public override void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, object value, bool isSelected, bool isLocked, float zoomFactor)
- {
- {
- if (value != null)
- {
- System.Drawing.Font font = appearance.Font;
- while ((g.MeasureString(value.ToString(), font).Width >= r.Width|| g.MeasureString(value.ToString(), font).Height >= r.Height) && font.Size >= 5)
- {
- //在这里来改变RTF本身的字体大小,这个无法通过spread控件设置,将改变后的rtf重新赋值给spread单元格再继续判断
- }
- appearance.Font = font;
- }
- base.PaintCell(g, r, appearance, value, isSelected, isLocked, zoomFactor);
- }
- }
- }
复制代码
|