当前位置: 首页>>代码示例>>C++>>正文


C++ Font::Attach方法代码示例

本文整理汇总了C++中Font::Attach方法的典型用法代码示例。如果您正苦于以下问题:C++ Font::Attach方法的具体用法?C++ Font::Attach怎么用?C++ Font::Attach使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Font的用法示例。


在下文中一共展示了Font::Attach方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SelectObject

BOOL
_DC::GetTextSizeEx(std::string* pStr, Size& szText){
	if( !context_ )
		return FALSE;

	LOGFONT lf;
	FONTDef pRealFont = SelectObject(*GetFontTemp());
	Font realFont;
	realFont.Attach(pRealFont);
	realFont.GetLogFont(&lf);
	SelectObject(pRealFont);
	realFont.Detach();

	wchar_t		wszTemp[256];
	int			nLen = StringHelper::UTF8ToUnicode(pStr, wszTemp, 255);
	BOOL		bRet = FALSE;

	EmbedeedFontMan* pEmbedeedFontMan = EmbedeedFontMan::GetInstance();
	int nFontId = pEmbedeedFontMan->GetEmbedeedFontId(lf.lfFaceName);
	if( nFontId == -1 )
		bRet = ::GetTextExtentPoint32W(context_, wszTemp, nLen, &szText);
	else
		bRet = pEmbedeedFontMan->GetTextSize(this, wszTemp, nLen, nFontId, szText);
	return bRet;
	}
开发者ID:zqrtalent,项目名称:MercuryUI,代码行数:25,代码来源:PlatformDeviceContext_Win.cpp

示例2:

BOOL
_DC::ExtTextOutW(int x, int y, UINT options, LPCRECTDef lprect, const wchar_t* lpString,  UINT c, const int * lpDx){
	if( !context_ || !c ) 
		return FALSE;

	// Invalid rect area.
	if( lprect && (lprect->right <= 0 || lprect->bottom <= 0) )
		return FALSE;

	BOOL		bRet	= FALSE;
	LOGFONT lf;
	FONTDef pRealFont	= (FONTDef)SelectObject(*GetFontTemp());
	Font fontReal;
	fontReal.Attach	(pRealFont);
	fontReal.GetLogFont(&lf);
	SelectObject	(pRealFont);
	fontReal.Detach();

	EmbedeedFontMan* pEmbedeedFontMan = EmbedeedFontMan::GetInstance();
	int nFontId = pEmbedeedFontMan->GetEmbedeedFontId(lf.lfFaceName);
	if( nFontId == -1 )
		bRet = (TRUE == ::ExtTextOutW(context_, x, y, options, lprect, lpString, c, NULL));
	else
		bRet = pEmbedeedFontMan->DrawTextByEmbedeedFont(nFontId, this, lpString, c, x, y, lprect);
	return	bRet;
	}
开发者ID:zqrtalent,项目名称:MercuryUI,代码行数:26,代码来源:PlatformDeviceContext_Win.cpp


注:本文中的Font::Attach方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。