Как отобразить специальный символ в элементе управления RichEdit

Я использую следующий код.

  nsDialogs::CreateControl "RichEdit20A" ${WS_VISIBLE}|${WS_CHILD}|${WS_TABSTOP}|${WS_VSCROLL}|${ES_MULTILINE}|${ES_WANTRETURN} ${__NSD_Text_EXSTYLE} 30% 30% 65% 45% ``
  Pop $0

 ;load the license from file 

nsRichEdit::Load $0 $PLUGINSDIR\license.txt

(с использованием подключаемого модуля NSIS RichEdit)

У меня проблема с загрузкой специальных символов. Они должны отображаться как ® или - вместо символа авторского права или - я использую юникодную версию NSIS и компилирую на 32-битной машине. Может кто-нибудь предложить предложения для этого.


person Kash    schedule 08.04.2014    source источник
comment
Как кодируется файл license.txt? UTF-16LE?   -  person Anders    schedule 10.04.2014
comment
Я не знаю этого. Я посмотрю.   -  person Kash    schedule 17.04.2014


Ответы (1)


Я думаю, что в Unicode NSIS было обновление, которое устраняет эту проблему. Попробуйте использовать последнюю версию 3.0a2.

Установите Unicode true и используйте

nsDialogs::CreateControl "RichEdit20W" ...

W означает версию RichEdit для Unicode (A для Ansi).

person Slappy    schedule 09.04.2014
comment
Я использую Unicode NSIS отсюда scratchpaper.com Я все еще вижу проблему после перехода на RichEdit20A. У меня нет проблемы на 64-битной машине только на 32-битной машине. - person Kash; 09.04.2014
comment
Unicode true должен быть где-то в начале скрипта. Его нельзя разместить позже, потому что NSIS требует, чтобы некоторые подпрограммы выполнялись в первую очередь. - person Slappy; 10.04.2014
comment
Исправление RichEdit в альфа-версии было только для стандартных страниц, а не для пользовательских страниц, таких как nsDialogs. - person Anders; 10.04.2014