I'm searching for an circular progress indication for Inno Setup, like this one on jQuery: http://anthonyterrien.com/knob/
Is there something similar or is it possible to do this in Inno Setup?
I want to set the percentage manually, it shouldn't be a spinning circle or something like that...
Without an external DLL library, all you can do is to use TBitmapImage control and draw the progress bar manually.
For an example of painting on TBitmapImage, see How do I change the color of my progress bar in Inno Setup?
An easier option is to prepare set of progress images (10%, 20%, 30%, etc) in advance and load respective image as needed.
Related
I'm making my own design for the Inno wizard, but I can't seem to find how to change the background color of the buttons (next/back/cancel).
Does anyone know?
I know it has to be in the [Code] section under procedure InitializeWizard();
And should look something like
WizardForm.NextButton.Color := $464646;
But obviously this one doesn't work, hence I'm looking for any suggestions. And please don't recommend plugins, not going to use any plugins. My style looks the way I wanted it to look aside from the buttons.
This is not possible in vanilla Inno Setup.
In Windows drawing buttons is a complex task because buttons typically contains several "layers" which are painted individually - like frame, shadows, body (not single color).
The easiest to achieve this is to write custom plugin for Inno Setup (either C/C++ or Delphi - based on your preferences) and use the WIndows API, however this requires some additional knowledge.
See https://learn.microsoft.com/en-us/windows/win32/controls/button-styles?redirectedfrom=MSDN#BS_OWNERDRAW for more info.
Here's the documentation for ScaleX function: ScaleX. The same thing is for ScaleY: ScaleY. I'm a little bit confused with these. Does it mean that I only need to use them when I use different font sizes on my wizard page? Can anybody give me the real example of why I should always use those instead of absolute/relative values?
You need to use them always, when setting absolute control locations and sizes.
They take care of custom font sizes and window scaling set by the user in Windows preferences. That's not under your installer control.
See also Inno Setup Placing image/control on custom page.
I'm using a custom VCL style, Its progress bar image is like windows XP.
But While installing and using the style, inno setup will stretch the progress image into the progress bar.
How to avoid such an effect?
I'm a designer and Framer noob trying to accomplish the following:
Similar to Instagram, I'd like to pin the header bars of modules in a scroll container and have the next module header bar push up the already pinned header bar as you scroll down.
I can easily accomplish this in Pixate where the pinned bars move at the same rate as the scroll content and stick to the top at a specified coordinate and then continue scrolling at another, but the coordinates have to be specified for each bar - the end of one is the beginning of the next.
The bars are all the same height - is there a cleaner way to do this in Framer?
Thanks in advance!
This module seems to do what you want:
https://github.com/72/StickyHeaders-for-Framer
Check out one of the demos here:
http://share.framerjs.com/4jr3dyd44bpm/
I've been playing around with Inno Setup 5.3.6; trying to customize the installers colors. Mainly the banner that appears at the head of the installer. But as of yet i have no luck finding a way of doing this easily.
After reading through the documentation I found the BackColor, BackColor2, BackColorDirection and BackSolid parameter. But giving them different values has as of yet not given me any visual change whatsoever.
Quick example of what I'm trying to do
[Setup]
AppName=My Program
AppVerName=My Program version 1.4
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
BackColor=$E6B13A
BackColor2=$E5B13A
BackSolid=no
BackColorDirection=lefttoright
What I'm wondering is, does anyone know what colors BackColor and BackColor2 actually modifies? And if there is no simple way of changing the colors; is there any way to modify the upper banners color gradient programmatically using the [Code] segment?
The four parameters are described in the Cosmetic section of the documentation of the [Setup] section in the Inno Setup help. They do what you would expect, but not for the gradient in the upper area of the setup wizard, but for the background window that was customary a few years ago. This is considered legacy, but can be enabled by setting
[Setup]
...
WindowVisible=yes
(the default value is no). You can try this to see it in action, but IMO you shouldn't enable this for your installations unless you want them to look rather dated.
As for the top area of the wizard: It is not meant to have a gradient. If you use a tool like Spy++ to check the window hierarchy of the wizard, or open the Wizard.dfm.txt text file from the Inno Setup sources, you will find that there is a window of the class TPanel with the colour set to the default window colour (clWindow if you know Delphi, or the result of calling GetSysColor() with the COLOR_WINDOW constant). This is a solid colour, which you can change easily by adding this to your [Code] section:
procedure InitializeWizard();
begin
WizardForm.MainPanel.Color := clYellow;
end;
I don't think it is possible with the current Inno Setup versions to draw a gradient on this panel, because the panel itself has no canvas to draw on, and the TPaintBox class which could maybe be created in the right place and be used to draw the gradient isn't available (see list of classes in the "Support Classes Reference" section of the documentation).
this is an old question, but someone might stumble here like i did. The most elegant way to change the inno setup color schemes is by using a 3rd party tool called ISSkin