Mfc 将键盘输入保存到CArray并输出到静态文本时出现问题

Mfc 将键盘输入保存到CArray并输出到静态文本时出现问题,mfc,Mfc,我使用CArray对SetWindowText(arr.GetDate())执行静态文本,结果如下 输入1时的结果为上图。上部使用CString,下部使用CArray。您可以使用CString,但我想知道原因 谢谢你的回答 在CFormView的子类.h文件中,定义CArray m_arr变量,并在.cpp文件中添加wm_char作为击键事件 Void CMyCalcView :: OnChar (UINT nChar, UINT nRepCnt, UINT nFlags) { M_arr

我使用
CArray
SetWindowText(arr.GetDate())
执行静态文本,结果如下

输入1时的结果为上图。上部使用
CString
,下部使用
CArray
。您可以使用
CString
,但我想知道原因

谢谢你的回答 在CFormView的子类.h文件中,定义CArray m_arr变量,并在.cpp文件中添加wm_char作为击键事件

Void CMyCalcView :: OnChar (UINT nChar, UINT nRepCnt, UINT nFlags) 
{ 
M_arr.Add (nChar); 
CFormView :: OnChar (nChar, nRepCnt, nFlags); 
} 
使用wm_paint作为绘图事件

Void CMyCalcView :: OnPaint () 
{ 
CPaintDC dc (this); 
M_staticText.SetWindowText (m_arr.GetData ()); // m_staticText is a resource 
} 

CArray必须是TCHAR类型,并且要注意,如果没有终止0字符,SetWindowText将无法工作

您必须使用分隔符,以便SetWindowText获取字符后面的所有数据


使用CString将是更好的解决方案。

显示更多代码。具体是什么?