文本文件,选择部分文字,点击右键实现文字复制功能。

解决方案 »

  1.   

    右键弹出菜单 case WM_RBUTTONUP: // 显示菜单
    POINT point;
    HMENU hMenu, hSubMenu;
    GetCursorPos(&point);
    hMenu = LoadMenu(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_TASKBARMENU));
    hSubMenu = GetSubMenu(hMenu, 0);
    SetForegroundWindow();
    SetMenuDefaultItem(hSubMenu, ID_ICON_SHOW, FALSE);
    TrackPopupMenu(hSubMenu,TPM_LEFTBUTTON|TPM_RIGHTBUTTON|TPM_LEFTALIGN,point.x, point.y, 0, this->GetSafeHwnd(), NULL);
    PostMessage(WM_NULL,0,0);
    DestroyMenu(hMenu);
    break;
    复制代码: if(OpenClipboard(Hwnd))

    HGLOBAL clipbuffer; 
    char * buffer; 
    EmptyClipboard(); 
    clipbuffer = GlobalAlloc(GMEM_DDESHARE, strContent.GetLength()+1); 
    buffer = (char*)GlobalLock(clipbuffer); 
    strcpy(buffer, LPCSTR(strContent)); 
    SetClipboardData(CF_TEXT,clipbuffer); 
    GlobalUnlock(clipbuffer);
    CloseClipboard(); 
    }