定义了一个过程,目的:已知一个RichEdit的句柄,从剪贴板往一个RichEdit上粘贴文字,但是总出错,请给检查一下:
Procedure AddMyText(Rich:hwnd); //Rich:RichEdit的句柄
Const
sTmp='dsfdsfsdaf';
Var
hMem:HGLOBAL;
pStr:LPTSTR;
Begin
hMem := GlobalAlloc(GHND Or GMEM_SHARE, sizeof(sTmp));
pStr := GlobalLock(hMem);
lstrcpy(pStr, sTmp);
GlobalUnlock(hMem);
OpenClipboard(rich);
EmptyClipboard();
SetClipboardData(CF_UNICODETEXT, hMem); //-----=====出错!!!!!
CloseClipboard();
GlobalFree(hMem);
SendMessage(Rich, WM_PASTE, 0, 0);
end;
OS: Win2kServer
Procedure AddMyText(Rich:hwnd); //Rich:RichEdit的句柄
Const
sTmp='dsfdsfsdaf';
Var
hMem:HGLOBAL;
pStr:LPTSTR;
Begin
hMem := GlobalAlloc(GHND Or GMEM_SHARE, sizeof(sTmp));
pStr := GlobalLock(hMem);
lstrcpy(pStr, sTmp);
GlobalUnlock(hMem);
OpenClipboard(rich);
EmptyClipboard();
SetClipboardData(CF_UNICODETEXT, hMem); //-----=====出错!!!!!
CloseClipboard();
GlobalFree(hMem);
SendMessage(Rich, WM_PASTE, 0, 0);
end;
OS: Win2kServer
hMem := GlobalAlloc(GHND Or GMEM_SHARE, Length(sTmp)+1);楼主,用这么多Api干什么?把简单的问题搞得这么复杂,I 服了 U!
看Help就知道了