如何
获取当前光标所在的字符属性
关键点
function queryCommandState(const cmdID: WideString): WordBool;
safecall;
- 粗体
- 斜体
- 下划线
- 删除线
- 对齐方式 左 中 右
- 数字排序
- 圆的排序
- 上标
- 下标
function queryCommandValue(const cmdID: WideString): OleVariant;
safecall;
- 字体名称
- 字符大小
实现过程
function GetFontName():string; begin Result:=(Form1.webbrowser1.Document as end; function GetFontSize():string; begin Result:=(Form1.webbrowser1.Document as end; function IsBold():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsItalic():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsUnderline():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsStrikeThrough():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsSubScript():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsSuperScript():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsJustifyLeft():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsJustifyCenter():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsJustifyRight():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsJustifyFull():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsInsertOrderedList():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; function IsInsertUnorderedList():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as if bRtn then Result:=True else Result:=False; end; ///使用 procedure TForm1.WebBrowser1CommandStateChange(ASender: Command: Integer; Enable: WordBool); Var bRtn:Boolean; begin try cbb_FontNameList.Text:=GetFontName(); cbb_FontSize.Text:=GetFontSize(); btn_Bold.Down:=IsBold(); btn_Italic.Down:=IsItalic(); btn_Underline.Down:=IsUnderline(); btn_strikethrough.Down:=IsStrikeThrough(); btn_SubScript.Down:=IsSubScript(); btn_SuperScript.Down:=IsSuperScript(); ToolButton_AlignTwo.Down:=IsJustifyFull(); ToolButton_AlignLeft.Down:=IsJustifyLeft(); ToolButton_AlignCenter.Down:=IsJustifyCenter(); ToolButton_AlignRight.Down:=IsJustifyRight(); ToolButton_UnoredredList.Down:=IsInsertUnorderedList(); ToolButton_OrderedList.Down:=IsInsertOrderedList(); //格式化 except Exit; end; end; |
图
备注
这个主要应用在工具栏按钮感应上
相关链接
delphi queryCommandState