怎样把一个字符串复制到剪贴板?
怎样把一个字符串复制到剪贴板? 问题点数:100、回复次数:7Top
1 楼iceneve(暗星云)回复于 2002-04-17 18:52:25 得分 20
COleDataSource ods;
....
ods.CacheData(...)
....
ods.SetClipboard();
.....Top
2 楼ynnwq(NANA)回复于 2002-04-17 18:53:48 得分 0
具体一点,好吗?
谢谢
Top
3 楼2ndboy(贱男春)回复于 2002-04-17 19:04:21 得分 45
char temp[81];
GetDlgItemText(hDlg,IDC_HTML,temp,80);
HGLOBAL hGlobal=GlobalAlloc(GHND|GMEM_SHARE,strlen(temp)+1); //分配指定长度内存
char *pGlobal=(char *)GlobalLock(hGlobal); //锁住内存并获得首指针
for(UINT i=0;i<strlen(temp);i++)
pGlobal[i]=temp[i]; //将ID放入内存
GlobalUnlock(hGlobal); //解锁内存块
OpenClipboard(hDlg); //打开剪贴板
EmptyClipboard(); //清空剪贴板
SetClipboardData(CF_TEXT,hGlobal); //将ID放入剪贴板
CloseClipboard(); //关闭剪贴板Top
4 楼2ndboy(贱男春)回复于 2002-04-17 19:05:09 得分 5
以前用过的一段代码,参考一下Top
5 楼ynnwq(NANA)回复于 2002-04-17 19:10:15 得分 0
我去试一试,谢谢Top
6 楼ynnwq(NANA)回复于 2002-04-17 19:11:37 得分 0
各位,给我留个E-MAIL好吗?Top
7 楼fhbkyo(光荣潜水员)回复于 2002-04-17 19:27:58 得分 30
HANDLE hChar;
LPTSTR lpString,lpChar;
……
case IDM_COPY:
if(!(hChar=GlobalAlloc(GHND,Sizeof(lpString)))
{
MessageBox(hwnd,"全局内存分配失败","ERROR",MB_OK);
break;
}
lpChar=GlobalLock(hChar);
lstrcpy(lpText,lpString);
GlobalUnlock(hChar);
if(!OpenClipboard(hwnd))
{
MessageBox(hwnd,"剪贴板打开失败","ERROR",MB_OK);
break;
}
EmptyClipboard();
SetClipboardData(CF_TEXT,hChar);
CloseClipboard();
hChar=NULL;
break;Top




