繁体   English   中英

编辑框的最后一个字符位置

[英]Last Character position of a Edit Box

有没有一种方法可以获取编辑框的最后一个字符位置? 我的意思是我需要实现一个函数以在其末尾附加一些文本。

我研究了可以通过编辑控件发送或接收的消息。 但是问题是没有办法直接做到这一点。

-替代:-

我想到的替代方法是在接收到EM_CHANGE时记录当前位置的当前文本位置,并在最大位置整数大于当前最大位置时更新最大位置整数。

int edit_box_last_pos = 0;

case WM_COMMAND:
  switch (HIWORD(wParam))   
  {
    case EN_CHANGE:
        // get the current character position //
        if (LOWORD(SendMessage(error_window_edit,EM_GETSEL,(WPARAM)NULL,(LPARAM)NULL)) > max_char_pos )
        {
          max_char_pos =LOWORD(SendMessage(error_window_edit,EM_GETSEL,(LPARAM)NULL,(WPARAM)NULL));
        }

        return 0;
        break;
    default:
    break;  
  }

但是,除了这个,还有没有办法直接做到这一点?

- 提前致谢 -

我认为这就是您想要的。

length = SendMessage(error_window_edit, WM_GETTEXTLENGTH, 0, 0);

这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM