你要map一下选择或是复制的消息 然后,取得文本,再打开剪切板 下面的代码可能对你有用void CMyView::OnEditCopy() { if ( !OpenClipboard() ) { AfxMessageBox( "Cannot open the Clipboard" ); return; } // Remove the current Clipboard contents if( !EmptyClipboard() ) { AfxMessageBox( "Cannot empty the Clipboard" ); return; } // ... // Get the currently selected data // ... // For the appropriate data formats... if ( ::SetClipboardData( CF_??, hData ) == NULL ) { AfxMessageBox( "Unable to set Clipboard data" ); CloseClipboard(); return; } // ... CloseClipboard(); }
然后,取得文本,再打开剪切板
下面的代码可能对你有用void CMyView::OnEditCopy()
{
if ( !OpenClipboard() )
{
AfxMessageBox( "Cannot open the Clipboard" );
return;
}
// Remove the current Clipboard contents
if( !EmptyClipboard() )
{
AfxMessageBox( "Cannot empty the Clipboard" );
return;
}
// ...
// Get the currently selected data
// ...
// For the appropriate data formats...
if ( ::SetClipboardData( CF_??, hData ) == NULL )
{
AfxMessageBox( "Unable to set Clipboard data" );
CloseClipboard();
return;
}
// ...
CloseClipboard();
}
HANDLE hGlobalMemory = GlobalAlloc(GHND, dwLength + 1); // 分配内存
LPBYTE lpGlobalMemory = (LPBYTE)GlobalLock(hGlobalMemory); // 锁定内存
for (int i = 0; i 〈 dwLength; i++) // 将"*"复制到全局内存块
*lpGlobalMemory++ = '*';
GlobalUnlock(hGlobalMemory); // 锁定内存块解锁
HWND hWnd = GetSafeHwnd(); // 获取安全窗口句柄
::OpenClipboard(hWnd); // 打开剪贴板
::EmptyClipboard(); // 清空剪贴板
::SetClipboardData(CF_TEXT, hGlobalMemory); // 将内存中的数据放置到剪贴板
::CloseClipboard(); // 关闭剪贴板
在要写字的地方铺一个Edit控件