我参照《windows程序设计》里面的源程序,找到了几处错误,在处理菜单消息的时候,应该是
SendMessage (hwndEdit, WM_UNDO, 0, 0) ;
窗口句柄是后建的子窗口hwndEdit,不是父窗口hwnd,将后面的消息都改过来,除了关闭程序时发送的
SendMessage (hwnd, WM_CLOSE, 0, 0) ;
这个消息两个窗口句柄都行。
另外我这个程序运行的时候始终不是文本编辑框,我按源程序将WM_CREATE消息下的语句改成:
hwndedit = CreateWindow(TEXT("edit"),NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_MULTILINE ,
0, 0, 0, 0, hwnd, (HMENU)1,
((LPCREATESTRUCT)lparam)->hInstance, NULL) ;
将第一个参量改成"edit"结果就正确了,用其它的都不对,我用了visual assist,这两个字符串显示的颜色也不一样,不知道是什么问题,继续研究。