首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有ETO_IGNORELANGUAGE的ExtTextOutW()无法捕获记录

带有ETO_IGNORELANGUAGE的ExtTextOutW()无法捕获记录
EN

Stack Overflow用户
提问于 2011-11-26 20:53:43
回答 1查看 536关注 0票数 0

我正在处理一个示例,我正在创建一个包含一些文本的EMF文件。为了添加文本,我使用带有ETO_IGNORELANGUAGE选项的ExtTextOutW()接口。

此接口的返回值为TRUE。但是当我打开EMF文件时,文本并不存在。然后我看到了记录。对于ExtTextOutW来说,这是没有必要的。

Bellw是代码。

代码语言:javascript
复制
HDC hDC = GetDC(hWnd);

RECT Rect = {0, 0, 21590, 27940};

//Create the EMF file DC
HDC hEMFDC  = ::CreateEnhMetaFile(hDC, L"c:\\del\\1.emf", &Rect, L"Test");
if (NULL != hEMFDC)
{
    RECT Rect = {0, 0, 300, 155};
    HBRUSH hb = CreateSolidBrush(0X00FFFF00);

    FillRect(hEMFDC, &Rect, hb);
    DeleteObject(hb);

    int dx[12] = {25,25,25,25,25,25, 25,25,25,25,25,25};                    
    WCHAR wcsBuffer[] = L"Text Message";

    ExtTextOutW(hEMFDC, 10, 10, ETO_IGNORELANGUAGE, NULL, wcsBuffer, wcslen(wcsBuffer), dx);

    HENHMETAFILE hmf = CloseEnhMetaFile(hEMFDC); 
    DeleteEnhMetaFile(hmf);
    hEMFDC = NULL;
}

ReleaseDC(hWnd, hDC);

请让我知道我在上面的代码中做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-30 07:35:24

您是否阅读了有关ETO_IGNORELANGUAGE等标志的ExtTextOut[W] (MSDN)文档

保留供系统使用的

。如果应用程序设置了此标志,它将失去国际脚本支持,并且在某些情况下可能根本不显示任何文本。

在没有这个标志的情况下试试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8278527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档