15,980
社区成员




void CEgclipDlg::OnClickedButtonSet()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, 100 * sizeof(TCHAR)))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
strcpy_s(pBuffer, 100 * sizeof(TCHAR), (LPCSTR)(LPCTSTR)m_szSource);
if (SetClipboardData(CF_TEXT, pBuffer)) {
MessageBox(m_szSource, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
CloseClipboard();
}
void CEgclipDlg::OnClickedButtonGet()
{
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
HGLOBAL hGlobal = GetClipboardData(CF_TEXT);
LPTSTR pBuffer = (LPTSTR)GlobalLock(hGlobal);
m_szDestion.Format(_T("%s"), pBuffer);
GlobalUnlock(hGlobal);
UpdateData(FALSE);
CloseClipboard();
}
void CEgclipDlg::OnClickedButtonCut()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, 100 * sizeof(TCHAR)))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
strcpy_s(pBuffer, 100 * sizeof(TCHAR), (LPCSTR)(LPCTSTR)m_szSource);
CString szContent = m_szSource;
m_szSource = "";
UpdateData(FALSE);
if (SetClipboardData(CF_TEXT, pBuffer)) {
MessageBox(szContent, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
CloseClipboard();
}
void CEgclipDlg::OnClickedButtonSet()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
LPCTSTR pSource = (LPCTSTR)m_szSource;
size_t nLen = (_tcslen(pSource) + 1) * sizeof(TCHAR);
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, nLen))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
//strcpy_s(pBuffer, nLen, (LPCSTR)(LPCTSTR)m_szSource);
memcpy(pBuffer, pSource, nLen);
if (SetClipboardData(CF_UNICODETEXT, pBuffer)) {
MessageBox(m_szSource, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
}
void CEgclipDlg::OnClickedButtonGet()
{
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
HGLOBAL hGlobal = GetClipboardData(CF_UNICODETEXT);
LPTSTR pBuffer = (LPTSTR)GlobalLock(hGlobal);
m_szDestion.Format(_T("%s"), pBuffer);
GlobalUnlock(hGlobal);
UpdateData(FALSE);
CloseClipboard();
}
void CEgclipDlg::OnClickedButtonCut()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
LPCTSTR pSource = (LPCTSTR)m_szSource;
size_t nLen = (_tcslen(pSource) + 1) * sizeof(TCHAR);
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, nLen))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
memcpy(pBuffer, pSource, nLen);
CString szContent = m_szSource;
m_szSource = "";
UpdateData(FALSE);
if (SetClipboardData(CF_UNICODETEXT, pBuffer)) {
MessageBox(szContent, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
CloseClipboard();
}
int GetClipTextData(CString &szStringData)
{
szStringData.Empty();
if(OpenClipboard(NULL))
{
#if (defined _UNICODE || defined UNICODE)
DWORD uFormat = CF_UNICODETEXT;
#else
DWORD uFormat = CF_TEXT;
#endif //
HGLOBAL hClipData = GetClipboardData(uFormat);
if(hClipData != NULL)
{
LPCTSTR szSrc = (LPCTSTR)GlobalLock(hClipData);
szStringData = szSrc;
GlobalUnlock(hClipData);
}
CloseClipboard();
}
return szStringData.GetLength();
}
BOOL CopyTextToClipBoard(LPCTSTR szStringData)
{
BOOL bRet = FALSE;
size_t tBytesLen = (_tcslen(szStringData) + 1) * sizeof(TCHAR); //数据字节长度
LPTSTR hglbCopy = (LPTSTR)GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE | GMEM_ZEROINIT, tBytesLen); //分配内存
if(hglbCopy != NULL)
{
LPTSTR lpszDst = (LPTSTR)GlobalLock(hglbCopy); //锁定内存
memcpy(lpszDst, szStringData, tBytesLen); //拷贝数据
GlobalUnlock(hglbCopy); //解锁内存
// Place the handle on the clipboard.
if(OpenClipboard(NULL))
{
EmptyClipboard();
#if (defined _UNICODE || defined UNICODE)
SetClipboardData(CF_UNICODETEXT, hglbCopy);
#else
SetClipboardData(CF_TEXT, hglbCopy);
#endif
CloseClipboard();
bRet = TRUE;
}
}
return bRet;
}
void CEgclipDlg::OnClickedButtonSet()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, 100 * sizeof(TCHAR)))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
strcpy_s(pBuffer, 100 * sizeof(TCHAR), (LPCSTR)(LPCTSTR)m_szSource);
if (SetClipboardData(CF_UNICODETEXT, pBuffer)) {
MessageBox(m_szSource, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
}
void CEgclipDlg::OnClickedButtonGet()
{
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
HGLOBAL hGlobal = GetClipboardData(CF_UNICODETEXT);
LPTSTR pBuffer = (LPTSTR)GlobalLock(hGlobal);
m_szDestion.Format(_T("%s"), pBuffer);
GlobalUnlock(hGlobal);
UpdateData(FALSE);
CloseClipboard();
}
void CEgclipDlg::OnClickedButtonCut()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, 100 * sizeof(TCHAR)))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
strcpy_s(pBuffer, 100 * sizeof(TCHAR), (LPCSTR)(LPCTSTR)m_szSource);
CString szContent = m_szSource;
m_szSource = "";
UpdateData(FALSE);
if (SetClipboardData(CF_UNICODETEXT, pBuffer)) {
MessageBox(szContent, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
CloseClipboard();
}
void CEgclipDlg::OnClickedButtonSet()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, 100 * sizeof(TCHAR)))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
strcpy_s(pBuffer, 100 * sizeof(TCHAR), (LPCSTR)(LPCTSTR)m_szSource);
if (SetClipboardData(CF_UNICODETEXT, pBuffer)) {
MessageBox(m_szSource, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
}
void CEgclipDlg::OnClickedButtonGet()
{
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
HGLOBAL hGlobal = GetClipboardData(CF_TEXT);
LPTSTR pBuffer = (LPTSTR)GlobalLock(hGlobal);
m_szDestion.Format(_T("%s"), pBuffer);
GlobalUnlock(hGlobal);
UpdateData(FALSE);
CloseClipboard();
}
void CEgclipDlg::OnClickedButtonCut()
{
UpdateData(TRUE);
LPSTR pBuffer = NULL;
if (!(pBuffer = (LPSTR)GlobalAlloc(GMEM_DDESHARE, 100 * sizeof(TCHAR)))) {
return;
}
if (!OpenClipboard()) {
MessageBox(_T("调用OpenClipboard函数打开剪切板时发生错误."), _T("错误"));
return;
}
EmptyClipboard();
strcpy_s(pBuffer, 100 * sizeof(TCHAR), (LPCSTR)(LPCTSTR)m_szSource);
CString szContent = m_szSource;
m_szSource = "";
UpdateData(FALSE);
if (SetClipboardData(CF_UNICODETEXT, pBuffer)) {
MessageBox(szContent, _T("复制内容"));
}
else {
MessageBox(_T("复制失败."));
}
CloseClipboard();
}