2015-12-21 50 views
2

我使用TWebBrowser作爲Delphi7中的HTML編輯器,通過將它的designMode設置爲OnDocumentComplete中的'on'。德爾福TWebBrowser作爲HTML編輯器 - 獲取字體屬性

我知道如何改變如粗體,斜體,字體,顏色,對齊等字體屬性我使用exeCommand與參數

var 
    htmlDoc: HTMLDocument; 
    parameter: OleVariant; 
begin 
    (wbEditor.Document as IHTMLDocument2).ParentWindow.Focus; 
    htmlDoc := wbEditor.document as HTMLDocument; 
    htmlDoc.execCommand('bold', false, parameter); 
    (wbEditor.Document as IHTMLDocument2).ParentWindow.Focus; 
end; 

的問題是如何,當我讀到「大膽」和其他屬性改變文本內的光標位置。

假設我的文字像'foo bar'。當我將光標放在FOO處時,我想要檢查一個「粗體按鈕」,但是當我將它放置在BAR時未選中。

???

回答

2

HEJ我發現我自己的一個外觀圖釋,使用TEmbeddedWB代替TWebBrowser,和下面的代碼在它的OnClock和的onkeydown事件

var 
    doc: IHTMLDocument2; 
    sel: IHTMLSelectionObject; 
    range: IHTMLTxtRange; 
begin 
    doc := wb1.Doc2; 
    if Assigned(Doc) then 
    begin 
    Sel := Doc.selection; 
    if Assigned(Sel) then 
    begin 
     if (Sel.type_ = 'None') or (Sel.type_ = 'Text') then 
     begin 
     Range := Sel.createRange as IHTMLTxtRange; 

     Caption := Range.queryCommandValue('justifyCenter'); 
     end; 
    end; 
    end; 
end; 

感謝我自己!