2010-03-24 7 views
0

Mon programme Windows C++ utilise htmlhelp. La structure HH_POPUP inclut le champ pszFont au format: "Facename [, point size [, CHARSET [, couleur [, PLAIN BOLD ITALIC UNDERLINE]]]]", mais je ne trouve aucune information sur la façon de définir le jeu de caractères. Mon aide contextuelle russe est totalement illisible.Comment définir charset pour HTMLhelp?

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); 
+1

Est-ce compilé avec UNICODE en vigueur? Quelle est la langue de votre système? –

+0

Le problème a résolu en convertissant le fichier txt avec des étiquettes de popup de UNICODE à ANSI. Merci à tous pour votre aide. –

Répondre

0

Le problème a résolu en convertissant le fichier txt avec des étiquettes de popup de UNICODE à ANSI. Merci à tous pour votre aide

0

(Juste une supposition.) Il se pourrait que le jeu de caractères doit être défini dans votre aide HTML plutôt que la structure HH_POPUP. Le jeu de caractères est-il spécifié dans les balises META de vos rubriques d'aide HTML? E.g .:

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

De même, la langue correspondante est-elle spécifiée pour votre fichier d'aide? E.g .:

<Project.hhp> 

[OPTIONS] 
Language=0x419 Russian (Russia) 
+0

Hmm, UTF-8 n'est-il pas un jeu de caractères dans Windows? CP_UTF8 ou alors? –