MFC之編輯框

2022-07-16 05:06:13 字數 2161 閱讀 4770

初始操作

新建mfc應用程式,專案名為editctrl,基於對話方塊。

刪除原有控制項在右側工具箱中找到edit control。放置到視窗中。如圖:

現在的編輯框只可以在一行輸入,無法換行,同時如果按下enter換行會直接退出程式。

多行輸入&文字向上滾動&滾動條

1.多行輸入

右鍵屬性,找到multiline,改成true。以及want return也改為true。這時候就可以多行輸入了。

但乙個問題,如圖,一行可以一直敲很多字元,但行數一旦佔滿編輯框就無法再增加行了。

2.文字向上滾動

右鍵屬性,找到auto vscroll,改成true。這樣就可以輸入很多行了,由於不直觀,不放圖了。

現在乙個問題時沒有滾動條,行數太多無法很快返回。

3.滾動條

同樣在右鍵屬性中,找到horizontal scroll以及vertical scroll,都改為true。

乙個示例

按住ctrl複製出乙個同樣的編輯框,並從工具箱中新增兩個按鈕。

實現功能是點選複製按鈕,上面編輯框的內容就複製到下面的編輯框,點選退出就是退出程式。

在上面的編輯框中右鍵新增變數,設定屬性private,變數名n_edit1。而下面的編輯框中右鍵新增變數,設定屬性private,變數名n_edit2。

如果變數名較多,可以在介面上右鍵選擇類嚮導,即可檢視。

定位到:類檢視--ceditctrldlg--oninitdialg()中,在其中新增**。

1.新增編輯框預設顯示內容

2.設定複製按鈕的點選事件

雙擊按鈕,進入點選事件中,新增**。

//獲取d到edit1的內容,然後給edit2

執行,點選複製按鈕後:

3.設定退出按鈕

雙擊按鈕,進入點選事件中,新增**。

//退出程式

exit(0);

//退出當前對話方塊

cdialog::onok();

cdialog::oncancel();

後兩種的不同之處在於:

cdialog::onok首先呼叫updatedata(true)將資料傳給對話方塊成員變數,然後呼叫cdialog::enddialog關閉對話方塊;

cdialog::oncancel只呼叫cdialog::enddialog關閉對話方塊;

關於按下enter換行會直接退出程式

單個未改動的編輯框,換行會使得程式直接退出,嘗試更改。

首先在原來專案基礎上新增乙個編輯框。

然後再本專案dlg右鍵屬性,選擇重寫。然後定位到onok()中,注釋掉裡面的cdialog::onok();即可。

MFC之編輯框Edit Control

下面簡單介紹編輯框的部分通知訊息。en change 編輯框的內容被使用者改變了,與en update 不同,該訊息是在編輯框顯示的正文被重新整理後才發出的 en errspace 編輯框控制項無法申請足夠的動態記憶體來滿足需要 en hscroll 使用者在水平滾動條上單擊滑鼠 en killfo...

MFC組合框 編輯框

getdlgitem idc enablewindow false 設定初始狀態,編輯框獲取資訊的方式 變數 m edit m edit.format 操作組合框的資料 1 由於組合框內包含了列表框,所以列表框的功能都能夠使用。如可以利用 int addstring lpctstr lpszitem...

MFC設定編輯框字型大小

1 首先,為edit控制項繫結乙個控制變數 m edit 2 然後,在對話方塊類中新增乙個成員變數cfont m ofont 注 此處必須是成員變數,不能是區域性變數。3 最後就是,利用setfont函式修改字型了,主要有兩種方式,可以在對話方塊的初始化函式oninitdialog中實現 1 法一 ...