New TNewCheckListBox

247 views
Skip to first unread message

El Sanchez

unread,
Aug 7, 2021, 8:34:29 AM8/7/21
to innosetup
Hi, Martijn.
This is my own implementation of checklist box. Flicker-free drawing, optional tree view mode with collapsible items, optional custom background and item glyphs, compatible with visual styles.
NewCheckListBox2.zip

Alex Born

unread,
Aug 8, 2021, 3:00:19 AM8/8/21
to innosetup
Hi, El Sanchez.

Your new component is not compatible with Inno Setup.
It does not have an Items property and EnumChildrenOf procedure.
WantTabs property is not working as expected.
When using the VCL style, checkboxes are displayed with artifacts.

ISnewCLB.png

But in any case, a very necessary modernization. Thanks. :)

P.S. It would also be nice to add a background transparency property for the
FolderTreeView, NewEdit, NewMemo, NewListBox, RichEditViewer components
and the ability to customize the background for them. ;)

суббота, 7 августа 2021 г. в 14:34:29 UTC+2, El Sanchez:

El Sanchez

unread,
Aug 8, 2021, 3:54:45 AM8/8/21
to innosetup
It does not have an Items property and EnumChildrenOf procedure.
 Users must avoid use Items property directly and any TStrings methods and properties such as Move, Exchange, Delete etc. Do you really want that WizardForm.ComponentsList.Items.Delete(0) was allowed operation?

WantTabs property is not working as expected.
 WantTabs property has not nothing to do with the window border

When using the VCL style, checkboxes are displayed with artifacts
What is the style?  If custom you have wrong style maybe.
 

Alex Born

unread,
Aug 8, 2021, 5:18:15 AM8/8/21
to innosetup

 Users must avoid use Items property directly and any TStrings methods and properties such as Move, Exchange, Delete etc. Do you really want that WizardForm.ComponentsList.Items.Delete(0) was allowed operation?
Items property used in Compil32 (look CompWizard.pas)
EnumChildrenOf procedure used in Setup.e32 (look Wizard.pas)
 
 WantTabs property has not nothing to do with the window border
You are right. I was wrong.
But then the BorderStyle property doesn't work.

So with your TNewCheckListBox component (BorderStyle := bsNone in CodeClasses.iss):
ISnewCLB3.png
 
That's with the original TNewCheckListBox component (BorderStyle := bsNone in CodeClasses.iss):
ISnewCLB4.png

When using the VCL style, checkboxes are displayed with artifacts
What is the style?  If custom you have wrong style maybe.
I am using standard Delphi 10.3.3 Rio VCL Style themes.

Here is the VCL Styles for Inno Setup plugin used.
Checkboxes are displayed correctly:
ISnewCLB5.png

Best regards :)

Martijn Laan

unread,
Aug 9, 2021, 2:44:24 AM8/9/21
to inno...@googlegroups.com
Op 7-8-2021 om 14:34 schreef El Sanchez:
This is my own implementation of checklist box. Flicker-free drawing, optional tree view mode with collapsible items, optional custom background and item glyphs, compatible with visual styles. --

Thanks, but it's such a massive change that I have no idea how to check your changes are purely cosmetic. I can only merge this if you do small & focused pull requests introducing the changes bit by bit.

Greetings,
Martijn

El Sanchez

unread,
Aug 23, 2021, 4:44:46 AM8/23/21
to innosetup
But then the BorderStyle property doesn't work.
 Not confirmed

I am using standard Delphi 10.3.3 Rio VCL Style themes.
Here is the VCL Styles for Inno Setup plugin used. 
Checkboxes are displayed correctly
OK, fixed

issrc-main.zip
Reply all
Reply to author
Forward
0 new messages