Freigeben über


CWnd::OpenClipboard

Öffnet die Zwischenablage.

BOOL OpenClipboard( );

Rückgabewert

Ungleich 0 (null), wenn die Zwischenablage über CWnd geöffnet ist oder 0, wenn eine andere Anwendung oder Fenster die geöffnete Zwischenablage verfügt.

Hinweise

Andere Anwendungen sind nicht in der Lage, die Zwischenablage zu ändern, bis die CloseClipboard Windows-Funktion aufgerufen wurde.

Das aktuelle Objekt CWnd wird nicht der Besitzer der Zwischenablage, bis die EmptyClipboard Windows-Funktion aufgerufen wurde.

Beispiel

//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
   if (!OpenClipboard())
   {
      AfxMessageBox(_T("Cannot open the Clipboard"));
      return;
   }
   // Remove the current Clipboard contents  
   if(!EmptyClipboard())
   {
      AfxMessageBox(_T("Cannot empty the Clipboard"));
      return;  
   }

   // Get the currently selected data, hData handle to 
   // global memory of data
   CString str;
   m_Edit.GetWindowText(str);
   size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
   HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
   memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
   GlobalUnlock(hData);
   str.UnlockBuffer();

   // For the appropriate data formats...
   UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
   if (::SetClipboardData(uiFormat, hData) == NULL)  
   {
      AfxMessageBox(_T("Unable to set Clipboard data"));    
      CloseClipboard();
      return;  
   }  

   CloseClipboard();
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CWnd-Klasse

Hierarchien-Diagramm

CloseClipboard

EmptyClipboard

OpenClipboard