本文整理汇总了C++中CStdStringW::Empty方法的典型用法代码示例。如果您正苦于以下问题:C++ CStdStringW::Empty方法的具体用法?C++ CStdStringW::Empty怎么用?C++ CStdStringW::Empty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStdStringW
的用法示例。
在下文中一共展示了CStdStringW::Empty方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateLabel
void CGUIDialogKeyboardGeneric::UpdateLabel() // FIXME seems to be called twice for one USB SDL keyboard action/character
{
CGUILabelControl* pEdit = ((CGUILabelControl*)GetControl(CTL_LABEL_EDIT));
if (pEdit)
{
CStdStringW edit = m_strEdit;
if (m_hiddenInput)
{ // convert to *'s
edit.Empty();
if (m_lastRemoteClickTime + REMOTE_SMS_DELAY > CTimeUtils::GetFrameTime() && m_strEdit.size())
{ // using the remove to input, so display the last key input
edit.append(m_strEdit.size() - 1, L'*');
edit.append(1, m_strEdit[m_strEdit.size() - 1]);
}
else
edit.append(m_strEdit.size(), L'*');
}
// convert back to utf8
CStdString utf8Edit;
g_charsetConverter.wToUTF8(edit, utf8Edit);
pEdit->SetLabel(utf8Edit);
// Send off a search message
unsigned int now = CTimeUtils::GetFrameTime();
// don't send until the REMOTE_SMS_DELAY has passed
if (m_lastRemoteClickTime && m_lastRemoteClickTime + REMOTE_SMS_DELAY >= now)
return;
if (m_pCharCallback)
m_pCharCallback(this, utf8Edit);
}
}
示例2: UpdateLabel
void CGUIDialogKeyboard::UpdateLabel() // FIXME seems to be called twice for one USB SDL keyboard action/character
{
CGUILabelControl* pEdit = ((CGUILabelControl*)GetControl(CTL_LABEL_EDIT));
if (pEdit)
{
CStdStringW edit = m_strEdit;
if (m_hiddenInput)
{ // convert to *'s
edit.Empty();
if (m_lastRemoteClickTime + REMOTE_SMS_DELAY > timeGetTime() && m_strEdit.size())
{ // using the remove to input, so display the last key input
edit.append(m_strEdit.size() - 1, L'*');
edit.append(1, m_strEdit[m_strEdit.size() - 1]);
}
else
edit.append(m_strEdit.size(), L'*');
}
// convert back to utf8
CStdString utf8Edit;
g_charsetConverter.wToUTF8(edit, utf8Edit);
pEdit->SetLabel(utf8Edit);
// Send off a search message if it's been SEARCH_DELAY since last search.
DWORD now = timeGetTime();
if (!m_lastSearchUpdate || m_lastSearchUpdate + SEARCH_DELAY >= now)
m_lastSearchUpdate = now; // update is called when we haven't passed our search delay, so reset it
if (m_lastSearchUpdate + SEARCH_DELAY < now)
{
// don't send until the REMOTE_SMS_DELAY has passed
if (m_lastRemoteClickTime && m_lastRemoteClickTime + REMOTE_SMS_DELAY >= now)
return;
m_lastSearchUpdate = 0;
if (m_filtering == FILTERING_CURRENT)
{ // send our filter message
CGUIMessage message(GUI_MSG_NOTIFY_ALL, GetID(), 0, GUI_MSG_FILTER_ITEMS);
message.SetStringParam(utf8Edit);
g_graphicsContext.SendMessage(message);
}
if (m_filtering == FILTERING_SEARCH)
{ // send our search message
CGUIMessage message(GUI_MSG_NOTIFY_ALL, GetID(), 0, GUI_MSG_SEARCH_UPDATE);
message.SetStringParam(utf8Edit);
g_graphicsContext.SendMessage(message);
}
}
}
}
示例3: UpdateLabel
void CGUIDialogKeyboardGeneric::UpdateLabel() // FIXME seems to be called twice for one USB SDL keyboard action/character
{
CGUILabelControl* pEdit = ((CGUILabelControl*)GetControl(CTL_LABEL_EDIT));
if (pEdit)
{
CStdStringW edit = m_strEdit;
pEdit->SetHighlight(0, 0);
pEdit->SetSelection(0, 0);
if (m_hiddenInput)
{ // convert to *'s
edit.Empty();
if (m_lastRemoteClickTime + REMOTE_SMS_DELAY > CTimeUtils::GetFrameTime() && m_iCursorPos > 0)
{ // using the remove to input, so display the last key input
edit.append(m_iCursorPos - 1, L'*');
edit.append(1, m_strEdit[m_iCursorPos - 1]);
}
else
edit.append(m_strEdit.size(), L'*');
}
else if (!m_strEditing.IsEmpty())
{
edit.Insert(m_iCursorPos, m_strEditing);
pEdit->SetHighlight(m_iCursorPos, m_iCursorPos + m_strEditing.size());
if (m_iEditingLength > 0)
pEdit->SetSelection(m_iCursorPos + m_iEditingOffset, m_iCursorPos + m_iEditingOffset + m_iEditingLength);
}
// convert back to utf8
CStdString utf8Edit;
g_charsetConverter.wToUTF8(edit, utf8Edit);
pEdit->SetLabel(utf8Edit);
// Send off a search message
unsigned int now = CTimeUtils::GetFrameTime();
// don't send until the REMOTE_SMS_DELAY has passed
if (m_lastRemoteClickTime && m_lastRemoteClickTime + REMOTE_SMS_DELAY >= now)
return;
if (m_pCharCallback)
{
// do not send editing text comes from system input method
if (!m_hiddenInput && !m_strEditing.IsEmpty())
g_charsetConverter.wToUTF8(m_strEdit, utf8Edit);
m_pCharCallback(this, utf8Edit);
}
}
}
示例4: ConvertHTMLToW
void CHTMLUtil::ConvertHTMLToW(const CStdStringW& strHTML, CStdStringW& strStripped)
{
if (strHTML.size() == 0)
{
strStripped.Empty();
return ;
}
int iPos = 0;
strStripped = strHTML;
while (mappings[iPos].html)
{
strStripped.Replace(mappings[iPos].html,CStdStringW(1, mappings[iPos].w));
iPos++;
}
iPos = strStripped.Find(L"&#");
while (iPos > 0 && iPos < (int)strStripped.size()-4)
{
int iStart = iPos + 1;
iPos += 2;
CStdStringW num;
int base = 10;
if (strStripped[iPos+1] == L'x')
{
base = 16;
iPos++;
}
int i=iPos;
while ( iPos < (int)strStripped.size() &&
(base==16?iswxdigit(strStripped[iPos]):iswdigit(strStripped[iPos])))
iPos++;
num = strStripped.Mid(i,iPos-i);
wchar_t val = (wchar_t)wcstol(num.c_str(),NULL,base);
if (base == 10)
num.Format(L"&#%ls;",num.c_str());
else
num.Format(L"&#x%ls;",num.c_str());
strStripped.Replace(num,CStdStringW(1,val));
iPos = strStripped.Find(L"&#", iStart);
}
}
示例5: GetLongPathName
DWORD GetLongPathName (CStdStringW strShortPath, CStdStringW &strLongPath)
{
int iFound = strShortPath.ReverseFind (L'\\');
if (iFound > 1)
{
// recurse to peel off components
//
if (GetLongPathName(strShortPath.Left (iFound), strLongPath) > 0)
{
strLongPath += L'\\';
if (strShortPath.Right(1) != L"\\")
{
HANDLE hFind;
if (g_bIsNT)
{
WIN32_FIND_DATAW findData;
// append the long component name to the path
//
if (INVALID_HANDLE_VALUE != (hFind = ::FindFirstFileW (strShortPath, &findData)))
{
strLongPath += findData.cFileName;
::FindClose (hFind);
}
else
{
// if FindFirstFile fails, return the error code
//
strLongPath.Empty();
return 0;
}
}
else
{
WIN32_FIND_DATAA findData;
// append the long component name to the path
//
if (INVALID_HANDLE_VALUE != (hFind = ::FindFirstFileA (CStdStringA (strShortPath), &findData)))
{
strLongPath += findData.cFileName;
::FindClose (hFind);
}
else
{
// if FindFirstFile fails, return the error code
//
strLongPath.Empty();
return 0;
}
}
}
}
}
else
{
strLongPath = strShortPath;
}
return strLongPath.GetLength();
}