高手帮帮忙啊小弟我从Windows派生的Edit怎么正确显示文字

高手帮帮忙啊,我从Windows派生的Edit如何正确显示文字
由于我直接往DC上打印文字会使英文单词换行不合理,所以我需要使用windows   Edit控件的自动换行功能。

我使用::CreateWindow(_T( "EDIT "),...)创建一个标准的Edit,注册类窗口如下:

WNDCLASS   wc;

wc.style                   =   CS_HREDRAW   |   CS_VREDRAW;
wc.lpfnWndProc       =   (WNDPROC)EditProc;
wc.cbClsExtra         =   0;
wc.cbWndExtra         =   0;
wc.hInstance           =   GetInstance();
wc.hIcon                   =   NULL;
wc.hCursor               =   0;
wc.hbrBackground   =   (HBRUSH)::CreateSolidBrush(RGB(50,   50,   50));
wc.lpszMenuName     =   0;
wc.lpszClassName   =   _T( "EDIT ");

::RegisterClass(&wc);

  EditProc   全部使用WINDOWS默认处理所有消息,背景画出来了但是::SetWindowText()所设置的文字无法显示。
如果我不注册窗口类,而是使用父窗口的消息处理函数。那文字可以显示出来,但是WM_ERASEBKGND会造成屏幕闪烁,而且背景颜色和文字颜色也不对。

我只是需要自动换行这个功能,请问高手该怎么解决。


------解决方案--------------------
如果ES_MULTILINE | ES_WANTRETURN 风格达不到你的要求,准备自绘的话,要你自己计算长度,然后选择位置输出文字