F
Hallo,
ich weiss nicht genau, welche Schritte du alle ausführst, deswegen mal ein bisschen Quelltext:
void CNavClipCtrl::SetClipText()
{
HGLOBAL hGlobalMemory = NULL;
LPTSTR pcGlobalMemory = NULL;
LPTSTR pcLocalText =(LPTSTR) cszClipText.GetBuffer(0);
int iTextLen;
iTextLen = _tcslen(pcLocalText);
hGlobalMemory = ::GlobalAlloc(GHND |GMEM_SHARE, (iTextLen+1)*sizeof(TCHAR));
//Speicher für den Text + Nullchar auf dem globalen Heap reservieren,
if (hGlobalMemory)
{
pcGlobalMemory = (LPTSTR) ::GlobalLock(hGlobalMemory);
//Speicher sperren, erst GlobalLock liefert einen verwertbaren Pointer zurück
//wenn GHND bzw. GMEM_MOVEABLE angegeben ist
if (pcGlobalMemory)
{
for (int i = 0; i<iTextLen;i++)
*pcGlobalMemory++ = *pcLocalText++;
//Text reinschieben
::GlobalUnlock(hGlobalMemory);
//Speicher wieder entsperren
::OpenClipboard (NULL);
::EmptyClipboard();
::SetClipboardData(_CF_TTEXT, hGlobalMemory);
::CloseClipboard();
}
}
cszClipText = __TEXT("");
return;
}