如何在实现一个文本编辑器,要能插入图片的? 有现成的控件可以用吗? 比如 RichEdit 控件能否插入图片. 如何在实现一个文本编辑器,要能插入图片的? 有现成的控件可以用吗? 比如 RichEdit 控件能否插入图片.如果能,那如何插.(最好能给出 SDK 代码) 如果不能,那有什么方法可以实现,能给出一些思路来吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ole支持,把服务器和本地都选上 RichEditCtrl可以插入图片. www.codeproject.com上有示例. refer to : http://www.codeguru.com/richedit/richeditrc.htmlhttp://www.codeguru.com/richedit/rtfbitmap.shtml OLE都行了,还有什么不行的呢? FYI HRESULT hr; char szBuf[30]={0}; IRichText* pIRichTx; hr=GetDlgControl(IDC_RICHTEXTCTRL1,__uuidof(IRichText),(void**)&pIRichTx); if(S_OK!=hr){ sprintf(szBuf,"GetDlgControl Error %x\n",hr); MessageBox(szBuf); return 0; } IOLEObjects* pIOLEObjs; hr=pIRichTx->get_OLEObjects(&pIOLEObjs); if(S_OK!=hr){ sprintf(szBuf,"pIRichTx->get_OLEObjects Error %x\n",hr); MessageBox(szBuf); return 0; } IOLEObject* pIOLEObj; VARIANT var3; VariantInit(&var3); var3.vt=VT_BSTR; var3.bstrVal=::SysAllocString(L"d:\\bmp\\a.bmp"); hr=pIOLEObjs->Add(vtMissing,vtMissing,var3,vtMissing,&pIOLEObj); if(S_OK!=hr){ sprintf(szBuf,"pIOLEObjs->Add Error %x\n",hr); MessageBox(szBuf); return 0; } ::SysFreeString(var3.bstrVal); VariantClear(&var3); return 0; 如何让FLASH控件全屏显示 smtp 邮件问题 附代码 纠结死了 AppendMenu后菜单是灰色的 关于获得焦点的问题 在任务管理器里结束一个进程,那个进程会收到什么消息?还是没有消息? 如何改变static text控件的文本内容?(在线等待) 请问现在大家都用vc做开发什么? 怎样打开一个文本文件并从中读出数据的行数和列数。并得出其中的最大值,和最小值。高分回报 请问怎样解决vc编译时出现在类库里的错误呢? 使用DateTime Picker控件从数据库中读取日期时出现了错误,请大家给看看! 我没办法了,编译的问题 关于窗口制作
http://www.codeguru.com/richedit/rtfbitmap.shtml
char szBuf[30]={0};
IRichText* pIRichTx;
hr=GetDlgControl(IDC_RICHTEXTCTRL1,__uuidof(IRichText),(void**)&pIRichTx);
if(S_OK!=hr){
sprintf(szBuf,"GetDlgControl Error %x\n",hr);
MessageBox(szBuf);
return 0;
}
IOLEObjects* pIOLEObjs;
hr=pIRichTx->get_OLEObjects(&pIOLEObjs);
if(S_OK!=hr){
sprintf(szBuf,"pIRichTx->get_OLEObjects Error %x\n",hr);
MessageBox(szBuf);
return 0;
} IOLEObject* pIOLEObj;
VARIANT var3; VariantInit(&var3); var3.vt=VT_BSTR;
var3.bstrVal=::SysAllocString(L"d:\\bmp\\a.bmp");
hr=pIOLEObjs->Add(vtMissing,vtMissing,var3,vtMissing,&pIOLEObj);
if(S_OK!=hr){
sprintf(szBuf,"pIOLEObjs->Add Error %x\n",hr);
MessageBox(szBuf);
return 0;
}
::SysFreeString(var3.bstrVal); VariantClear(&var3);
return 0;