读书人

关于edit窗口控件的有关问题(待)

发布时间: 2012-02-16 21:30:36 作者: rapoo

关于edit窗口控件的问题(在线等待)
程序里有2个edit控件,一个是输入一个是输出(为READONLY)在接收ctrl+enter消息时
SetText和GetText只是简单的调用SetWindowText和GetWindowText
case WM_COMMAND:
if(LOWORD(wParam)==ID_INPUTEDIT)
{
switch(HIWORD(wParam))
{
case EN_CHANGE:
if(GetAsyncKeyState(VK_CONTROL))
{
OutputEdit.SetText(InputEdit.GetText(),false);
InputEdit.SetText(TEXT( " "),true);
SetFocus(InputEdit.GetHwnd());
}
}
}
else if(LOWORD(wParam)==ID_SENDBUTTON)
{
switch(HIWORD(wParam))
{
case BN_CLICKED:
OutputEdit.SetText(InputEdit.GetText(),false);
InputEdit.SetText(TEXT( " "),true);
SetFocus(InputEdit.GetHwnd());
}
}
比如先在输入edit中输入abc和def用ctrl+enter
在输出edit中就显示:
abc
def
如果用我设置的BUTTON,则显示:
abcdef
不知道这是什么原因....
然后我修改了BN_CLICKED;
OutputEdit.SetText(InputEdit.GetText(),false);
OutputEdit.SetText(TEXT( "\n "),false);
InputEdit.SetText(TEXT( " "),true);
SetFocus(InputEdit.GetHwnd());
abcIdefI(不是i是一个奇怪的字符,我复制粘贴过来后就变成换行了,但是在edit窗口显示时显示出一个竖杠)

[解决办法]
OutputEdit.SetText(TEXT( "\n "),false);
==========================
使用_T( "\r\n ")试试。
换行是由两个控制符组合而成的,一个是“移至行首”,另一个是“移至下一行”。

读书人网 >C++

热点推荐