Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 20 of 27 total
Thread TLabel and TCheckbox problems
Mon, Apr 13 2015 1:03 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

<< Yes, thats what I found out and now use. But there was no OnChange Event
for TCheckBox in EWB1, so I used OnClick, now I think I'm not the only one
who is irritated by this different behaviour. >>

There's a lot of changes like this in EWB 2.  EWB 2 is a break from the old
"Delphi" way of doing things in many respects, and it was all done
intentionally.  We can't be backwards-compatible when the old way of doing
things doesn't fit the future, and the future is input done in many
different ways, not just mouse clicks.

Tim Young
Elevate Software
www.elevatesoft.com


Mon, Apr 13 2015 1:36 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Doc,

<< Here is just another problem: >>

Are you resetting the width of Label1 after setting the AutoSize property to
False ?  If you turn off the auto-sizing, then the control will return *to
its original width and height assigned by the developer, or its default*.
So, you may need to re-adjust it if you never sized it to a certain width
manually previously.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Apr 13 2015 1:37 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Doc,

<< It ist not possible to send you a project to show this behavior, because
the problem is that ist is not saved correctly.
But it is simply to reproduce (just did it here) >>

Okay, this is fixed.  EWB just needed another change notification type to
handle when AutoSize=False and the UI element needed a re-layout.  EWB
wasn't detecting that situation, so it was just ignoring it.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Apr 13 2015 1:58 PMPermanent Link

Doc

"Tim Young [Elevate Software]" wrote:

Are you resetting the width of Label1 after setting the AutoSize property to
False ?  If you turn off the auto-sizing, then the control will return *to
its original width and height assigned by the developer, or its default*.
So, you may need to re-adjust it if you never sized it to a certain width
manually previously.

--------------------------------------------------------------

Okay, this does the trick, but its strage, Preview in the IDE and after Compiling should look the same.
If I change Label1 (Caption="100") to AutoSize=false, Label1.With shows 34 and Label1.Heigth shows 23.
It compiles and looks as in the IDE.
When I now change Format.Alignment to ca_Right, With and Height stay the same. But running the programm the Label goes in a more right position. If I manually change Heigth to 24, suddenly With changes to 69 and this explains the (wrong) position of Label1.Caption. 23-69 are obviously the defaults. But the behaviour of the IDE, changing to defaults but not showing it after setting AutoSize to false is somewhat strange.
Mon, Apr 13 2015 2:01 PMPermanent Link

Doc

"Tim Young [Elevate Software]" wrote:

Okay, this is fixed.  EWB just needed another change notification type to
handle when AutoSize=False and the UI element needed a re-layout.  EWB
wasn't detecting that situation, so it was just ignoring it.

__________________________________

Thank you !
Mon, Apr 13 2015 2:11 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Doc,

<< Okay, this does the trick, but its strage, Preview in the IDE and after
Compiling should look the same.  If I change Label1 (Caption="100") to
AutoSize=false, Label1.With shows 34 and Label1.Heigth shows 23. >>

That's the other bug that you reported - if you set AutoSize=False, EWB
isn't causing a re-layout on the label like it should, therefore the
original assigned dimensions aren't being put into place properly.  This
actually affects both the design-time and run-time code.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Apr 13 2015 3:01 PMPermanent Link

Matthew Jones

Tim Young [Elevate Software] wrote:

> Matthew,
>
> << I did? Hmm, I don't recall such! Must be getting old. >>
>
> Crap, I thought that was you.  It may be me getting old here. Smile
>
> Somebody requested it because they were doing questionnaire software
> and needed to know when someone hadn't selected a radio button, and
> the same principle applies to the check boxes...

Tim,

It's livable - as I said, I did this with a Delphi tri-state checkbox
before. One request though - can we have functions in the TCheckBox to
test IsChecked, IsUnchecked, IsUndefined, and perhaps Setters too? It
would allow us to write code that tested these definite states without
having to refer to the state or write utility functions.
Mon, Apr 13 2015 3:42 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< It's livable - as I said, I did this with a Delphi tri-state checkbox
before. One request though - can we have functions in the TCheckBox to test
IsChecked, IsUnchecked, IsUndefined, and perhaps Setters too? It would allow
us to write code that tested these definite states without having to refer
to the state or write utility functions. >>

So, you want to type MyCheckBox.IsChecked instead of having to type
MyCheckBox.SelectionState=ssSelected ?  I'm sorry, but that just seems like
cluttering up the properties for a less-than-ideal reason.  And, it suffers
from the same problem as before - you *still* have to do an additional
comparison when IsChecked is False.

3-state is 3-state, and there's really no way around that with Boolean
values, which are inherently 2-state.

Tim Young
Elevate Software
www.elevatesoft.com


Mon, Apr 13 2015 3:46 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< I did? Hmm, I don't recall such! Must be getting old. >>

BTW, here's the message where you requested the 3-state radio buttons:

http://www.elevatesoft.com/forums?action=view&category=ewb&id=ewb_general&page=1&msg=2189#2189

Having all radio buttons unselected = 3-state.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Apr 13 2015 4:11 PMPermanent Link

Matthew Jones

Tim Young [Elevate Software] wrote:

> So, you want to type MyCheckBox.IsChecked instead of having to type
> MyCheckBox.SelectionState=ssSelected ?  I'm sorry, but that just
> seems like cluttering up the properties for a less-than-ideal reason.
> And, it suffers from the same problem as before - you still have to
> do an additional comparison when IsChecked is False.

I don't have to do that comparison, because I would choose the right
state to test. If I want to have it not unchecked or undetermined, I
test IsChecked. Indeed, it is important that a checkbox can have a way
to disable the third indeterminate state.

However, this all doesn't matter as we can just define our own CheckBox
variants, so just ship it for now. 8-)
« Previous PagePage 2 of 3Next Page »
Jump to Page:  1 2 3
Image