win32学习----编辑控件的使用

1、定义控件ID    #define ID_EDIT 1
2、创建控件,并返回控件句柄
   hwndEdit = CreateWindow(
            TEXT("edit"), NULL,
            WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_HSCROLL|//WS_BORDER|
            ES_LEFT|ES_MULTILINE|ES_AUTOHSCROLL|ES_AUTOVSCROLL,
            0, 0, 100, 100, hwnd, (HMENU)ID_EDIT,
            ((LPCREATESTRUCT)lParam)->hInstance, NULL);

3、设置焦点:
   case WM_SETFOCUS:
        SetFocus(hwndEdit);
        return 0;

4、获取消息:
   case WM_COMMAND:
        if(HIWORD(wParam) == EN_UPDATE && LOWORD(wParam) == ID_EDIT)
            edittxt = "";
        return 0;

5、编辑控件的通知消息:
   编辑控件向父窗口发送WM_COMMAND消息
   LOWORD(wParam)      子窗口ID
   HIWORD(wParam)      通知码
   lParam              子窗口句柄

   通知码如下所示:
   EN_SETFOCUS         编辑控件得到了输入焦点
   EN_KILLFOCUS        编辑控件失去了输入焦点
   EN_CHANGE           编辑控件的内容将变化
   EN_UPDATE           编辑控件的内容已变化
   EN_ERRSPACE         编辑控件没有空间了
   EN_MAXTEXT          编辑控件没有空间完成插入了
   EN_HSCROLL          编辑控件水平滚动条被单击了
   EN_VSCROLL          编辑控件的垂直滚动条被单击了

6、向编辑控件传递消息
   SendMessage(hwndEdit, WM_CUT, 0, 0);        //剪切
   SendMessage(hwndEdit, WM_COPY, 0, 0);    //复制
   SendMessage(hwndEdit, WM_CLEAR, 0, 0);    //清空
   SendMessage(hwndEdit, WM_PASTE, 0, 0);    //粘贴

   //获取当前选择文本的初始位置和终止位置
   SendMessage(hwndEdit, EM_GETSEL, (WPARAM)&iStart, (LPARAM)&iEnd);
   //用其他文本取代当前选择的文本
   SendMessage(hwndEdit, EM_REPLACESEL, 0, (LPARAM)szString);
   //对于多行编辑器,得到编辑器的行数
   iCount = SendMessage(hwndEdit, EM_GETLINECOUNT, 0, 0);
   //对于某一指定行,获取从编辑器缓冲区的起点到这行的位移量
   iOffset = SendMessage(hwndEdit, EM_LINEINDEX, iLine, 0);
   //获取某行长度
   iLength = SendMessage(hwndEdit, EM_LINELENGTH, iLine, 0);
   //复制某一行到缓冲区
   iLength = SendMessage(hwndEdit, EM_GETLINE, iLine, (LPARAM)szBuffer);
   ………………………………

   后续有遇到的再加上,貌似好多的样子
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值