我正在使用MSHTML上的HTML編輯控件構建。強制使用IHTMLDocument的粗體
我需要能夠強制文本爲粗體/不透明,並且找不到一個簡單的方法來執行此操作。
我可以切換大膽的狀態如下:
(D as IHTMLDocument2).execCommand('Bold', False, EmptyParam);
我可以大膽的狀態如下:
bIsBold := (D as IHTMLDocument2).queryCommandValue('Bold');
現在當然你會說,好了廢話,只是得到了大膽的地位和然後如果需要切換它。
不幸的是,所選文本實際上可能有三種狀態:不是粗體/部分粗體/全是粗體,所以我在查詢它之前不得不盲目切換狀態,以確保它只處於兩個已知狀態:不是大膽/全部膽大。這是相當醜陋的,所以我想知道我是否缺少明顯的東西。
由於IA
您不能查詢第一個字符是否爲粗體?並相應地切換整個文本?在零長度noop的情況下。 – 2012-02-07 00:44:32
對不起喬普,我沒跟着。查詢第一個字符仍然只會給我兩個狀態,「不是粗體」或「全是粗體」。我仍然不知道它是否處於「部分大膽」狀態。 – Xaz 2012-02-08 00:37:24