public override int GetMatchStyleNo(HCStyle AStyle, int ACurStyleNo) { int Result = HCStyle.Null; if (AStyle.TextStyles[ACurStyleNo].BackColor == FColor) { Result = ACurStyleNo; return(Result); } HCTextStyle vTextStyle = new HCTextStyle(); try { vTextStyle.AssignEx(AStyle.TextStyles[ACurStyleNo]); // item当前的样式 vTextStyle.BackColor = FColor; if (this.OnTextStyle != null) { this.OnTextStyle(ACurStyleNo, ref vTextStyle); } Result = AStyle.GetStyleNo(vTextStyle, true); // 新样式编号 } finally { vTextStyle.Dispose(); } return(Result); }
public override int GetMatchStyleNo(HCStyle AStyle, int ACurStyleNo) { int Result = HCStyle.Null; HCTextStyle vTextStyle = new HCTextStyle(); try { vTextStyle.AssignEx(AStyle.TextStyles[ACurStyleNo]); // item当前的样式 if (this.Append) { if (!vTextStyle.FontStyles.Contains((byte)FFontStyle)) { // 不能同时为上标和下标 if (FFontStyle == HCFontStyle.tsSuperscript) { vTextStyle.FontStyles.ExClude((byte)HCFontStyle.tsSubscript); } else if (FFontStyle == HCFontStyle.tsSubscript) { vTextStyle.FontStyles.ExClude((byte)HCFontStyle.tsSuperscript); } vTextStyle.FontStyles.InClude((byte)FFontStyle); } else { return(ACurStyleNo); } } else // 减去 { if (vTextStyle.FontStyles.Contains((byte)FFontStyle)) { vTextStyle.FontStyles.ExClude((byte)FFontStyle); } else { return(ACurStyleNo); } } if (this.OnTextStyle != null) { this.OnTextStyle(ACurStyleNo, ref vTextStyle); } Result = AStyle.GetStyleNo(vTextStyle, true); // 新样式编号 } finally { vTextStyle.Dispose(); } return(Result); }
public int GetMatchStyleNo(HCStyle aStyle, int aCurStyleNo) { if (DoMatchCur(aStyle.TextStyles[aCurStyleNo])) { return(aCurStyleNo); } using (HCTextStyle vTextStyle = new HCTextStyle()) { vTextStyle.AssignEx(aStyle.TextStyles[aCurStyleNo]); DoMatchNew(vTextStyle); if (FOnTextStyle != null) { FOnTextStyle(aCurStyleNo, vTextStyle); } return(aStyle.GetStyleNo(vTextStyle, true)); } }