Rich Edit
本節包含與豐富編輯控件搭配使用之程式設計專案的相關信息。 豐富的編輯控制項可讓使用者輸入、編輯、列印及儲存文字。 文字可以指派字元和段落格式,而且可以包含內嵌的元件物件模型 (COM) 物件。
由於豐富的編輯控制項幾乎支援與多行 編輯控制項搭配使用的所有訊息和通知代碼,因此使用編輯控制件的應用程式可以輕鬆地變更為使用豐富的編輯控制件。
概觀
主題 | 目錄 |
---|---|
關於 Rich Edit 控制件 | 本節介紹豐富的編輯控件。 |
使用 Rich Edit 控制件 | 本節包含主題,示範如何建立和使用豐富的編輯控件。 |
函式
主題 | 目錄 |
---|---|
AutoCorrectProc | AutoCorrectProc 函式是與EM_SETAUTOCORRECTPROC訊息搭配使用的應用程式定義回呼函式。 |
EditStreamCallback | EditStreamCallback 函式是與EM_STREAMIN和EM_STREAMOUT訊息搭配使用的應用程式定義回呼函式。 它用來將數據串流傳送到或移出豐富的編輯控制件。 |
EditWordBreakProcEx | EditWordBreakProcEx 函式是搭配EM_SETWORDBREAKPROCEX訊息使用的應用程式定義回呼函式。 它會決定斷詞符號的字元索引,或指定文字中字元的字元類別和斷詞旗標。 |
HyphenateProc | HyphenateProc 函式是搭配EM_SETHYPHENATEINFO訊息使用的應用程式定義回呼函式。 它會決定如何在 Microsoft Rich Edit 控件中執行斷字。 |
介面
主題 | 目錄 |
---|---|
IRichEditOle | IRichEditOle 介面會公開豐富編輯控件的 COM 功能。 您可以藉由傳送 EM_GETOLEINTERFACE 訊息來取得介面。 |
IRichEditOleCallback | IRichEditOleCallback 介面是由 RTF 編輯控件用來從其用戶端擷取 OLE 相關信息。 豐富的編輯控件客戶端負責實作此介面,並使用EM_SETOLECALLBACK訊息將它指派給控件。 |
訊息
主題 | 目錄 |
---|---|
EM_AUTOURLDETECT | 啟用或停用由豐富編輯控件自動偵測 URL。 |
EM_CANPASTE | 判斷豐富的編輯控制項是否可以貼上指定的剪貼簿格式。 |
EM_CANREDO | 判斷控件重做佇列中是否有任何動作。 |
EM_DISPLAYBAND | 顯示豐富編輯控件內容的一部分,如先前使用 EM_FORMATRANGE 訊息為裝置格式化。 |
EM_EXGETSEL | 擷取選取範圍在豐富編輯控件中的開始和結束字元位置。 |
EM_EXLIMITTEXT | 設定使用者可以輸入或貼到豐富編輯控件的文字數量上限。 |
EM_EXLINEFROMCHAR | 決定哪一行包含豐富編輯控制件中的指定字元。 |
EM_EXSETSEL | 選取 Rich Edit 控制項中的字元或 COM 物件範圍。 |
EM_FINDTEXT | 在豐富的編輯控制項內尋找文字。 |
EM_FINDTEXTEX | 在豐富的編輯控制項內尋找文字。 |
EM_FINDTEXTEXW | 在豐富的編輯控制項內尋找 Unicode 文字。 |
EM_FINDTEXTW | 在豐富的編輯控制項內尋找 Unicode 文字。 |
EM_FINDWORDBREAK | 尋找指定字元位置之前或之後的下一個斷詞符號,或擷取該位置的字元相關信息。 |
EM_FORMATRANGE | 將特定裝置的豐富編輯控制件中的文字範圍格式化。 |
EM_GETAUTOURLDETECT | 指出是否在豐富的編輯控件中開啟自動URL偵測。 |
EM_GETBIDIOPTIONS | 指出豐富編輯控件中雙向選項的目前狀態。 |
EM_GETCHARFORMAT | 決定豐富編輯控制件中的字元格式設定。 |
EM_GETCTFMODEBIAS | 取得 Rich Edit 控制件的文字服務架構 (TSF) 模式偏差值。 |
EM_GETCTFOPENSTATUS | 判斷 TSF 鍵盤是否開啟或關閉。 |
EM_GETEDITSTYLE | 擷取目前的編輯樣式旗標。 |
EM_GETEVENTMASK | 擷取豐富編輯控件的事件遮罩。 事件遮罩會指定控件傳送至其父視窗的通知代碼。 |
EM_GETHYPHENATEINFO | 取得 Rich Edit 控制件的斷字相關信息。 |
EM_GETIMECOLOR | 擷取輸入法編輯器 (IME) 組合色彩。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_GETIMECOMPMODE | 取得豐富編輯控制件的目前輸入法模式。 |
EM_GETIMECOMPTEXT | 取得輸入法組合文字。 |
EM_GETIMEMODEBIAS | 取得 Rich Edit 控制件的輸入法模式偏差。 |
EM_GETIMEOPTIONS | 擷取目前的輸入法選項。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_GETIMEPROPERTY | 取得與目前輸入地區設定相關聯的 IME 屬性和功能。 |
EM_GETLANGOPTIONS | 取得 IME 和亞洲語言支援的豐富編輯控制項選項設定。 |
EM_GETOLEINTERFACE | 擷取用戶端可用來存取豐富編輯控件 COM 功能的 IRichEditOle 物件。 |
EM_GETOPTIONS | 擷取豐富的編輯控件選項。 |
EM_GETPAGEROTATE | 已取代。 取得 Rich Edit 控制件的文字配置。 |
EM_GETPARAFORMAT | 擷取豐富編輯控制項中目前選取範圍的段落格式設定。 |
EM_GETPUNCTUATION | 取得豐富編輯控制件的目前標點符號字元。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_GETREDONAME | 擷取下一個動作的類型,如果有的話,在豐富編輯控件的重做佇列中。 |
EM_GETSCROLLPOS | 取得編輯控制件的目前捲動位置。 |
EM_GETSELTEXT | 擷取豐富編輯控件中目前選取的文字。 |
EM_GETTEXTEX | 從任何您想要的特定程式代碼基底中,從豐富編輯控件取得所有文字。 |
EM_GETTEXTLENGTHEX | 以各種方式計算文字長度。 通常會在建立緩衝區以接收控件中的文字之前呼叫它。 |
EM_GETTEXTMODE | 取得豐富的編輯控制件目前的文字模式和復原層級。 |
EM_GETTEXTRANGE | 從豐富的編輯控制項擷取指定的字元範圍。 |
EM_GETTYPOGRAPHYOPTIONS | 擷取豐富編輯控件之印刷樣式選項的目前狀態。 |
EM_GETUNDONAME | Microsoft Rich Edit 2.0 和更新版本:如果有的話,擷取下一個復原動作的類型。 Microsoft Rich Edit 1.0:不支援此訊息。 |
EM_GETWORDBREAKPROCEX | 擷取目前已註冊之擴充斷詞程序的位址。 |
EM_GETWORDWRAPMODE | 取得豐富的編輯控制件目前的自動換行和斷詞選項。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_GETZOOM | 取得目前的縮放比例,其一律介於 1/64 和 64 之間。 |
EM_HIDESELECTION | 在豐富的編輯控制件中隱藏或顯示選取專案。 |
EM_ISIME | 判斷目前的輸入地區設定是否為東亞地區設定。 |
EM_PASTESPECIAL | 在豐富的編輯控制件中貼上特定的剪貼簿格式。 |
EM_RECONVERSION | 叫用 IME 重新轉換對話框。 |
EM_REDO | 重做控件重做佇列中的下一個動作。 |
EM_REQUESTRESIZE | 強制豐富的編輯控制項將EN_REQUESTRESIZE通知程式代碼傳送至其父視窗。 |
EM_SELECTIONTYPE | 決定豐富編輯控件的選取類型。 |
EM_SETBIDIOPTIONS | 設定豐富編輯控制件中雙向選項的目前狀態。 |
EM_SETBKGNDCOLOR | 設定豐富編輯控制件的背景色彩。 |
EM_SETCHARFORMAT | 在豐富的編輯控制件中設定字元格式設定。 |
EM_SETCTFMODEBIAS | 設定 Rich Edit 控制件的 TSF 模式偏差。 |
EM_SETCTFOPENSTATUS | 開啟或關閉 TSF 鍵盤。 |
EM_SETEDITSTYLE | 設定目前的編輯樣式旗標。 |
EM_SETEVENTMASK | 設定豐富編輯控件的事件遮罩。 事件遮罩會指定控件傳送至其父視窗的通知代碼。 |
EM_SETFONTSIZE | 設定所選文字的字型大小。 |
EM_SETHYPHENATEINFO | 設定 Rich Edit 控制件執行連字元的方式。 |
EM_SETIMECOLOR | 設定輸入法組合色彩。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_SETIMEMODEBIAS | 設定 Rich Edit 控制件的 IME 模式偏差。 |
EM_SETIMEOPTIONS | 設定輸入法選項。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_SETLANGOPTIONS | 在豐富的編輯控制項中設定 IME 和亞洲語言支援的選項。 |
EM_SETOLECALLBACK | 提供豐富的編輯控件 IRichEditOleCallback 物件,控件會用來從用戶端取得 OLE 相關資源和資訊。 |
EM_SETOPTIONS | 設定豐富編輯控制件的選項。 |
EM_SETPAGEROTATE | 已取代。 設定 Rich Edit 控制件的文字配置。 |
EM_SETPALETTE | 變更豐富編輯用於其顯示視窗的調色盤。 |
EM_SETPARAFORMAT | 設定豐富編輯控制項中目前選取範圍的段落格式設定。 |
EM_SETPUNCTUATION | 設定豐富編輯控制件的標點符號字元。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_SETSCROLLPOS | 告知豐富的編輯控件捲動至特定點。 |
EM_SETTARGETDEVICE | 設定在豐富編輯控制項中用於「您看到的內容」(WYSIWYG)格式設定目標裝置和線條寬度。 |
EM_SETTEXTEX | 結合WM_SETTEXT和EM_REPLACESEL的功能,並新增了使用代碼頁設定文字的功能,以及使用 RTF 或純文字。 |
EM_SETTEXTMODE | 設定豐富編輯控件的文字模式或復原層級。 如果控件包含任何文字,訊息就會失敗。 |
EM_SETTYPOGRAPHYOPTIONS | 設定豐富編輯控制項之印刷樣式選項的目前狀態。 |
EM_SETUNDOLIMIT | 設定可儲存在復原佇列中的動作數目上限。 |
EM_SETWORDBREAKPROCEX | 設定擴充的斷詞程式。 |
EM_SETWORDWRAPMODE | 設定豐富編輯控件的自動換行和斷詞選項。 此訊息僅適用於作業系統的亞洲語言版本。 |
EM_SETZOOM | 設定介於 1/64 和 64 之間的縮放比例。 |
EM_SHOWSCROLLBAR | 在 [文字主機] 視窗中顯示或隱藏其中一個滾動條。 |
EM_STOPGROUPTYPING | 停止控制項將其他輸入動作收集到目前的復原動作。 控件會將下一個輸入動作儲存至復原佇列中的新動作。 |
EM_STREAMIN | 以應用程式定義的 EditStreamCallback回 呼函式所提供的數據流取代豐富編輯控制件的內容。 |
EM_STREAMOUT | 讓豐富的編輯控件將其內容傳遞至應用程式定義的 EditStreamCallback回 呼函式。 回呼函式接著可以將數據流寫入檔案或其選擇的任何其他位置。 |
Notifications
主題 | 目錄 |
---|---|
EN_ALIGNLTR | 通知豐富編輯控件的父視窗,段落方向已變更為由左至右。 豐富的編輯控制項會以WM_COMMAND訊息的形式傳送此通知程式代碼。 |
EN_ALIGNRTL | 通知豐富的編輯控件父視窗,段落方向變更為由右至左。 豐富的編輯控制項會以WM_COMMAND訊息的形式傳送此通知程式代碼。 |
EN_CORRECTTEXT | 通知豐富編輯控件的父窗口發生SYV_CORRECT手勢,讓父視窗有機會取消更正文字。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_DRAGDROPDONE | 通知豐富的編輯控制項父視窗,拖放作業已完成。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_DROPFILES | 通知豐富編輯控制件的父視窗,使用者正嘗試將檔案放入控件中。 豐富的編輯控制項會在收到WM_DROPFILES訊息時,以WM_NOTIFY訊息的形式傳送此通知程式代碼。 |
EN_IMECHANGE | 通知豐富編輯控制件的父系輸入法轉換狀態已變更。 此訊息 僅適用於 作業系統的亞洲語言版本。 豐富的編輯控制項會以WM_COMMAND訊息的形式傳送此通知程式代碼。 |
EN_LINK | 當使用者按兩下滑鼠或滑鼠指標超過具有CFE_LINK效果的文字時,通知 RTF 控制件的父視窗。 控件的父視窗會透過 WM_NOTIFY 訊息接收此通知程序代碼。 |
EN_LOWFIRTF | 通知 Rich Edit 控制件的父視窗,該控件收到不支援的 RTF 格式 (RTF) 關鍵詞。 Rich Edit 控制項會以WM_NOTIFY訊息的形式傳送此通知程式代碼。 |
EN_MSGFILTER | 通知控件中鍵盤或滑鼠事件的豐富編輯控制項父視窗。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_OBJECTPOSITIONS | 當控件在 物件中讀取時,通知豐富的編輯控件父視窗。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_OLEOPFAILED | 通知豐富編輯控制件的父視窗,COM 物件上的使用者動作失敗。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_PROTECTED | 通知豐富編輯控制件的父視窗,使用者正在採取會變更受保護文字範圍的動作。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_REQUESTRESIZE | 通知豐富的編輯控制項父視窗,控件的內容小於或大於控件的視窗大小。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_SAVECLIPBOARD | 通知豐富編輯控制件的父視窗,控制項正在關閉,且剪貼簿包含資訊。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_SELCHANGE | 通知豐富編輯控制件的父視窗,目前的選取範圍已變更。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
EN_STOPNOUNDO | 通知豐富的編輯控制項父視窗發生動作,控制項無法配置足夠的記憶體來維護復原狀態。 豐富的編輯控制項會以WM_NOTIFY訊息的形式傳送此通知程序代碼。 |
結構
主題 | 目錄 |
---|---|
BIDIOPTIONS | 包含豐富編輯控制件的雙向資訊。 EM_GETBIDIOPTIONS和EM_SETBIDIOPTIONS訊息會使用此結構來取得及設定控件的雙向資訊。 |
CHARFORMAT | 包含豐富編輯控制件中字元格式設定的相關信息。 |
CHARFORMAT2 | 包含豐富編輯控制件中字元格式設定的相關信息。 CHARFORMAT2是 CHARFORMAT 結構的 Microsoft Rich Edit 2.0 延伸模組。 Microsoft Rich Edit 2.0 可讓您搭配EM_GETCHARFORMAT和EM_SETCHARFORMAT訊息使用任一結構。 |
CHARRANGE | 指定豐富編輯控制件中的字元範圍。 |
COMPCOLOR | 包含組合字串的色彩設定。 |
EDITSTREAM | 包含應用程式傳遞至EM_STREAMIN或EM_STREAMOUT訊息中豐富編輯控件的資訊。 豐富的編輯控制項會使用資訊將數據流傳送至或移出控件。 |
ENCORRECTTEXT | 包含要更正之選取文字的相關信息。 |
ENDROPFILES | 包含與 EN_DROPFILES 通知程式代碼相關聯的資訊。 豐富的編輯控制件會在收到 WM_DROPFILES 訊息時傳送此通知程式代碼。 |
ENLINK | 包含來自豐富編輯控制件之EN_LINK通知程式代碼的相關信息。 |
ENLOWFIRTF | 包含 Rich Edit 控制件中不支援 RTF 關鍵詞的資訊。 |
ENOLEOPFAILED | 包含失敗作業的相關信息。 |
ENPROTECTED | 包含與 EN_PROTECTED 通知程式代碼相關聯的資訊。 當使用者嘗試編輯受保護的文字時,豐富的編輯控制項會傳送此通知。 |
ENSAVECLIPBOARD | 包含剪貼簿上物件和文字的相關信息。 |
FINDTEXT | 包含豐富編輯控制件中搜尋作業的相關信息。 這個結構會與EM_FINDTEXT訊息搭配使用。 |
FINDTEXTEX | 包含在豐富編輯控件中搜尋之文字的相關信息。 此結構會與EM_FINDTEXTEX訊息搭配使用。 |
FORMATRANGE | 包含豐富編輯控制項用來格式化特定裝置輸出的資訊。 這個結構會與EM_FORMATRANGE訊息搭配使用。 |
GETTEXTEX | 包含從豐富編輯控件取得文字之作業的相關信息。 此結構會在EM_GETTEXTEX訊息中的 wParam 中傳遞。 |
GETTEXTLENGTHEX | 包含如何計算豐富編輯控件文字長度的相關信息。 此結構會在EM_GETTEXTLENGTHEX訊息中的 wParam 中傳遞。 |
HYPHENATEINFO | 包含 Rich Edit 控制件中斷字的相關信息。 |
HYPHRESULT | 包含 Rich Edit 控制件中斷字結果的相關信息。 |
IMECOMPTEXT | 包含 Rich Edit 控制件中組合文字的相關信息。 |
MSGFILTER | 包含鍵盤或滑鼠事件的相關信息。 豐富的編輯控件會將這個結構傳送至其父視窗,做為EN_MSGFILTER通知程式代碼的一部分,讓父代變更訊息或防止處理訊息。 |
OBJECTPOSITIONS | 包含物件位置資訊。 |
PARAFORMAT | 包含豐富編輯控制件中段落格式屬性的相關信息。 此結構會與EM_GETPARAFORMAT和EM_SETPARAFORMAT訊息搭配使用。 |
PARAFORMAT2 | 包含豐富編輯控制件中段落格式屬性的相關信息。 |
標點符號 | 包含豐富編輯控制件中使用的標點符號相關信息。 |
REOBJECT | 包含對象的相關信息。 |
REPASTESPECIAL | 包含資訊,可識別貼上對象的顯示層面是否應該以對象的內容或代表物件的圖示為基礎。 |
REQRESIZE | 包含豐富編輯控制件的要求大小。 豐富的編輯控制項會將這個結構傳送至其父視窗,做為EN_REQUESTRESIZE通知程式代碼的一部分。 |
SELCHANGE | 包含與 EN_SELCHANGE 通知程式代碼相關聯的資訊。 豐富的編輯控制項會在目前的選取範圍變更時,將此通知傳送至其父視窗。 |
SETTEXTEX | 指定要在設定文字中使用的代碼頁、文字是否取代控制項中的所有文字,還是只取代選取範圍,以及是否要保留復原狀態。 |
TEXTRANGE | 從豐富的編輯控制項接收文字範圍。 此結構會由 EM_GETTEXTRANGE 訊息填入。 lpstrText 成員所指向的緩衝區必須夠大,才能接收所有字元和終止的 Null 字元。 |
常數
主題 | 目錄 |
---|---|
Rich Edit Control 事件遮罩旗標 | 事件遮罩會指定豐富編輯控件傳送至其父視窗的通知代碼。 |
豐富的編輯控件樣式 | 描述豐富編輯控制件特有的視窗樣式。 |