本文整理汇总了C++中SStringW::TrimBlank方法的典型用法代码示例。如果您正苦于以下问题:C++ SStringW::TrimBlank方法的具体用法?C++ SStringW::TrimBlank怎么用?C++ SStringW::TrimBlank使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SStringW
的用法示例。
在下文中一共展示了SStringW::TrimBlank方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BuildMenu
void SMenu::BuildMenu( HMENU menuPopup,pugi::xml_node xmlNode )
{
pugi::xml_node xmlItem=xmlNode.first_child();
while(xmlItem)
{
if(wcscmp(L"item",xmlItem.name())==0)
{
SMenuItemData *pdmmi=new SMenuItemData;
pdmmi->hMenu=menuPopup;
pdmmi->itemInfo.iIcon=xmlItem.attribute(L"icon").as_int(-1);
SStringW strText = xmlItem.text().get();
strText.TrimBlank();
InitMenuItemData(pdmmi->itemInfo,strText);
int nID=xmlItem.attribute(L"id").as_int(0);
BOOL bCheck=xmlItem.attribute(L"check").as_bool(false);
BOOL bRadio=xmlItem.attribute(L"radio").as_bool(false);
BOOL bDisable=xmlItem.attribute(L"disable").as_bool(false);
pugi::xml_writer_buff writer;
xmlItem.print(writer,L"\t",pugi::format_default,pugi::encoding_utf16);
SStringW str(writer.buffer(),writer.size());
pugi::xml_node xmlChild=xmlItem.first_child();
while(xmlChild && xmlChild.type()==pugi::node_pcdata) xmlChild=xmlChild.next_sibling();
if(!xmlChild)
{
pdmmi->nID=nID;
UINT uFlag=MF_OWNERDRAW;
if(bCheck) uFlag|=MF_CHECKED;
if(bDisable) uFlag |= MF_GRAYED;
if(bRadio) uFlag |= MFT_RADIOCHECK|MF_CHECKED;
AppendMenu(menuPopup,uFlag,(UINT_PTR)pdmmi->nID,(LPCTSTR)pdmmi);
}
else
{
HMENU hSubMenu=::CreatePopupMenu();
pdmmi->nID=(UINT_PTR)hSubMenu;
UINT uFlag=MF_OWNERDRAW|MF_POPUP;
if(bDisable) uFlag |= MF_GRAYED;
AppendMenu(menuPopup,uFlag,(UINT_PTR)hSubMenu,(LPCTSTR)pdmmi);
BuildMenu(hSubMenu,xmlItem);//build sub menu
}
m_arrDmmi.Add(pdmmi);
}
else if(wcscmp(L"sep",xmlItem.name())==0)
{
AppendMenu(menuPopup,MF_SEPARATOR|MF_OWNERDRAW,(UINT_PTR)0,(LPCTSTR)NULL);
}
xmlItem=xmlItem.next_sibling();
}
}