今天心血来潮,整理了一下上个月在CSDN得分的问题

蒋晟 2003-12-02 12:33:50
今天心血来潮,整理了一下上个月在CSDN得分的问题
我参与的帖子太多,整理起来有难度,所以只整理结了的贴子

http://www.blogcn.com/user3/jiangsheng/main.asp?id=588643

希望把这个习惯保留下去
...全文
53 42 打赏 收藏 举报
写回复
42 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yintongshun 2004-02-19
不错!
  • 打赏
  • 举报
回复
yifeng_ch 2004-02-19
收藏。
  • 打赏
  • 举报
回复
zteking 2004-02-18
是高手诶,Studying..........
  • 打赏
  • 举报
回复
蒋晟 2004-02-18
新的在http://www.blogcn.com/blog/?u=jiangsheng……这里的懒得更新了……
  • 打赏
  • 举报
回复
半宫佳丽 2004-01-19
  • 打赏
  • 举报
回复
偶像
  • 打赏
  • 举报
回复
tianwb 2004-01-03
厉害!
你的胸怀值得学习!
  • 打赏
  • 举报
回复
fanfyj 2004-01-03
up
  • 打赏
  • 举报
回复
xiaofei7569 2004-01-02
学习。
  • 打赏
  • 举报
回复
lishigen 2004-01-02
学习
  • 打赏
  • 举报
回复
icedot 2004-01-02
好。
  • 打赏
  • 举报
回复
yongdu 2004-01-02
N人!还是人吗?
  • 打赏
  • 举报
回复
蒋晟 2004-01-02
上面的代码里面的 if(pClientSite)
pClientSite->Release();是多余的
  • 打赏
  • 举报
回复
jiangshengMKII 2003-12-25
ActiveX控件访问所在网页的DHTML文档对象模型(MFC)
void CICWXPlayerCtrl::SetHolderID(CICWXPlayerWindowHolder::enumHolderIndex iHolderIndex,LPCTSTR lpszElementID)
{
IOleClientSite* pClientSite=GetClientSite();
do{
if(pClientSite==NULL)break;
CComQIPtr<IServiceProvider> pISP(pClientSite);
if(pISP==NULL)break;
CComPtr<IWebBrowser2> pIWebBrowser2;
pISP->QueryService(IID_IWebBrowserApp, IID_IWebBrowser2,
(void **)&pIWebBrowser2);
if(pIWebBrowser2==NULL)break;
CComPtr<IDispatch> spDocument;
pIWebBrowser2->get_Document(&spDocument);
CComQIPtr<IHTMLDocument2> pIHTMLDocument2(spDocument);
if(pIHTMLDocument2==NULL)break;
CComPtr<IHTMLElementCollection> pHTMLElementCollection;
pIHTMLDocument2->get_all(&pHTMLElementCollection);
if(pHTMLElementCollection==NULL)break;
COleVariant varName(lpszElementID,VT_BSTR);
COleVariant varindex;

CComPtr<IDispatch> spElement;
pHTMLElementCollection->item(varName,varindex,&spElement);
if(spElement==NULL)break;
//is it an Iframe?
CComQIPtr<IWebBrowser2> pFrame(spElement);
if(pFrame){
switch(iHolderIndex){
case CICWXPlayerWindowHolder::WebHolder:
case CICWXPlayerWindowHolder::TextHolder:
m_holders[iHolderIndex].SetTarget(spElement);
break;
}
}
CComQIPtr<IHTMLObjectElement> pObjectElement(spElement);
if(pObjectElement==NULL)break;
CComPtr<IDispatch> spObject;
pObjectElement->get_object(&spObject);
m_holders[iHolderIndex].SetTarget(spObject);
}
while(FALSE);
if(pClientSite)
pClientSite->Release();
}
  • 打赏
  • 举报
回复
蒋晟 2003-12-25
问题:Internet Explorer中的控件在可见之前没有被创建

Knowledge Base
Q195188 PRB: ActiveX Control Window Is Not Created Until Visible in Internet Explorer
使用知识库里面的方法
// CMyControl is derived from CComControl
STDMETHOD(SetClientSite)(IOleClientSite *pClientSite)
{
if (pClientSite)
{
RECT rc = {0,0,0,0};
// Don't have access to the container's window so just use the
// desktop. Window will be resized correctly during in-place
// activation.
HWND hWnd = CreateControlWindow(::GetDesktopWindow(), rc);
_ASSERT (hWnd);
}
return IOleObjectImpl<CMyControl>::SetClientSite (pClientSite);
}
在Windows XP中,可以在任务栏上看到控件的窗口,很是不雅观
解决的方法是尽可能用GetForegroundWindow替代GetDesktopWindow(GetForegroundWindow有时返回NULL)
  • 打赏
  • 举报
回复
蒋晟 2003-12-25
如何访问 WebBrowser 控件中的XML源码
总结:注意使用IHtmlDocument::get_Script(唯一的一个方法@_@bb)就可以获得脚本的顶层对象,然后就可以用GetIdsOfNames开始遍历文档结构了

ActiveX控件上想添加一个工具栏
总结:另外一种方式是弹出工具栏,参见Knowledge Base Q166193 SAMPLE: ColorFrm Demonstrates ActiveX Control with Popup Toolbar
如何把word菜单融入到应用程序中
总结:不光Word,支持ActiveDocument的都可以,比如Adobe Acrobat Reader
怎么用VC修改任意网页中text文本框的值
总结:有了技术不要做坏事哟
  • 打赏
  • 举报
回复
蒋晟 2003-12-25
就是搜索结果太多了……
专栏……可能并不时和所有人阅读吧,关于浏览器和DHTML对象模型的太多了

  • 打赏
  • 举报
回复
Darlinton 2003-12-24
To hugos:
你啥星也不是﹐你是倆角。俺是三角。都是一個字﹕超爛﹗
  • 打赏
  • 举报
回复
xiaohedou 2003-12-24
想我累死啊?我参与的帖子太多了…… 难道没有好的搜索工具?


大家不要受骗!还有好多被楼主窝藏了,专栏!
  • 打赏
  • 举报
回复
spwnihao 2003-12-24
佩服的五体投地,佩服佩服
  • 打赏
  • 举报
回复
加载更多回复(22)
相关推荐
发帖
非技术类

1634

社区成员

VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
帖子事件
创建了帖子
2003-12-02 12:33
社区公告
暂无公告