編輯框
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...