編輯類控制項

2021-03-31 23:14:02 字數 1756 閱讀 2215

以視窗類名"edit"建立的編輯類控制項是乙個可以用來接受使用者鍵盤字元輸入的矩形區域,可以在其內進行編輯操作。該控制項是程式接受使用者字元輸入的一種主要手段,輸入的內容存放在其父視窗容量有限的(32kb)區域性堆中。

mfc的cedit類提供了有關編輯類控制項的功能函式。編輯控制項既可以在對話方塊模板上建立也可以通過**來直接建立,這兩種方式均要通過cedit的建構函式來構造乙個cedit物件。cedit類從cwnd繼承了一些重要的函式,比如可以通過使用cwnd類成員函式setwindowtext()和getwindowtext()來設定和獲取乙個編輯控制項中的文字。同按鈕類控制項類似,如果要處理由編輯控制項傳送給其父視窗的通知訊息,需要在父視窗類中為每乙個待處理訊息增添訊息對映入口和訊息響應函式。

在呼叫create()函式建立編輯控制項時,windows系統將發出wm_nccreate、wm_nccalcsize、wm_create和wm_getminmaxinfo等訊息給編輯控制項。這些訊息預設地分別由onnccreate()、onnccalcsize()、oncreate()和ongetminmaxinfo()等cwnd類成員函式進行處理,可以根據實際需要對其進行過載使用。作為一種特殊的視窗,編輯控制項除了需要指定普通視窗風格外,還可以通過選用不同的控制項風格而獲取相應的功能效果,可選用的編輯風格列表如下:

編輯風格

說明es_autohscroll

當在行尾新增乙個字元後自動向右滾動10個字元。

es_autovscroll

當輸入回車後自動上滾一行。

es_center

字元居中顯示。

es_left

字元左對齊。

es_lowercase

統一轉化為小寫字母。

es_multiline

允許多行顯示。

es_nohidesel

當編輯失去焦點時隱藏對字元的選定,重新獲得焦點後以反色顯示選中內容。

es_oemconvert

將ansi字元轉化為oem字元。

es_password

以星號顯示字元,多用於回顯密碼。

es_right

字元右對齊

es_uppercase

統一轉化為大寫字母。

es_readonly

設定字元為唯讀。

es_wantreturn

接受回車鍵輸入。

下面給出建立、用編輯控制項的示例**,該示例首先通過create()函式建立乙個控制項物件,並通過setwindowtext()函式為其設定字元。通過新增對控制項通知訊息的響應**可以檢測文字是否發生了改變。程式主要實現清單如下:

// 控制項的建立部分:

// 建立編輯控制項

m_ctredit.create(ws_visible | ws_child | ws_border | es_wantreturn | es_multiline | es_autohscroll | es_autovscroll, crect(10, 50, 250, 150), this, id_edit1);

// 為控制項設定字元

m_ctredit.setwindowtext("hello world!");

……// 添件對控制項通知訊息的響應

//}afx_msg

declare_message_map()

……begin_message_map(csample02view, cview)

//}afx_msg_map

end_message_map()

……void csample02view::onenchange()

編輯類控制項

以視窗類名 edit 建立的編輯類控制項是乙個可以用來接受使用者鍵盤字元輸入的矩形區域,可以在其內進行編輯操作。該控制項是程式接受使用者字元輸入的一種主要手段,輸入的內容存放在其父視窗容量有限的 32kb 區域性堆中。mfc的cedit類提供了有關編輯類控制項的功能函式。編輯控制項既可以在對話方塊模...

編輯控制項 edit

編輯框 edit 控制項實際上是乙個簡易的文字編輯器,使用者可以在編輯框中輸入可新增或插入文字。還有複製 貼上 剪下 刪除等編輯功能。應用程式用createwindowex建立編輯框控制項時,可根據控制項的用途在下表中選擇部份常數來設定其風格屬性 style 常數說明 es multiline 多行...

Visual Basic 遮蔽編輯控制項

visual basic 遮蔽編輯控制項 確定控制項的輸入遮蔽。語法 form.maskededit.mask string 備註在設計時和執行時均可定義輸入遮蔽。不過,下面是在設計時可能想要使用的標準輸入遮蔽的示例。該控制項可以區分數字和字母字元以進行驗證,但是不能檢查內容是否有效,如月份或一天中...