Rich Edit

本節包含與豐富編輯控件搭配使用之程式設計專案的相關信息。 豐富的編輯控制項可讓使用者輸入、編輯、列印及儲存文字。 文字可以指派字元和段落格式,而且可以包含內嵌的元件物件模型 (COM) 物件。

由於豐富的編輯控制項幾乎支援與多行 編輯控制項搭配使用的所有訊息和通知代碼,因此使用編輯控制件的應用程式可以輕鬆地變更為使用豐富的編輯控制件。

概觀

主題 目錄
關於 Rich Edit 控制件 本節介紹豐富的編輯控件。
使用 Rich Edit 控制件 本節包含主題,示範如何建立和使用豐富的編輯控件。

函式

主題 目錄
AutoCorrectProc AutoCorrectProc 函式是與EM_SETAUTOCORRECTPROC訊息搭配使用的應用程式定義回呼函式。
EditStreamCallback EditStreamCallback 函式是與EM_STREAMINEM_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_SETTEXTEM_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_GETCHARFORMATEM_SETCHARFORMAT訊息使用任一結構。
CHARRANGE 指定豐富編輯控制件中的字元範圍。
COMPCOLOR 包含組合字串的色彩設定。
EDITSTREAM 包含應用程式傳遞至EM_STREAMINEM_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_GETPARAFORMATEM_SETPARAFORMAT訊息搭配使用。
PARAFORMAT2 包含豐富編輯控制件中段落格式屬性的相關信息。
標點符號 包含豐富編輯控制件中使用的標點符號相關信息。
REOBJECT 包含對象的相關信息。
REPASTESPECIAL 包含資訊,可識別貼上對象的顯示層面是否應該以對象的內容或代表物件的圖示為基礎。
REQRESIZE 包含豐富編輯控制件的要求大小。 豐富的編輯控制項會將這個結構傳送至其父視窗,做為EN_REQUESTRESIZE通知程式代碼的一部分。
SELCHANGE 包含與 EN_SELCHANGE 通知程式代碼相關聯的資訊。 豐富的編輯控制項會在目前的選取範圍變更時,將此通知傳送至其父視窗。
SETTEXTEX 指定要在設定文字中使用的代碼頁、文字是否取代控制項中的所有文字,還是只取代選取範圍,以及是否要保留復原狀態。
TEXTRANGE 從豐富的編輯控制項接收文字範圍。 此結構會由 EM_GETTEXTRANGE 訊息填入。 lpstrText 成員所指向的緩衝區必須夠大,才能接收所有字元和終止的 Null 字元。

常數

主題 目錄
Rich Edit Control 事件遮罩旗標 事件遮罩會指定豐富編輯控件傳送至其父視窗的通知代碼。
豐富的編輯控件樣式 描述豐富編輯控制件特有的視窗樣式。