为什么显示isxdl插件下载页面时,向导表单标题会更改? [英] Why does the wizard form header change when the isxdl plugin downloading page is shown?
问题描述
我正在使用以下几行来更改MainPanel
颜色和WizardSmallBitmapImage
图像:
I'm using the following lines to change the MainPanel
color and WizardSmallBitmapImage
image:
[Setup]
WizardSmallImageFile=MyFile.bmp
[Code]
procedure InitializeWizard;
begin
WizardForm.MainPanel.Color := $00FFDBBF;
end;
在我的设置中,我使用的是 isxdl
用于下载必备软件的插件,问题在于,当显示其下载进度页面时,MainPanel
和WizardSmallBitmapImage
组件将其外观恢复为默认值,正如我在此图片中试图说明的那样:
In my setup I'm using the isxdl
plugin for downloading prerequisites and the problem is that when its downloading progress page is shown, the MainPanel
and WizardSmallBitmapImage
components change their look back to the default as I've tried to illustrate on this picture:
为什么在显示isxdl插件下载页面时向导表单标题会更改,并且即使在此页面上,如何也保持页面标题的修改外观?
Why does the wizard form header change when the isxdl plugin downloading page is shown and how to keep the modified look of the page header even for this page ?
推荐答案
此问题的根源位于 draws its own header
,因此您在该页面上看到的不是Inno Setup的MainPanel
和WizardSmallBitmapImage
,而是该插件绘制的元素,并在其源代码中进行了硬编码.
The root of this problem lies deep inside the isxdl
plugin which draws its own header
, so what you see on that page is not Inno Setup's MainPanel
and WizardSmallBitmapImage
but elements drawn by that plugin, hardcoded in its source code.
在我看来,拦截该插件的窗口proc以用其实际外观覆盖这些元素(响应WM_PAINT
消息)会不必要地过于复杂(如果可能的话),所以我建议您要么构建您的该插件的自己版本,或切换到其他插件,例如 Inno Download Plugin
易于使用且不会破坏向导外观.
In my view it would be unecessarily overcomplicated (if even possible) to intercept that plugin's window proc for overdrawing those elements with their actual look (in a response to the WM_PAINT
message), so I would suggest you either building your own version of that plugin, or switching to a different plugin, e.g. Inno Download Plugin
which is also easy to use and which doesn't break the wizard look.
这篇关于为什么显示isxdl插件下载页面时,向导表单标题会更改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!