急问!为什莫用SetDlgItemText在edit框中显示的是乱码?该怎么解决

急问!为什莫用SetDlgItemText在edit框中显示的是乱码?
很简单的问题,制作一个电话的键盘,用户按下键盘上的相应键,在文本框中就显示相应的号码。

{
char   numstr[256];
char   orinum[256];/
sprintf((char*)numstr, "%d ",   num);//num保存刚按下的键对应的数字
GetDlgItemText(hwnd,IDC_PHONENUM,(LPWSTR)orinum,sizeof(orinum));//获得文本框中已输入的号码

strcat(orinum,numstr);
SetDlgItemText(hwnd,IDC_PHONENUM,(LPWSTR)orinum);//设置新号码
}
SetDlgItemText中的orinum跟踪时是获得新号码了的,但是显示出来的就是乱码,我怀疑是不是字符串的类型转换错误了,但是实在不晓得怎莫改,所以请大家帮帮忙了!   谢谢!

------解决方案--------------------
开始UpateData(TRUE)或者结束的时候UpateData(FALSE)试试行不??
------解决方案--------------------
UpdateData(TRUE);


UpdateData(FALSE);