게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
MFC wstringstream에서 폰트 속성 변경
게시물ID : programmer_21222짧은주소 복사하기
작성자 : 휘휫
추천 : 0
조회수 : 304회
댓글수 : 1개
등록시간 : 2017/08/14 09:42:11
CString CMarkupBuilder::TextBuilder(IN CString text,CString MarkTag,CString font 
,COLORREF textColor ,COLORREF backGround   , COLORREF panelColor ,CString vertical ,CString horizontal,CRect& textmargin)
{
wstringstream textheader;
text.Replace(L"<",L" <");
text.Replace(L">",L" >");

if(MarkTag.IsEmpty())
MarkTag = text;
textheader<<L"<TextBlock Tag='"<<MarkTag.GetBuffer() <<"' " <<"FontWeight='"<<font.GetBuffer()<<"' ";
if(backGround != RGB(255,255,255)) textheader<<"Background='"<<colorrefToHexString(backGround).GetBuffer()<<"' ";
if(textColor != RGB(255,255,255) ) textheader<<"Foreground='"<<colorrefToHexString(textColor).GetBuffer()<<"' ";
textheader<<"VerticalAlignment='"<<vertical.GetBuffer()<<"' "<<"HorizontalAlignment='"<<horizontal.GetBuffer()<<"' ";
textheader<<"Margin= '"<<textmargin.left<<","<<textmargin.top<<","<<textmargin.right<<","<<textmargin.bottom<<"'";
//textheader<<"FontSize='"<<FontSize<<"' ";
textheader<<">";
wstring wtextheader(textheader.str());

wstringstream borderheader;
borderheader<<L"<Border";;
if(panelColor != RGB(255,255,255)) borderheader<<" Background='"<<colorrefToHexString(panelColor).GetBuffer()<<"' ";
borderheader<<">";
wstring wborder(borderheader.str());
TCHAR * tMark = 
_T("<StackPanel>")
_T("%s") //border
_T("%s") //textheader
_T("%s") //text
_T("</TextBlock>")
_T("</Border>")
_T("</StackPanel>");

CString strMark;
strMark.Format(tMark,wborder.c_str(),wtextheader.c_str(),text);
return strMark;  
}

TextBuilder인자중 Font에 Bold라는 속성을 넣으면 잘 적용되는데
italic 속성도 같이 주고 싶거든요? 여기서 추가로 넣을 수 있는 방법이 있을까요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호