1

我在 InstallShield 中构建了 InstallScript MSI 项目。我的安装程序中有自定义许可证对话框。我想从许可证 RTF 文件中读取数据并使用 InstallScript 将其写入 ScrollableText 控件。我怎样才能做到这一点?

还有有没有办法在安装时使用 InstallScript 设置 ScrollableText 控件的 FileName?

在安装时,我尝试使用 InstallScript 函数将 RTF 文件中的所有数据读取到 LIST ListReadFromFile(),并尝试使用函数将这些数据写入 ScrollableText CtrlSetMLEText()。但 ScrollableText 并未显示 RTF 文件的所有数据。

那么有人可以建议我用其他方法来实现这一目标吗?

4

1 回答 1

1

ScrollableText控件截断数据的原因是它只能显示不超过特定字符数 (32xxx) 的数据。
为了解决这个问题,我改变了ScrollableText发送数据之前的限制。使用以下代码,我们可以设置编辑框的字符限制。

// Get dialog handle
hDlg = CmdGetHwndDlg(SD_DLG_LICENSE_RTF);

// Get Control handle
hScrollControl = CtrlGetDlgItem(SD_DLG_LICENSE_RTF, hDlg, 301);

SendMessage(hScrollControl, EM_LIMITTEXT, 40000, 0);  

使用EM_LIMITTEXTor EM_EXLIMITTEXT,我们可以设置编辑字段的限制。
这是MSDN 博客上针对此场景的相关文章。

于 2017-05-15T11:36:50.247 回答