Как изменить текст элемента ярлыка с помощью API-интерфейса Burn C?
Каждый раз, когда страница загружается, WixStdBA будет проходить через текст каждого элемента управления на этой странице и отформатировать его с помощью метода FormatString
. Обратите внимание, что в v3.x элементы управления не внутри страницы только форматируются только один раз - до вызова OnDetect. Это единственный поддерживаемый способ для bafunctions.dll изменить текст элемента управления сегодня. Для этого потребуется доступ к теме, чтобы сделать это напрямую.
Вот пример. Используйте строку loc для текста элемента управления внутри страницы.
<Page>
<Text>#(loc.MyCustomText)</Text>
</Page>
В файле .wxl используйте переменную в значении строки loc.
<String Id="MyCustomText">Static text plus [MyCustomTextVariable]</String>
В OnDetect или OnDetectComplete задайте значение переменной.
pEngine->SetVariableString(L"MyCustomTextVariable", sczValue);
Могу ли я получить доступ к локализованным строкам, определенные в файле WXL Тематического, используя выгорание C API?
Возможно, но может быть проще. Вы должны подать запрос функции на http://wixtoolset.org/issues для bafunctions.dll, чтобы получить доступ к загруженным файлам loc и теме.
Файл .wxl по умолчанию будет находиться в том же каталоге, что и файл bafunctions.dll. Вы можете использовать методы LocUtil в locutil.h в dutil.lib для работы с .wxl-файлом.