My C++ windows program uses htmlhelp. Structure HH_POPUP includes field pszFont in format: "Facename[, point size[, CHARSET[, color[, PLAIN BOLD ITALIC UNDERLINE]]]]", but I cannot find any info about way to define the charset. My russian popup help is totally unreadeable.
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_T开发者_JAVA百科HIS_CHARSET"); // please!!!
CWnd::GetDesktopWindow()->HtmlHelp(reinterpret_cast<DWORD>(&popupAttr), HH_DISPLAY_TEXT_POPUP);
(Just a guess.) It might be that the charset needs to be defined in your HTML Help rather than the HH_POPUP
structure. Is the charset specified in the META
tags of your HTML Help topics? E.g.:
<META http-equiv="Content-Type" content="text/html" charset="Windows-1251">
Also, is the corresponding language specified for your help file? E.g.:
<Project.hhp>
[OPTIONS]
Language=0x419 Russian (Russia)
The problem has solved by converting txt file with popup labels from UNICODE to ANSI. Thank you everyone for your help
精彩评论