多行编辑控件>移动下一行 [英] MultilineEdit Control > to move next line

查看:150
本文介绍了多行编辑控件>移动下一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请让我知道,当用户选择<<<<< ALT + ENTER>>>.>时,我需要实现以启用换行符(多行编辑控件)的构造.
在PreTranslateMessage()

...
...

Please let me know, the constructs I need to implement for enabling new line (Multiline Edit Control) when user selects <<ALT + ENTER>>.
in PreTranslateMessage()

...
...

if((pMsg->message == WM_KEYDOWN) &&
     (pMsg->wParam == VK_RETURN))
  {
     //Enter key was hit -> do whatever you want
      <<some function to execute>>
    return TRUE;
  }



我想上面的代码应该处理<<< ALT + ENTER>>代替<< Enter>> ,因此,我将(WM_KEYDOWN更改为WM_SYSKEYDOWN),但徒劳地,它无法正常工作.请告诉我<<< ALT + ENTER>>的等效代码处理程序键.

Rgrds,



I presume the above code should handle <<ALT +ENTER>> instead of <<Enter>> , Hence, I have changed the (WM_KEYDOWN to WM_SYSKEYDOWN)but, in vain, it isn''t working properly. Pls., let me know equivalent code handlers for <<ALT +ENTER>> keys.

Rgrds,

推荐答案

如果要使用多行文本框,则不需要覆盖PreTranslateMessage.您要做的就是在对话框中放置经典的Edit Control并将其多行想要的收益属性设置为 true .

如果仍要使用PreTranslateMessage知道用户何时按ALT + ENTER,请使用以下代码:
If you want a multiline textbox, you don''t need to override PreTranslateMessage. All you have to do is dropping a classical Edit Control in your dialog and set its Multiline and Want Return properties to true.

If you still want to use PreTranslateMessage to know when the user presses ALT+ENTER, then use this code:
BOOL CYourDialog::PreTranslateMessage(MSG* pMsg)
{
    if (pMsg->message == WM_SYSCHAR && pMsg->wParam == VK_RETURN)
    {
        //user pressed ALT+RETURN key
        ...
    }
    return CYourDialog::PreTranslateMessage(pMsg);
}


这篇关于多行编辑控件&gt;移动下一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆