求大神帮忙看两个简短的MFC函数,关于剪切板的,在VC6运行还可以,到vs2013就出问题了
首先为什么这第一个函数只能剪切一个字符?voidCclipboardDlg::OnBnClickedSendBtn(){//TODO:在此添加控件通知处理程序代码if(O...
首先为什么这第一个函数只能剪切一个字符?
void CclipboardDlg::OnBnClickedSendBtn()
{
// TODO: 在此添加控件通知处理程序代码
if(OpenClipboard())
{
CString strCut;
HANDLE hClip;
char* pBuf;
int len;
EmptyClipboard();
GetDlgItemText(IDC_EDIT_SEND,strCut);
len=strCut.GetLength()+1;
hClip=GlobalAlloc(GMEM_MOVEABLE,len);
pBuf=(char*)GlobalLock(hClip);
strcpy_s(pBuf,len,(char*)strCut.GetBuffer(len));
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
}
CloseClipboard();
}
第二个函数粘贴了会乱码
void CclipboardDlg::OnBnClickedRecvBtn()
{
// TODO: 在此添加控件通知处理程序代码
if(OpenClipboard())
{
HANDLE hClip;
char* pbuf;
hClip=GetClipboardData(CF_TEXT);
pbuf=(char*)GlobalLock(hClip);
GlobalUnlock(hClip);
SetDlgItemText(IDC_EDIT_RECV,(LPCTSTR)pbuf);
}
CloseClipboard();
} 展开
void CclipboardDlg::OnBnClickedSendBtn()
{
// TODO: 在此添加控件通知处理程序代码
if(OpenClipboard())
{
CString strCut;
HANDLE hClip;
char* pBuf;
int len;
EmptyClipboard();
GetDlgItemText(IDC_EDIT_SEND,strCut);
len=strCut.GetLength()+1;
hClip=GlobalAlloc(GMEM_MOVEABLE,len);
pBuf=(char*)GlobalLock(hClip);
strcpy_s(pBuf,len,(char*)strCut.GetBuffer(len));
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
}
CloseClipboard();
}
第二个函数粘贴了会乱码
void CclipboardDlg::OnBnClickedRecvBtn()
{
// TODO: 在此添加控件通知处理程序代码
if(OpenClipboard())
{
HANDLE hClip;
char* pbuf;
hClip=GetClipboardData(CF_TEXT);
pbuf=(char*)GlobalLock(hClip);
GlobalUnlock(hClip);
SetDlgItemText(IDC_EDIT_RECV,(LPCTSTR)pbuf);
}
CloseClipboard();
} 展开
2个回答
展开全部
编码的问题,VS工具创建的工程,默认编码是Unicode的。
而VC6.0创建的工程,默认编码是多字节的,所以VC6.0是没有问题的。
你把VS创建的工程属性的编码更改下就可以了。
而VC6.0创建的工程,默认编码是多字节的,所以VC6.0是没有问题的。
你把VS创建的工程属性的编码更改下就可以了。
更多追问追答
追问
现在一直提倡说用unicode来写程序,所以现在用vs也是为了适应下unicode,希望是不改变编码的情况下来实现剪切板。我网上也找了些相应代码,但是跟我这个一样的。。。所以希望你帮帮忙,感谢了
追答
谁说现在提倡说要用Unicode来写程序的。
很少有人用Unicode的,因为Unicode处理起来很麻烦,很多你学过的函数都不能用,必须用Unicode对应的函数,操作很麻烦。一般公司的项目,都很少用的。至少我还没有遇到过。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询