Skinned innosetup showing text instead of scrollbar

匆匆过客 提交于 2019-12-22 10:38:24

问题


I am trying to create a new installer using InnoSetup 5.5.8 (u) and skinned using CodeJock's ISSkin v3.0.0. I am using one of the provided example skins (Office 2007 Black) applied by copying the code example from their website (http://isskin.codejock.com/gettingstarted.asp).

I am having some issues on our license agreement page. We currently show this using an RTF file in the default wizard screen. The problem is that on some machines we're getting text ('bef') showing instead of the skinned scrollbar:

The text (which is probably part of an error message) is also unreliable, as sometimes I see an unskinned, disabled scrollbar instead.

I reliably see the expected skin version on my main dev VM (Windows 8 Pro, Delphi and InnoSetup/ISSkin installed) and it's intermittent on my host machine (Win 10, no development software installed)

Has anyone encountered anything like this and got a decent fix/workaround? I have confirmed that removing the skinning code provides a working scrollbar, so that provides a workable solution for now.


回答1:


This looks like a bug in skinning mechanism but the 'bef' is really weird I have never seen that. What official support says?

Maybe you could try to update/invalidate the component so the scrollbar is redrawn correctly.

Also you can try the Graphical Installer (http://www.graphical-installer.com) which is different skinning mechanism and check for this behavior there (sorry for little self promo :)




回答2:


My solution for plaintext format:

procedure InitializeWizard();
var
  NewLicenseMemo: TMemo;

begin
  WizardForm.LicenseMemo.Visible := false;

  NewLicenseMemo := TMemo.Create(WizardForm);
  with NewLicenseMemo do
  begin  
    Parent := WizardForm.LicenseMemo.Parent;      
    Left   := WizardForm.LicenseMemo.Left;
    Top    := WizardForm.LicenseMemo.Top;
    Width  := WizardForm.LicenseMemo.Width;
    Height := WizardForm.LicenseMemo.Height;        
    Text   := WizardForm.LicenseMemo.Text;
    ReadOnly   := True;
    ScrollBars := ssVertical;
  end; 

end;


来源:https://stackoverflow.com/questions/35311258/skinned-innosetup-showing-text-instead-of-scrollbar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!