MiniGUI程式設計 編輯框

2021-09-02 07:16:47 字數 3464 閱讀 8660

編輯框

es(editstyle)

單行ctrl_sledit/"sledit"  singlelineedit

多行ctrl_mledit/"textedit"  multilineedit

通用風格

ws_child|ws_visible|ws_border

特有風格:

es_uppercase大寫

es_lowercase小寫

es_password密碼

es_readonly唯讀

es_baseline顯示虛線

es_autowrap自動換行

es_left左對齊

es_nohidesel失去焦點保持文字的選中狀態

es_autoselect得到焦點時自動先選中所有

es_title第一行顯示標題

es_tip提示資訊

es_center文字居中對齊

es_right文字右對齊

多行文字框指定滾動條:

ws_hscroll

ws_vscroll

訊息:msg_gettextlength獲取文字長度

msg_gettext獲取文字

msg_settext設定文字

或用以下函式

getwindowtextlength

getwindowtext

setwindowtext

取得插入符位置

em_getcaretpos

int line_pos;

int char_pos;

sendmessage(hwndedit,em_getcaretpos,(wparam)&line_pos,(lparam)&char_pos);

引數:line_pos行索引值

char_pos該行中的字元位置

設定插入符位置

em_setcaretpos

int line_pos;

int char_pos;

sendmessage(hwndedit,em_setcaretpos,line_pos,char_pos);

獲取當前選中文字

em_getsel

char buffer[buf_len];

sendmessage(hwndedit,em_getsel,buf_len,(lparam)buffer);

設定當前選中的文字

em_setsel

int line_pos,char_pos;

sendmessage(hwndedit,em_setsel,line_pos,char_pos);

lparam指定行索引值,wparam指定行內字元位置

獲取當前選擇點位置

em_getselpos

int line_pos,char_pos;

sendmessage(hwndedit,em_getselpos,(wparam)&line_pos,(lparam)&char_pos);

選擇所有字元相當於ctrl+a

em_selectall

sendmessage(hwndedit,em_selectall,0,0);

複製到剪貼簿ctrl+c

em_copytocb copytoclipboard

sendmessage(hwndedit,em_copytocb,0,0);

貼上到編輯框ctrl+v

em_insertcbtext insertclipboardtext

sendmessage(hwndedit,em_insertcbtext,0,0);

剪下ctrl+x

em_cuttocb cuttoclipboard

sendmessage(hwndedit,em_cuttocb,0,0);

獲取行高

em_getlineheight

int line_height;

line_height=sendmessage(hwndedit,em_getlineheight,0,0);

設定行高

em_setlineheight

int line_height;

sendmessage(hwndedit,em_setlineheight,line_height,0);

獲取行數

em_getlinecount

int line_count;

line_count=sendmessage(hwndedit,em_getlinecount,0,0);

設定文字上限

em_limittext

sendmessage(hwndedit,em_limittext,10,0l);

設定唯讀

em_setreadonly wparam為true

取消唯讀

em_setreadonly wparam為false

修改密碼顯示字元

em_setpasswordchar

sendmessage(hwndedit,em_setpasswordchar,'%',0l);

獲得當前密碼字元

em_getpasswordchar

設定提示文字

sledit控制項具有es_tip風格時

es_settiptext

獲取提示文字

es_gettiptext

int len;

char *tip_text;

sendmessage(hwndedit,es_settiptext,len,(lparam)tip_text);

lparam指定字串,wparam指定長度

或int len;

char tip_text[len+1];

sendmessage(hwndedit,em_gettiptext,len,(lparam)tip_text);

lparam指定緩衝區,wparam指定長度

當textedit具有es_title風格時

em_settitletext設定標題文字

em_gettitletext獲取標題文字

int len;

char *title_text;

sendmessage(hwndedit,em_settitletext,len,(lparam)title_text);

lparam指定字串,wparam指定長度

或int len;

char title_text[len+1];

sendmessage(hwnd,em_gettitletext,len,(lparam)title_text)

lparam指定緩衝區,wparam指定長度

編輯框通知碼

編輯框沒有es_notify風格

en_setfocus

en_killfocus

en_change

en_enter

en_maxtext

en_clicked

en_dblclk

windows程式設計之編輯框簡介

今天碰到乙個很無語的問題,創個編輯框建立了兩個多小時,就是不知道 出問題。後來我就索性新建乙個最簡單的工程進行測試,就建立乙個視窗,然後中間加個長方形的編輯框 結果出醜了,編輯框是出來了,結果無法編輯,就連焦點都沒法設定 看 就是詭異了,原以為編輯框建立不是挺簡單的嗎?可建立出來後,不能編輯啊 我就...

MFC組合框 編輯框

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

VC程式設計小技巧之編輯框

怎麼讓對話方塊中的cedit控制項類接收對話方塊的訊息 1 在對話方塊中增加乙個id 為idc edit1的cedit1控制項 2 通過classwizard 生成乙個基於cedit的新類cmyedit,cmyedit m wndedit 3 在對話方塊oninitdialog 中,將m wnded...