本文整理汇总了C++中dom::element::next_sibling方法的典型用法代码示例。如果您正苦于以下问题:C++ element::next_sibling方法的具体用法?C++ element::next_sibling怎么用?C++ element::next_sibling使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dom::element
的用法示例。
在下文中一共展示了element::next_sibling方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: select_tab
// select next/prev/first/last tab
bool select_tab( dom::element& tabs_el, dom::element& tab_el, int direction )
{
// find new tab
dom::element new_tab_el(0);
switch( direction )
{
case -2: new_tab_el = tabs_el.first_sibling();
while( new_tab_el.is_valid() )
{
if( !new_tab_el.get_state(STATE_DISABLED) )
break;
new_tab_el = new_tab_el.next_sibling();
}
break;
case -1: new_tab_el = tab_el.prev_sibling();
while( new_tab_el.is_valid() )
{
if( !new_tab_el.get_state(STATE_DISABLED) )
break;
new_tab_el = new_tab_el.prev_sibling();
}
break;
case +1: new_tab_el = tab_el.next_sibling();
while( new_tab_el.is_valid() )
{
if( !new_tab_el.get_state(STATE_DISABLED) )
break;
new_tab_el = new_tab_el.next_sibling();
}
break;
case +2: new_tab_el = tab_el.last_sibling();
while( new_tab_el.is_valid() )
{
if( !new_tab_el.get_state(STATE_DISABLED) )
break;
new_tab_el = new_tab_el.prev_sibling();
}
break;
default: assert(false); return false;
}
if( !new_tab_el.is_valid() || new_tab_el.get_attribute("panel") == 0 ) //is not a tab element
return FALSE;
return select_tab( tabs_el, new_tab_el );
}
示例2: select_next_option
BOOL select_next_option( dom::element& option )
{
dom::element next = option.next_sibling();
if( !next.is_valid() )
goto ADD_NEW;
if( !aux::streq(next.get_element_type(),"option") )
goto ADD_NEW;
next.set_state(STATE_FOCUS);
return TRUE;
ADD_NEW:
std::wstring text = option.text();
if(text.empty() || text == L" ")
{
::MessageBeep(MB_ICONEXCLAMATION);
return FALSE;
}
dom::element select = option.parent();
next = dom::element::create("option", L" ");
select.insert(next,option.index()+1);
select.update();
next.set_state(STATE_FOCUS);
return TRUE;
}