zoukankan      html  css  js  c++  java
  • 调用临时Fonts

    系统Windows\Fonts找不到,没法了,自己在EXE目录下建一个Fonts目录,直接临时调用:

     1.

    int XXX::InstallTempFont()
    {
    	wchar_t   path[MAX_PATH];   
    	GetModuleFileName(NULL,path,MAX_PATH);
    	CString szPath = path;
    	int nFind = szPath.ReverseFind('\\');
    	szPath = szPath.Left(nFind) + TEXT("\\Fonts\\TruthCYR-Regular.otf");
    	return AddFontResourceEx(szPath, FR_PRIVATE, 0);}
    
    void XXX::UnstallTempFont()
    {
    	wchar_t   path[MAX_PATH];   
    	GetModuleFileName(NULL,path,MAX_PATH);
    	CString szPath = path;
    	int nFind = szPath.ReverseFind('\\');
    	szPath = szPath.Left(nFind) + TEXT("\\Fonts\\TruthCYR-Regular.otf");
        RemoveFontResourceEx(szPath, FR_PRIVATE, 0);}
    2.
    HINSTANCE hResInstance = AfxGetResourceHandle();
    	HRSRC res = FindResource(AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_FONT_PHONETIC), _T("BINARY"));
    	if (res) 
    	{
    		HGLOBAL mem = ::LoadResource(hResInstance, res);
    		void *data = ::LockResource(mem);
    		DWORD len = ::SizeofResource(hResInstance, res);
    		DWORD nFonts = 0;
    
    		HANDLE hFont = AddFontMemResourceEx(
    			data,          // font resource
    			len,           // number of bytes in font resource 
    			NULL,          // Reserved. Must be 0.
    			&nFonts);      // number of fonts installed
    		if (!hFont)
    		{
    			AfxMessageBox(_T("字体加载失败!"));
    		}
    	}

    不要使用AddFontResource!!!!!!!!!!!!!!!!!!!
  • 相关阅读:
    函数集
    2019.1.7
    第九次团队作业-测试报告与用户使用手册
    α版本升升备忘录下载链接
    系统设计和任务分配(个人)
    团队作业说明
    备忘录-团队选题报告
    需求分析与原型设计---升升备忘录
    项目——四则运算器
    Hello Django
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693591.html
Copyright © 2011-2022 走看看