如何为HTMLhelp定义charset?

时间:2010-03-24 16:05:28

标签: winapi character-encoding chm

我的C ++ Windows程序使用htmlhelp。结构HH_POPUP包括以下格式的字段pszFont:“Facename [,point size [, CHARSET [,color [,PLAIN BOLD ITALIC UNDERLINE]]]]”,但我找不到有关定义方法的任何信息字符集。我的俄语弹出式帮助是完全无法解决的。

HH_POPUP popupAttr;
memset(&popupAttr, 0, sizeof(popupAttr));
popupAttr.cbStruct = sizeof(popupAttr);
popupAttr.clrBackground    = COLORREF(-1);
popupAttr.clrForeground    = COLORREF(-1);
popupAttr.rcMargins.left   = -1;
popupAttr.rcMargins.bottom = -1;
popupAttr.rcMargins.right  = -1;
popupAttr.idString = UINT(helpInfo->dwContextId);
popupAttr.pt       = helpInfo->MousePos;
popupAttr.pszFont = _T("Arial,18,HOW_TO_DEFINE_THIS_CHARSET"); // please!!!
CWnd::GetDesktopWindow()->HtmlHelp(reinterpret_cast<DWORD>(&popupAttr), HH_DISPLAY_TEXT_POPUP);

2 个答案:

答案 0 :(得分:0)

(只是猜测。)可能需要在HTML帮助中定义charset而不是HH_POPUP结构。是否在HTML帮助主题的META标记中指定了字符集? E.g:

<META http-equiv="Content-Type" content="text/html" charset="Windows-1251">

此外,是否为您的帮助文件指定了相应的语言? E.g:

<Project.hhp>

[OPTIONS]
Language=0x419 Russian (Russia)

答案 1 :(得分:0)

通过将带有弹出标签的txt文件从UNICODE转换为ANSI,解决了这个问题。谢谢大家的帮助