netease-kit / NIM_PC_Demo

云信Windows(PC) C/C++ Demo源码仓库
Other
275 stars 174 forks source link

求指导实现profile显示的accid和用户名复制 #94

Closed yipyeukyi closed 2 years ago

yipyeukyi commented 2 years ago

实际使用过程中发现profile页面显示的好友明和accid是不可能选中和复制的,如何才能使其可被选中和复制。

nmgwddj commented 2 years ago

增加一个 copy icon 用于点击复制。

yipyeukyi commented 2 years ago

//功能已完成给出参考示例

include

include

include

include

/将字符串写入到剪切板/ int setClipbar(const char data){ int contentSize = strlen(data) + 1; HGLOBAL hMemory; LPTSTR lpMemory; if(!OpenClipboard(NULL)) return 0;/ 打开剪切板 / if(!EmptyClipboard()) return 0; / 清空剪切板 / if(!(hMemory = GlobalAlloc(GMEM_MOVEABLE, contentSize))) return 0;/ 对剪切板分配内存 / if(!(lpMemory = (LPTSTR)GlobalLock(hMemory))) return 0;/ 锁定内存区域 / memcpy_s(lpMemory, contentSize, data, contentSize); / 复制数据到内存区域 / GlobalUnlock(hMemory); / 解除内存锁定 / if(!SetClipboardData(CF_TEXT, hMemory)) return 0; / 设置剪切板数据 / printf("成功复制【%s】到剪切板,字符串长度为%d。\n",data,contentSize); CloseClipboard();/ 关闭剪切板 */ return 1; } int main(){ setClipbar("abcdefg"); getchar(); return 0; }

nmgwddj commented 2 years ago

duilib richedit 控件有提供全局的将内容设置到剪切板的实现。