我已经创建了自定义表单(CreateCustomForm
),并更改LicenseMemo.Parent
为该表单。不幸的是,结果与LicenseFile
RTF始终以纯文本显示的效果不一样-所有RTF格式都消失了(字体,字体样式,字体大小等)。
更改其父项后,是否应该为LicenseMemo设置其他格式?
发生这种情况的原因是,当您重新创建控件的父项时,将在内部重新创建控件的窗口,并且由于TRichEditViewer
组件无论如何都不会存储RTF流,也不会在重新创建控件时重新加载它,所以它只会丢失其RTF内容,并且仅显示存储的纯文本。
对于这种情况也不利的是,即使该RTFText
属性也无法实现从现有控制实例读取RTF流,因此您甚至在重新创建父级以供日后还原之前,都无法保存该RTF。
有一种方法可以通过使用EM_STREAMOUT
消息来获取RTF流,但是由于缺少缺少的指针支持,所以很多工作最终对于Inno Setup Pascal Script可能是不可翻译的。
我能想到的唯一简单的解决方法是在重新父控件之后重新加载RTF内容文件。我知道您需要将许可证文件包括在[Files]
条目中并手动将其提取,但这是最省力的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句