TTIWChecklistbox Issue

I have a TTIWChecklistbox on my form.

Initially it is invisible until some actions are taken before hand to populate it. Once populated it is shown.

Problem I have is when it is set to visible true, the height of the list object is now more then what I have set
in the object inspector.

Height is set to 321 , when it is set to visible true on the user end the height is 347. By design of my
form, the bottom bit of it gets cut off. No align set. Anchors are True,True,False,False (default)

This is with latest IW 11 in delphi and latest TTIWChecklistbox compnent.


Another issue I have is on a AsyncDblClick on a TIWListbox. In the async event I run a query, then i hide the listbox, and show the TTIWChecklistbox. But it doesnt seem to become visible/populated at all. but if i do anything else thats a non async event, it then pops up.

Did you set Form.RenderInvisibleControls  = true?

Yes RenderInvisibleControls is set to true.

I put my code back in the AsyncDblClick on the IWListbox again to make sure.. and with it in there, theChecklistbox code that sets it to visible runs.. but the checklistbox never shows. Still only works with this code in the OnClick event.

Just to make sure also, with this code still in the Async Event of IWListbox, i dropped a dummy IWbutton on the form.

I set a asyncclick event with just begin; {} end; ... thats it... when i click it.. nothing happens like i thought..
but if I remove the asyncclick event from the button, and set an OnClick event, with just begin; {} end; , when i press
the button, now the Checklistbox appears finally, with all my values i put into it.






I have not been able to reproduce this issue.
Can you please provide a ready to use sample project that demonstrates the issue, so I can further investigate this?

After making changes to the TIWCheckListBox Items stringlist, you can call Invalidate to make it appear correctly when using an async event.

Example:

  TIWCheckListBox1.Items.Clear;

  for I := 0 to 10 - 1 do
  begin
    TIWCheckListBox1.Items.Add('Item ' + IntToStr(I));
  end;

  TIWCheckListBox1.Visible := true;
  TIWCheckListBox1.Invalidate;

After making changes to the TIWCheckListBox Items stringlist, you can call Invalidate to make it appear correctly when using an async event.

Example:

  TIWCheckListBox1.Items.Clear;

  for I := 0 to 10 - 1 do
  begin
    TIWCheckListBox1.Items.Add('Item ' + IntToStr(I));
  end;

  TIWCheckListBox1.Visible := true;
  TIWCheckListBox1.Invalidate;
[/QUOTE]

This "Sorta" worked .. maybe...

I did this, but it still made the height taller then what i have it designed on the form. So what I did was make like 10 pixels shorter in my design.. and now it fits.. but it still seems the rendering, ect whatever is making it taller then what it should be.


I have not been able to reproduce this issue.
Can you please provide a ready to use sample project that demonstrates the issue, so I can further investigate this?

It looks like I can reproduce it.

what it is, is if i make a region then drop a checklist box in it. Making the bottom of the checklistbox near the bottom
of the region itself.  It looks fine when using it at first with default settings.

Enable the checkallbox, it draws the checkallbox overtop of the listbox itself, thus pushing the box down. Easier to tell when you have the border on, as you get to see the bottom get cut off. If need an example app where to send it?

Please send your example app to mailto:help@tmssoftware.comBart Holvoet2011-05-17 02:53:16