编辑框
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
MiniGUI编程--编辑框
最新推荐文章于 2023-12-14 09:39:21 发布