69,369
社区成员
发帖
与我相关
我的任务
分享
void addText(HWND hDlg){
//增加文本的函数
static TCHAR *TC;
int nMax=GetWindowTextLength(hDlg);
HWND hWnd= ::GetDlgItem(hDlg,IDC_EDT_TEXT); //获取edit控件中的内容,但是出错?
//上行error: 'GetWindowTextA' : cannot convert parameter 2 from 'TCHAR *' to 'LPSTR'
GetWindowTextA(hWnd,TC,nMax);
MessageBoxA(hDlg,(LPSTR)TC,TEXT("提示"),NULL);
//上行error:'MessageBoxA' : cannot convert parameter 3 from 'const wchar_t [3]' to 'LPCSTR'
}
void addText(HWND hDlg){
int nMax=GetWindowTextLength(hDlg);
HWND hWnd= ::GetDlgItem(hDlg,IDC_EDT_TEXT);
//TCHAR *TC = new TCHAR[nMax+1];
TCHAR TC[200];
GetWindowText(hWnd,TC,sizeof(TC)*sizeof(char)); //获取edit控件中的内容
MessageBox(hDlg,TC,_T("提示"),NULL);
}
能正常显示输入的字符串了,
前面说的卡顿问题是我自己其他代码的原因,没有处理好按钮事件,谢谢各位了,结帖,回者有分,因为人比较多,这些只能是意思意思了
void addText(HWND hDlg){
int nMax=GetWindowTextLength(hDlg);
HWND hWnd= ::GetDlgItem(hDlg,IDC_EDT_TEXT); //获取edit控件中的内容,但是出错?
//TCHAR *TC = new TCHAR[nMax+1];
TCHAR *TC = (TCHAR*)malloc(nMax+1);
GetWindowText(hWnd,TC,nMax);
MessageBox(hDlg,TC,_T("提示"),NULL);
delete TC;
}
原来是没有初始化,
请问为什么运行之后会卡死在那里,只有ctrl+alt+del结束才行
// unicode字符集
void addText(HWND hDlg)
{
static TCHAR *TC;
int nMax=GetWindowTextLength(hDlg);
HWND hWnd= ::GetDlgItem(hDlg,IDC_EDT_TEXT);
GetWindowText(hWnd,TC,nMax);
MessageBox(hDlg,TC,TEXT("提示"),NULL);
}
void addText(HWND hDlg){
int nMax=GetWindowTextLength(hDlg);
HWND hWnd= ::GetDlgItem(hDlg,IDC_EDT_TEXT); //获取edit控件中的内容,但是出错?
TCHAR *TC = new TCHAR[nMax+1];
GetWindowText(hWnd,TC,nMax);
MessageBox(hDlg,TC,_T("提示"),NULL);
delete TC;
}