文字編輯框 調整文字編輯區域

2021-04-26 23:53:02 字數 797 閱讀 3289

在多行模式下的cedit類提供void cedit::setrectnp( lpcrect lprect)函式,此函式用來調整文字編輯的區域,用這個函式可以設定上下左右margins,而void setmargins( uint nleft, uint nright)函式只能設定左右margins。

crect rc = crect(0,0,0,0);

edit.getclientrect(&rc);

rc.deflaterect(10,10,10,10);

edit.setrectnp(&rc);

這段**設定上下左右margin都是10。

水平有限,到目前還沒找到單行模式下讓文字框的文字垂直居中的辦法,因此想到了利用多行文字框來模擬單行然後設定垂直居中的辦法。

crect rc = crect(0,0,0,0);

edit.getclientrect(&rc);

cdc* pdc = edit1.getdc();

textmetric tm;

pdc->gettextmetrics(&tm);

int nfontheight = tm.tmheight + tm.tmexternalleading;

int nmargin = (rc.height() - nfontheight) / 2;

rc.deflaterect(0,nmargin);

edit.setrectnp(&rc);

將文字框的屬性設定為es_multiline | es_autohscroll且不能es_autovscroll | es_wantreturn。

文字編輯框

在介面程式設計中,文字編輯框是使用頻率最高的控制項之一,為了方便操作,mfc提供了cedit類來管理文字編輯框。建立文字編譯框有兩種方式 第一種 在對話方塊模式下,編輯資源檔案,撰寫建立對話方塊的指令碼,可在表示對話方塊指令碼的一對識別符號begin和end中間插入形如 edittext idc m...

MFC文字編輯框

mfc文字編輯框裡面的2個屬性multiline和auto hscroll,先看vs給的說明 multiline 如果控制項文字對控制項寬度而言太長,測將文字折為多行。auto hscroll 當使用者在行尾鍵入字元時,自動是文字滾動到左側。先試試multiline true auto hscrol...

QTextEdit文字編輯框的游標移動

1.問題描述 2.解決辦法 呼叫qtextedit類的成員函式 movecursor 可以設定游標的位置。其函式原型如下 void qtextedit movecursor qtextcursor moveoperation operation,qtextcursor movemode mode q...