本文整理汇总了C++中atl::CString::Find方法的典型用法代码示例。如果您正苦于以下问题:C++ CString::Find方法的具体用法?C++ CString::Find怎么用?C++ CString::Find使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类atl::CString
的用法示例。
在下文中一共展示了CString::Find方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetCurrentThreadId
bool alexa::OnNavigateComplete2(int paneid,const wchar_t* url){
C6BeeMenuStatusBar* pSB = GetC6BeeMenuStatusBarPtr();
if (pSB==NULL){
return false;
}
ATL::CString myurl = url;
if(myurl.Find(_T("http://"))!=0){
return false;
}
int cut=myurl.Find(_T("/"),8);
if (cut<0){return false;}
myurl.Truncate(cut);
alexa_info.paneid = paneid;
alexa_info.hostname = myurl;
alexa_info.psb = pSB;
alexa_info.tid = GetCurrentThreadId();
alexa_info.alexaptr = this;
::_beginthreadex(NULL,0,thread_getalexa,
(LPVOID)&alexa::alexa_info,0,NULL);
return true;
}
示例2: IsMatchFilterElementHide
//.........这里部分代码省略.........
else if (attrIt->m_type == CFilterElementHideAttrType::CLASS)
{
CComBSTR bstrClassNames;
if (SUCCEEDED(pEl->get_className(&bstrClassNames)) && bstrClassNames)
{
value = bstrClassNames;
attrFound = true;
}
}
else if (attrIt->m_type == CFilterElementHideAttrType::ID)
{
CComBSTR bstrId;
if (SUCCEEDED(pEl->get_id(&bstrId)) && bstrId)
{
value = bstrId;
attrFound = true;
}
}
else
{
auto attributeValue = GetHtmlElementAttribute(*pEl, attrIt->m_bstrAttr);
if (attrFound = attributeValue.isAttributeFound)
{
value = ToCString(attributeValue.attributeValue);
}
}
if (attrFound)
{
if (attrIt->m_pos == CFilterElementHideAttrPos::EXACT)
{
// TODO: IE rearranges the style attribute completely. Figure out if anything can be done about it.
if (value != attrIt->m_value)
return false;
}
else if (attrIt->m_pos == CFilterElementHideAttrPos::STARTING)
{
if (value.Left(attrIt->m_value.GetLength()) != attrIt->m_value)
return false;
}
else if (attrIt->m_pos == CFilterElementHideAttrPos::ENDING)
{
if (value.Right(attrIt->m_value.GetLength()) != attrIt->m_value)
return false;
}
else if (attrIt->m_pos == CFilterElementHideAttrPos::ANYWHERE)
{
if (value.Find(attrIt->m_value) < 0)
return false;
}
else if (attrIt->m_value.IsEmpty())
{
return true;
}
}
else
{
return false;
}
}
if (m_predecessor)
{
CComPtr<IHTMLElement> pDomPredecessor;
HRESULT hr = S_FALSE;
switch (m_predecessor->m_type)
{
case ETraverserComplexType::TRAVERSER_TYPE_PARENT:
hr = pEl->get_parentElement(&pDomPredecessor);
break;
case ETraverserComplexType::TRAVERSER_TYPE_IMMEDIATE:
hr = S_FALSE;
CComQIPtr<IHTMLDOMNode> pPrevSiblingNode = pEl;
long type = 0;
while (pPrevSiblingNode && type != 1)
{
IHTMLDOMNode* tmpNode;
pPrevSiblingNode->get_previousSibling(&tmpNode);
pPrevSiblingNode.Attach(tmpNode);
if (pPrevSiblingNode)
{
hr = pPrevSiblingNode->get_nodeType(&type);
if (hr != S_OK)
pPrevSiblingNode.Release();
}
}
if (pPrevSiblingNode)
hr = pPrevSiblingNode.QueryInterface(&pDomPredecessor);
else
return false;
break;
}
if (hr != S_OK)
return false;
return m_predecessor->IsMatchFilterElementHide(pDomPredecessor);
}
return true;
}