本文整理汇总了C++中CFX_ByteString::AsStringC方法的典型用法代码示例。如果您正苦于以下问题:C++ CFX_ByteString::AsStringC方法的具体用法?C++ CFX_ByteString::AsStringC怎么用?C++ CFX_ByteString::AsStringC使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFX_ByteString
的用法示例。
在下文中一共展示了CFX_ByteString::AsStringC方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetThisAppearanceStream
void CPWL_Edit::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
CPWL_Wnd::GetThisAppearanceStream(sAppStream);
CFX_FloatRect rcClient = GetClientRect();
CFX_ByteTextBuf sLine;
int32_t nCharArray = m_pEdit->GetCharArray();
if (nCharArray > 0) {
switch (GetBorderStyle()) {
case BorderStyle::SOLID: {
sLine << "q\n"
<< GetBorderWidth() << " w\n"
<< CPWL_Utils::GetColorAppStream(GetBorderColor(), false)
.AsStringC()
<< " 2 J 0 j\n";
for (int32_t i = 1; i < nCharArray; i++) {
sLine << rcClient.left +
((rcClient.right - rcClient.left) / nCharArray) * i
<< " " << rcClient.bottom << " m\n"
<< rcClient.left +
((rcClient.right - rcClient.left) / nCharArray) * i
<< " " << rcClient.top << " l S\n";
}
sLine << "Q\n";
break;
}
case BorderStyle::DASH: {
sLine << "q\n"
<< GetBorderWidth() << " w\n"
<< CPWL_Utils::GetColorAppStream(GetBorderColor(), false)
.AsStringC()
<< " 2 J 0 j\n"
<< "[" << GetBorderDash().nDash << " " << GetBorderDash().nGap
<< "] " << GetBorderDash().nPhase << " d\n";
for (int32_t i = 1; i < nCharArray; i++) {
sLine << rcClient.left +
((rcClient.right - rcClient.left) / nCharArray) * i
<< " " << rcClient.bottom << " m\n"
<< rcClient.left +
((rcClient.right - rcClient.left) / nCharArray) * i
<< " " << rcClient.top << " l S\n";
}
sLine << "Q\n";
break;
}
default:
break;
}
}
sAppStream << sLine;
CFX_ByteTextBuf sText;
CFX_PointF ptOffset;
CPVT_WordRange wrWhole = m_pEdit->GetWholeWordRange();
CPVT_WordRange wrSelect = GetSelectWordRange();
CPVT_WordRange wrVisible =
HasFlag(PES_TEXTOVERFLOW) ? wrWhole : m_pEdit->GetVisibleWordRange();
CPVT_WordRange wrSelBefore(wrWhole.BeginPos, wrSelect.BeginPos);
CPVT_WordRange wrSelAfter(wrSelect.EndPos, wrWhole.EndPos);
CPVT_WordRange wrTemp =
CPWL_Utils::OverlapWordRange(GetSelectWordRange(), wrVisible);
CFX_ByteString sEditSel =
CPWL_Utils::GetEditSelAppStream(m_pEdit.get(), ptOffset, &wrTemp);
if (sEditSel.GetLength() > 0)
sText << CPWL_Utils::GetColorAppStream(PWL_DEFAULT_SELBACKCOLOR).AsStringC()
<< sEditSel.AsStringC();
wrTemp = CPWL_Utils::OverlapWordRange(wrVisible, wrSelBefore);
CFX_ByteString sEditBefore = CPWL_Utils::GetEditAppStream(
m_pEdit.get(), ptOffset, &wrTemp, !HasFlag(PES_CHARARRAY),
m_pEdit->GetPasswordChar());
if (sEditBefore.GetLength() > 0)
sText << "BT\n"
<< CPWL_Utils::GetColorAppStream(GetTextColor()).AsStringC()
<< sEditBefore.AsStringC() << "ET\n";
wrTemp = CPWL_Utils::OverlapWordRange(wrVisible, wrSelect);
CFX_ByteString sEditMid = CPWL_Utils::GetEditAppStream(
m_pEdit.get(), ptOffset, &wrTemp, !HasFlag(PES_CHARARRAY),
m_pEdit->GetPasswordChar());
if (sEditMid.GetLength() > 0)
sText << "BT\n"
<< CPWL_Utils::GetColorAppStream(CPWL_Color(COLORTYPE_GRAY, 1))
.AsStringC()
<< sEditMid.AsStringC() << "ET\n";
wrTemp = CPWL_Utils::OverlapWordRange(wrVisible, wrSelAfter);
CFX_ByteString sEditAfter = CPWL_Utils::GetEditAppStream(
m_pEdit.get(), ptOffset, &wrTemp, !HasFlag(PES_CHARARRAY),
m_pEdit->GetPasswordChar());
//.........这里部分代码省略.........