Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 16 total
Thread Borders
Wed, Jan 28 2015 9:53 AMPermanent Link

Mark Brooks

Slikware

Avatar

These appear to be missing for forms and image components. Is this yet to be completed? Thanks.
Wed, Jan 28 2015 10:03 AMPermanent Link

Matthew Jones

Hmm, interesting. I was going to say that you probably don't need that,
as you can just change the interface of forms. But then you'd either
have to have all forms without borders, or have a way to set the
interface to use, preferably at design time.

But it also raises the question of how I can set a general "interface
theme" for a project. Right now there is no project specific directory
which the interfaces come from. Tim, is this something to come? I can
imagine that I might make various directories with "theme" variations,
and then select one for the project builds. Or perhaps directories that
contain just overridden interfaces, so I can have a custom TForm
interface, and pick up the rest from the standard one. (Perhaps another
for common overrides - just a path list that is searched, stop at the
first with the interface...)
Wed, Jan 28 2015 6:10 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mark,

<< These appear to be missing for forms and image components. Is this yet to
be completed? Thanks.  >>

You can't directly change the borders on certain controls because the
borders are either used for focus control and other state transitions, or
they're used in a way that makes them difficult to modify without screwing
up the desired look and feel.

If you want to modify the complete look and feel for a form, then the best
way is to modify the interface directly, or to create a new form class that
uses a new interface class for skinning the form.  The TPaperForm class is
in there specifically to show how to do this, so that's the best place to
start (WebForms).

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Jan 28 2015 6:16 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< Hmm, interesting. I was going to say that you probably don't need that,
as you can just change the interface of forms. But then you'd either have to
have all forms without borders, or have a way to set the interface to use,
preferably at design time. >>

The general rule of thumb with certain types of controls is that they're
just always going to need a new interface if you want to alter their
appearance in any significant way.

<< But it also raises the question of how I can set a general "interface
theme" for a project. Right now there is no project specific directory which
the interfaces come from. Tim, is this something to come?  I can imagine
that I might make various directories with "theme" variations, and then
select one for the project builds. Or perhaps directories that contain just
overridden interfaces, so I can have a custom TForm interface, and pick up
the rest from the standard one. (Perhaps another for common overrides - just
a path list that is searched, stop at the first with the interface...) >>

Yes, the interfaces obey the same compiler search path rules that units do,
so you can replace the entire "skin" of an application by simply
re-compiling your application using different search paths.  However, in
most cases you'll probably want to see your interface changes at
design-time, so the best solution is to change the *library* search paths
and rebuild the component library.  Then, your application will get
re-skinned at design-time and run-time.

It's all very "wide open" at this point, but I'm going to try and make
things a little more "ordered" as the product progresses.  I really want to
see how things shake out first.

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Jan 28 2015 6:26 PMPermanent Link

Uli Becker

Tim,

are you saying that I have to create a new class just to hide the border of a form like it's possible in EWB ?

If so, I'm quite sure I wouldn't like it.&#128521;

Uli
Wed, Jan 28 2015 6:28 PMPermanent Link

Uli Becker

&#128521 should have been a smiley…  
Thu, Jan 29 2015 4:05 AMPermanent Link

Mark Brooks

Slikware

Avatar

"Tim Young [Elevate Software]" wrote:

>>You can't directly change the borders on certain controls because the
>>borders are either used for focus control and other state transitions, or
>>they're used in a way that makes them difficult to modify without screwing
>>up the desired look and feel.

>>If you want to modify the complete look and feel for a form, then the best
>>way is to modify the interface directly, or to create a new form class that
>>uses a new interface class for skinning the form.  The TPaperForm class is
>>in there specifically to show how to do this, so that's the best place to
>>start (WebForms).

Ok. Will play with this when I get my head around interfaces etc. Cheers.
Thu, Jan 29 2015 4:26 AMPermanent Link

Matthew Jones

Tim Young [Elevate Software] wrote:

> Yes, the interfaces obey the same compiler search path rules that
> units do, so you can replace the entire "skin" of an application by
> simply re-compiling your application using different search paths.
> However, in most cases you'll probably want to see your interface
> changes at design-time, so the best solution is to change the library
> search paths and rebuild the component library.  Then, your
> application will get re-skinned at design-time and run-time.

As usual, you have thought it through and solved problems before I've
even thought of them. 8-)

I think it would be nice for the IDE to have an option to auto-update
the library on a per-project basis, so that I can have a different
interface per project, and have it auto-switch fully. That said, I tend
to use my single theme for everything anyway, and would probably do
that here too. But being able to develop changes in one project without
affecting the others might be handy, with automatic switching.
Thu, Jan 29 2015 6:00 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Uli,

<< are you saying that I have to create a new class just to hide the border
of a form like it's possible in EWB ? >>

Yep, the borders are important for the forms (think scrollbars and sizing),
so they need to be there.

What exactly do you need a borderless form for ?  Do you just need a basic
form like the TBasicPanel that doesn't do scrollbars, etc. ?  If so, then
it's easy to work one up and I can just add one to the component library for
you.

Tim Young
Elevate Software
www.elevatesoft.com
Thu, Jan 29 2015 6:27 AMPermanent Link

Uli Becker

Tim,

> What exactly do you need a borderless form for ?  Do you just need a
> basic form like the TBasicPanel that doesn't do scrollbars, etc. ?  If
> so, then it's easy to work one up and I can just add one to the
> component library for you.

I have always used borderless forms or at least forms with a very thin
border (using a custom theme in V1) just because of a "website-like"
look and feel.
Another nice way to display different kind of styles in V1 for me was
"ShowBorder=false" and drawing colored lines inside the form.

That's why I liked to hide the border.

Thanks.

Uli
Page 1 of 2Next Page »
Jump to Page:  1 2
Image