如标题,最近在做界面,要求实现qq聊天消息的气泡聊天功能,上网搜了好多资料,仍然没有头绪,有大神做过类似的吗
解决方案 »
- 同样一段程序,为什么在vc++6.0下就可以运行,而在vs2010下就会报错呢?
- 怎样模拟点击网页表单中的输入框?
- C++里怎么对IE的新网页弹出事件监听,有C的代码,没C++的,有时间的大牛帮忙看看
- VC网络编程怎么实现登陆的功能
- 做车辆导航一般需要什么样的视频采集卡或摄像头啊?急。。。
- 怎样进行文件转换?如将hpgl(*.plt)文件到emf文件的转化?或者提供文件转化方面的资料也很感激!
- 在ATL中使用GetDlgItem返回一个错误的值是为什么,谢谢
- 关于使用内存的问题,高手帮帮忙
- 如果一直没有用户访问, ISAPI 能在 IIS 中贮留多久?
- 为什么在formview中绘图会闪烁?
- VS驱动驱动双机调试,驱动部署失败
- MFC多文档应用程序中嵌入cef3,启动时一次性启了三个多文档主程序
每个气泡都是一个 ListContainerElement
关键是有没有实现的demo,如果采用了这种方式,气泡内可以显示表情吗?文字可以实现复制吗
关键是有没有实现的demo,如果采用了这种方式,气泡内可以显示表情吗?文字可以实现复制吗
可以使用windowless richedit来显示表情
关键是有没有实现的demo,如果采用了这种方式,气泡内可以显示表情吗?文字可以实现复制吗
可以使用windowless richedit来显示表情怎么做到背景图片自适应文本或者图片宽度的
关键是有没有实现的demo,如果采用了这种方式,气泡内可以显示表情吗?文字可以实现复制吗
可以使用windowless richedit来显示表情怎么做到背景图片自适应文本或者图片宽度的
对于文本,可以使用GetTextServices()->TxGetNaturalSize()计算文本大小。
对于图片,可以使用gdi+计算图片大小。
容器根据内容自适应?这个duilib没有实现,其实也不难,在EstimateSize里面 计算控件大小+容器内边距 就是容器大小了
或者在taobao code中搜索 dragon
static void __stdcall __EnumFileInDirProc(LPCTSTR szDir, LPCTSTR szName, WPARAM wParam)
{
DemoWindow* pThis = (DemoWindow*)wParam; String strPath(szDir);
strPath.append(szName);
HANDLE hHandle = pThis->m_pRichEdit->InsertMessageStart(UI::BUBBLE_NORMAL, UI::BUBBLE_ALIGN_LEFT);
pThis->m_pRichEdit->InsertGif(strPath.c_str());
pThis->m_pRichEdit->InsertMessageFinish(hHandle);
} void OnInitialize()
{
m_pRichEdit = (UI::IRichEdit*)this->FindChildObject(TEXT("richedit"));
m_pRichEdit->SetReadOnly(true); // 段间距。用于撑开两个气泡之间的空隙
PARAFORMAT2 pf;
m_pRichEdit->GetDefaultParaFormat(&pf);
pf.dySpaceAfter = UI::Util::DXtoHimetricX(2);
pf.dySpaceBefore = UI::Util::DXtoHimetricX(2);
m_pRichEdit->SetDefaultParaFormat(&pf); TCHAR szPath[MAX_PATH] = {0};
GetModuleFileName(GetModuleHandle(NULL), szPath, MAX_PATH);
TCHAR* p = _tcsrchr(szPath, '\\');
if(p != NULL)
*(p+1) = 0; _tcscat(szPath, TEXT("emotion\\")); UI::Util::EnumFileInDirectory(
szPath,
(EnumFileInDirProc)&DemoWindow::__EnumFileInDirProc,
(WPARAM)this);
}
msgbubble.enable="1"