在win32应用程序中使用GetDlgItemText()

时间:2015-01-07 09:24:35

标签: c winapi

有人可以在 GetDlgItemText() 应用中说明win32的使用情况吗?

char msg [DEFAULT_MSGLEN];    
GetDlgItemText(hWnd, IDC_REPLYBOX, (LPSTR)&msg, DEFAULT_MSGLEN);
SetDlgItemText(hWnd, IDC_CHATSCREEN, TEXT(strcat( "YOU : ", msg ));

2 个答案:

答案 0 :(得分:1)

  1. 如果您的项目是Unicode,则必须将msg定义为TCHAR而不是char
  2. strcat( "YOU : ", msg )是严重的错误。分配缓冲区变量,例如TCHAR buf[256],然后是wsprintf( buf, TEXT( "YOU : %s" ), msg )

答案 1 :(得分:0)

GetDlgItemText()用于在对话框中检索与控件关联的标题或文本。

GetDlgItemText(hWnd, IDC_REPLYBOX, (LPSTR)&msg, DEFAULT_MSGLEN);

此代码正在获取IDC_REPLYBOX

的文字
CString s;
s.Format("YOU: %s",msg);
SetDlgItemText(hWnd, IDC_CHATSCREEN, s);

这是为IDC_CHATSCREEN

设置新文字

尝试先将文本保存到变量中,这样就不会在SetDlgItem中将其连接起来