MFC2010. 4. 14. 16:11

에디트박스나 리스트 박스 등 다이얼로그의 텍스트를 클립보드로 복사하는 함수입니다.
파라미터로 들어가는 str의 값이 클립보드로 복사됩니다.

void CTestDlg::CopyStrToClipboard(CString str)
{
    HGLOBAL hGlobal = GlobalAlloc(GHND | GMEM_SHARE, (str.GetLength() + 1) *sizeof(TCHAR));
    PSTR pGlobal = (PSTR)GlobalLock(hGlobal);
    lstrcpy(pGlobal, TEXT(str));
    GlobalUnlock(hGlobal);
   
    OpenClipboard();
    EmptyClipboard();
    SetClipboardData(CF_TEXT, hGlobal);
    CloseClipboard();
}

Posted by 못생긴나무