请教WIN32程序无法获取EDIT控件内容的问题
WIN32窗口,逻辑:通过EDIT编辑框控件输入一个数或一串字符,
再用SendMessage(edit1,WM_GETTEXT,10, (LPARAM)sss);获取输入的数据,存入SSS数组中;
再用TextOut将存入的数据显示出来。
但是无论如何都无法获取控件输入的内容,显示出来的始终屎乱码,感觉SendMessage(edit1,WM_GETTEXT,10, (LPARAM)sss);无效,
帮我看看那里错了?
代码:
程序代码:#include <windows.h>
//回调函数.............................................................................
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
TCHAR sss[100];
HWND edit1;
HWND an1; //定义输出设备句柄
switch(uMsg) //消息选择
{
case WM_COMMAND:
{
switch(LOWORD(wParam)) //点击不同的控件显示,走不同的处理路径
{
case 101:
{
MessageBox(hwnd,"提交成功","恭喜",MB_OK|MB_ICONINFORMATION);
SendMessage(edit1,WM_GETTEXT,10, (LPARAM)sss); //获取控件内容
UpdateWindow(hwnd);
break;
}
default:
break;*/
return 0;
}
return 0;
}
case WM_DESTROY: //当前窗口被销毁时
PostQuitMessage(0); //发出退出程序的消息
return 0; //如果处理了该消息, 就返回 0 来告知 Windows
case WM_CLOSE: //当用户点击窗口右上角的关闭按钮时
DestroyWindow(hwnd); //销毁窗口
return 0;
case WM_CREATE: //按钮创建
{
edit1 = CreateWindow("EDIT",NULL, WS_CHILD|WS_VISIBLE|WS_BORDER, 220, 30, 100,25,hwnd,(HMENU)201, NULL, NULL); //创建编辑框控件
an1 = CreateWindow("button","提交",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,340,30,50,25,hwnd,(HMENU)101,NULL,NULL); //创建按钮控件
return 0;
}
case WM_PAINT: //当窗口需要重绘时
{
//RECT rect; //定义一块显示区域,DrawText 函数需要的参数
PAINTSTRUCT ps = {0}; //定义一个 数组存放字符串
hdc = BeginPaint(hwnd,&ps); //开始重绘
/******************************************核心程序代码区******************************************************************/
SetTextColor(hdc, RGB(255,0,0)); //设置字体颜色
Rectangle(hdc,2,2,818,555);
Rectangle(hdc,10,90,810,550); //画框,必须在正文之前显示框,否则正文会被覆盖
Rectangle(hdc,10,10,810,80); //画框
TextOut(hdc,100,30,TEXT("请输入参数A的值:"),16);
TextOut(hdc,450,30,sss,10);
/******************************************核心程序代码区******************************************************************/
EndPaint(hwnd,&ps); //结束重绘
return 0;
}
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
}
运行结果
无论输入什么,显示出来都是乱码

