首页 > 代码库 > delphi queryCommandState
delphi queryCommandState
如何 获取当前光标所在的字符属性
关键点
function queryCommandState(const cmdID: WideString): WordBool; safecall;
- 粗体
- 斜体
- 下划线
- 删除线
- 对齐方式 左 中 右
- 数字排序
- 圆的排序
- 上标
- 下标
function queryCommandValue(const cmdID: WideString): OleVariant; safecall;
- 字体名称
- 字符大小
实现过程
function GetFontName():string; begin Result:=(Form1.webbrowser1.Document as IHTMLDocument2).queryCommandValue(‘FontName‘); end; function GetFontSize():string; begin Result:=(Form1.webbrowser1.Document as IHTMLDocument2).queryCommandValue(‘FontSize‘); end; function IsBold():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘Bold‘); if bRtn then Result:=True else Result:=False; end; function IsItalic():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘Italic‘); if bRtn then Result:=True else Result:=False; end; function IsUnderline():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘Underline‘); if bRtn then Result:=True else Result:=False; end; function IsStrikeThrough():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘StrikeThrough‘); if bRtn then Result:=True else Result:=False; end; function IsSubScript():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘SubScript‘); if bRtn then Result:=True else Result:=False; end; function IsSuperScript():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘SuperScript‘); if bRtn then Result:=True else Result:=False; end; function IsJustifyLeft():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘JustifyLeft‘); if bRtn then Result:=True else Result:=False; end; function IsJustifyCenter():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘JustifyCenter‘); if bRtn then Result:=True else Result:=False; end; function IsJustifyRight():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘JustifyRight‘); if bRtn then Result:=True else Result:=False; end; function IsJustifyFull():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘JustifyFull‘); if bRtn then Result:=True else Result:=False; end; function IsInsertOrderedList():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘InsertOrderedList‘); if bRtn then Result:=True else Result:=False; end; function IsInsertUnorderedList():Boolean; Var bRtn:Boolean; begin bRtn:= (Form1.webbrowser1.Document as IHTMLDocument2).queryCommandState(‘InsertUnorderedList‘); if bRtn then Result:=True else Result:=False; end; ///使用 procedure TForm1.WebBrowser1CommandStateChange(ASender: TObject; 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; |
图
备注
这个主要应用在工具栏按钮感应上
相关链接
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。