編輯控制項樣式

若要使用 CreateWindowCreateWindowEx 函式建立編輯控制項,請指定 EDIT 類別、適當的視窗樣式常數,以及下列編輯控制項樣式的組合。 建立控制項之後,除非另有所述,否則無法修改這些樣式。

範例

LRESULT MsgCreate(HWND hwnd, UINT uMessage, WPARAM wparam, LPARAM lparam)
{
    lparam;
    wparam;
    uMessage;

    // Create Edit control for typing to be sent to server
    if (NULL == (hOutWnd = CreateWindow("EDIT",
                           NULL,
                           WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT | 
                           ES_MULTILINE | ES_AUTOVSCROLL,
                           0,0,0,0,
                           hwnd,
                           (HMENU) ID_OUTBOX,
                           (HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE),
                           NULL)))
        return FALSE;
    return TRUE;
}

GitHub 上的 Windows 傳統範例

常數

常數 描述
ES_AUTOHSCROLL
當使用者在行尾輸入字元時,會自動將文字向右捲動 10 個字元。 當使用者按下 ENTER 鍵時,控制項會將所有文字捲動回零位置。
ES_AUTOVSCROLL
當使用者按下最後一行的 ENTER 鍵時,會自動向上捲動一頁文字。
ES_CENTER
將單行或多行編輯控制項中的文字置中。
ES_LEFT
對齊文字與左邊界。
ES_LOWERCASE
將所有字元轉換成小寫,因為它們輸入編輯控制項。
若要在建立控制項之後變更此樣式,請使用 SetWindowLong
ES_MULTILINE
指定多行編輯控制項。 預設值為單行編輯控制項。
當多行編輯控制項位於對話方塊中時,按下 ENTER 鍵的預設回應是啟動預設按鈕。 若要使用 ENTER 鍵做為歸位字元,請使用 ES_WANTRETURN 樣式。
當多行編輯控制項不在對話方塊中且指定 ES_AUTOVSCROLL 樣式時,編輯控制項會顯示盡可能多行,並在使用者按下 ENTER 鍵時垂直捲動。 如果您未指定 ES_AUTOVSCROLL,編輯控制項會顯示盡可能多行,而且如果使用者按下 ENTER 鍵時無法顯示更多行,則會發出嗶聲。
如果您指定 ES_AUTOHSCROLL 樣式,多行編輯控制項會在插入號超過控制項的右邊緣時,自動水準捲動。 若要啟動新行,使用者必須按下 ENTER 鍵。 如果您未指定 ES_AUTOHSCROLL,控制項會在必要時自動將單字換行到下一行的開頭。 如果使用者按下 ENTER 鍵,也會啟動新的行。 視窗大小會決定 Wordwrap 的位置。 如果視窗大小變更,Wordwrapping 位置會變更,並重新顯示文字。
多行編輯控制項可以有捲軸。 具有捲軸的編輯控制項會處理自己的捲軸訊息。 請注意,編輯沒有捲軸的控制項,如上一個段落所述,並處理父視窗所傳送的任何捲動訊息。
ES_NOHIDESEL
否定編輯控制項的預設行為。 當控制項失去輸入焦點時,預設行為會隱藏選取範圍,並在控制項收到輸入焦點時反轉選取範圍。 如果您指定 ES_NOHIDESEL,即使控制項沒有焦點,選取的文字也會反轉。
ES_NUMBER
只允許在編輯控制項中輸入數位。 請注意,即使使用此集合,仍可以將非數位貼到編輯控制項中。
若要在建立控制項之後變更此樣式,請使用 SetWindowLong
若要將輸入編輯控制項的文字轉譯為整數值,請使用 GetDlgItemInt 函 式。 若要將編輯控制項的文字設定為指定整數的字串標記法,請使用 SetDlgItemInt 函 式。
ES_OEMCONVERT
轉換在編輯控制項中輸入的文字。 文字會從 Windows 字元集轉換成 OEM 字元集,然後轉換回 Windows 字元集。 當應用程式呼叫 CharToOem 函式,將編輯控制項中的 Windows 字串轉換成 OEM 字元時,這可確保適當的字元轉換。 此樣式最適用于編輯控制項,其中包含將用於不支援 Unicode 之檔案系統上的檔案名。
若要在建立控制項之後變更此樣式,請使用 SetWindowLong
ES_PASSWORD
針對輸入編輯控制項的每個字元,顯示星號 (*) 。 此樣式僅適用于單行編輯控制項。
若要變更顯示的字元,或設定或清除此樣式,請使用 EM_SETPASSWORDCHAR 訊息。
注意: 若要使用第 6 版 Comctl32.dll,請在資訊清單中指定它。 如需資訊清單的詳細資訊,請參閱 啟用視覺化樣式
ES_READONLY
防止使用者在編輯控制項中輸入或編輯文字。
若要在建立控制項之後變更此樣式,請使用 EM_SETREADONLY 訊息。
ES_RIGHT
在單行或多行編輯控制項中靠右對齊文字。
ES_UPPERCASE
將所有字元轉換成大寫,因為它們輸入編輯控制項。
若要在建立控制項之後變更此樣式,請使用 SetWindowLong
ES_WANTRETURN
指定當使用者在對話方塊中將文字輸入多行編輯控制項時按下 ENTER 鍵時,會插入歸位字元。 如果您未指定此樣式,按下 ENTER 鍵的效果與按下對話方塊的預設按下按鈕的效果相同。 此樣式不會影響單行編輯控制項。
若要在建立控制項之後變更此樣式,請使用 SetWindowLong

規格需求

需求
標頭
Winuser.h