TAdvMultiButtonEdit inherits features from TAdvEdit or TAdvEditBtn

I was a bit surprised that TAdvMultiButtonEdit (unlike TAdvEditBtn) didn't inherit from TAdvEdit or share many of its useful features. Is this possible? If for no other reason, it is rather confusing having very similarly named controls with little commonality.

This is a compound control. The edit control inside TAdvMultiButtonEdit is a TAdvEdit.
You can access it via public property TAdvMultiButtonEdit.Edit:TAdvEdit.

Thanks for the quick reply Bruno. That worked fine. You might want to think about exposing the TAdvEdit as a property in the Object Inspector to make things a bit more obvious to people like me - or (better) maybe bringing all the unique fields out as main component properties (I was looking for FloatValue). There also seems to be an issue with the label on this component which (at least on my current project) won't become invisible with the edit box the way the one on TAdvEdit does.

We'll see what we can do to expose this published but it isn't trivial.
I could not see an issue with the label?

The edit is on a TAdvGroupBox which is also an a TAdvGroupBox and when the Visible property is toggled (by a Radio Group control) this is what happens:

Before - Edit visible:

After - Edit not Visible (label still is):

I have cleaned the project, colsed and opened everything but the problem persists. I will try to reproduce on a smaller project for you.

Bruno. I reproduced the problem on a simple project with just a radio group and an edit control.


procedure TForm1.RadioGroup1Click(Sender: TObject);
Edit1.Visible := RadioGroup1.ItemIndex=0;

If you can't reproduce this it must be something with my TMS installation.

Some more odd (probably related) behaviour of the Label. Replace the event handler in my previous example with this which is supposed to work around the first problem:

procedure TForm1.RadioGroup1Click(Sender: TObject);
//This works OK
Edit1.Visible := RadioGroup1.ItemIndex=0;
Edit1.LabelCaption := '';
if RadioGroup1.ItemIndex=0 then Edit1.LabelCaption := 'Edit Label';
//this doesn't work - label always stays invisible
// Edit1.Visible := RadioGroup1.ItemIndex=0;

The label will always stay invisible if the Visible property is set after the label caption is changed, but works properly if it is set before.

We applied a fix that will be in TMS VCL UI Pack v11.0.4.0

When using the TAdvMultiButtonEdit for floats, I have had to manually set the following tAdvEdit properties in the form OnCreate method (rather than setting them in the form designer):

Having these as component properties would make things much simpler (and probably some others I haven't had to use yet).

Oddly EditType is available in the Object Inspector, but without the above properties it is a bit pointless!

We will expose these in TMS VCL UI Pack v11.0.5.0

Bruno, I now find I need the "IntValue", "Int64Value" and "Value" properties as well - can you add them please.

We can confirm this will be in the next release.