我想在cedit中写多行文本,但是我能换行,虽然我已经在属性的style里面选择了multiline;请教各位高手指点!

解决方案 »

  1.   

    不同行字符串之间用\r\n分割,例如:GetDlgItem( IDC_EDIT1 )->SetWindowText( "test\r\nhello" );
    这样输出就是两行,第1行为test,第2行为hello
      

  2.   

    Edit控件本身的属性设置成multiline:
    如果是手工输入内容时,换行请用<Ctrl>+<Enter>组合健;
    如果是想显示内容时多行显示,请用"\r\n"分隔符代替'\n'分隔符。
      

  3.   

    那如何不要用ctrl+enter来回车,而直接来回车?
      

  4.   

    在style里勾上"Want return"属性
      

  5.   

    重载窗口的PreTranslateMessage虚函数,拦截回车键并向编辑框发消息,如下所示:
    (其中IDC_EDIT1为编辑框的ID)
    BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg) 
    {
    if( pMsg->message == WM_KEYDOWN )
    {
    if( pMsg->wParam == VK_RETURN )
    {
    // 判断是否编辑框得到输入焦点,是则向其发送回车的字符消息
    if( GetFocus( ) == GetDlgItem( IDC_EDIT1 ) )
    GetDlgItem( IDC_EDIT1 )->SendMessage( WM_CHAR , '\n' , 1 );
    return TRUE;
    }
    }

    return CDialog::PreTranslateMessage(pMsg);
    }
      

  6.   

    up
    同时请别忘了去掉对话框的DefaultButton.
      

  7.   

    m_edit->Create(NULL, NULL, WS_VSCROLL|WS_CHILD|WS_VISIBLE|ES_AUTOVSCROLL|ES_MULTILINE|ES_WANTRETURN, CFrameWnd::rectDefault, this, VIEW_EDIT, pContext);
      

  8.   

    在style里勾上"multiline"和"Want return"属性
      

  9.   

    八仙过海,各显神通!
    哪有谁知道怎么在 cedit 里面画图,就像 word 一样!