
vc操作剪切板,出现错误。
voidCclipboardDlg::generateRandomNumbers(){UpdateData(TRUE);intoffsetLeft,offsetRight...
void CclipboardDlg::generateRandomNumbers()
{
UpdateData(TRUE);
int offsetLeft, offsetRight;
int a = offset.Find(_T(","));
offsetLeft = _wtoi(offset.Left(a));
int tmpA = offset.GetLength();
offsetRight = _wtoi(offset.Right(tmpA-1-a));
int *myArray = new int[number]; //这里怎么改?
srand((unsigned)GetCurrentTime());
for(int i=1;i<number;i++)
{
myArray[i] = base + rand();
}
CString source;
for(int i=0;i<number-1;i++)
{
source.Format(_T("%s,%d"),source,myArray[i]);
}
source.Format(_T("%s,%d"),source,myArray[number-1]);
//文本内容保存在source变量中
if( OpenClipboard() )
{
HGLOBAL clipbuffer;
wchar_t * buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);
buffer = (wchar_t*)GlobalLock(clipbuffer);
wcscpy(buffer, LPCTSTR(source));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);//运行到此时,出错。
CloseClipboard();
}
UpdateData();
delete myArray;
}
谢谢! 展开
{
UpdateData(TRUE);
int offsetLeft, offsetRight;
int a = offset.Find(_T(","));
offsetLeft = _wtoi(offset.Left(a));
int tmpA = offset.GetLength();
offsetRight = _wtoi(offset.Right(tmpA-1-a));
int *myArray = new int[number]; //这里怎么改?
srand((unsigned)GetCurrentTime());
for(int i=1;i<number;i++)
{
myArray[i] = base + rand();
}
CString source;
for(int i=0;i<number-1;i++)
{
source.Format(_T("%s,%d"),source,myArray[i]);
}
source.Format(_T("%s,%d"),source,myArray[number-1]);
//文本内容保存在source变量中
if( OpenClipboard() )
{
HGLOBAL clipbuffer;
wchar_t * buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, source.GetLength()+1);
buffer = (wchar_t*)GlobalLock(clipbuffer);
wcscpy(buffer, LPCTSTR(source));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);//运行到此时,出错。
CloseClipboard();
}
UpdateData();
delete myArray;
}
谢谢! 展开
1个回答
展开全部
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);//运行到此时,出错。
先 SetClipboardData(CF_TEXT,clipbuffer);
后 GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);//运行到此时,出错。
先 SetClipboardData(CF_TEXT,clipbuffer);
后 GlobalUnlock(clipbuffer);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询