Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread Understanding Interfaces
Thu, Feb 25 2016 6:21 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

I am still trying to understand interfaces.

* I copied the all the files in the interface folder to another folder.
* Changed the Search Paths of the Project Options to look at the new copied interface folder.
* Created a new project with a TButton control.
* Compiled the project.
* Opened the TButton.wbi interface file and changed the size of normal state of the button to be wider, changed the background color, changed the font name and font color.
* Compiled the project again.
* The color of the normal state of the existing button has changed to the new color, but the other properties remain the same as before.
* Added another TButton control.
* The new button has all the new properties that were defined in interface.

I have read the manual (lots of times) but I still do not understand how interfaces work.  It appears that the new interface properties are only going to appear when a new control is created.

The problem that I wish to solve is that I have a customer who is older than me and wants the fonts in the all the grids, labels, edit boxes to be black (not grey) and larger so he can read them.  What are the options available to achieve this?

Thanks

Richard Harding
Fri, Feb 26 2016 2:25 AMPermanent Link

Matthew Jones

There is a button on the IDE that resets UI elements to their interface
defaults.



--
Matthew Jones
Fri, Feb 26 2016 8:12 AMPermanent Link

Trinione

Richard Harding wrote:

<< The problem that I wish to solve is that I have a customer who is older than me and wants the fonts in the all the grids, labels, edit boxes to be black (not grey) and larger so he can read them.  What are the options available to achieve this? >>

For Edit Boxes and Labels, set the Font | Color / Size properties.

For Grids, set via the CellUpdate event.

Example:

procedure TForm1.GridColumn1CellUpdate(Sender: TObject; ACell: TGridCell);
begin
 ACell.Font.Color := clElevateRed;
 ACell.Font.Size := 24;
end;
Fri, Feb 26 2016 5:34 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Richard,

<< * Changed the Search Paths of the Project Options to look at the new copied interface folder.
* Created a new project with a TButton control. >>

Shouldn't these last two be reversed ?  You should create the project first, and *then* adjust the compiler search paths for the new project.

<< * The color of the normal state of the existing button has changed to the new color, but the other properties remain the same as before. >>

Just to clarify this: certain control interfaces may override the settings in the Object Inspector for a control as the state of the control changes.  You can see whether this is true by selecting the control in the form designer, clicking on the control interface button on the layout toolbar in the form designer (top of the form designer, second button in from the right), and then examining the ApplyProperties for any elements in the control interface.  For example, if the ApplyProperties.FontColor property is set to True for an element, then that means that the font color defined in the control interface for that element will override any Font.Color settings in the Object Inspector when the selected control interface state is applied during mouse-overs or any other change to the state of the control.

<< * The new button has all the new properties that were defined in interface. >>

This is the converse of the above: the visual settings in the Object Inspector for a given control will override the defaults for the control, so you need to use the reset control interface button in the layout toolbar for the form designer (top of the form designer, first button in from the right) to reset the button's visual properties to the defaults for the control.

Tim Young
Elevate Software
www.elevatesoft.com
Fri, Feb 26 2016 6:15 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

Thank you Tim,

I did not know about the Initalize to default state button and the ApplyProperties property so that is very helpful - as is the rest of the explanation.

Thank you
Richard
Fri, Feb 26 2016 6:16 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

<< There is a button on the IDE that resets UI elements to their interface defaults. >>

Thank you Matthew - that is useful to know.

Richard
Fri, Feb 26 2016 6:24 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

Thank you - although I wanted to avoid the effort of making individual changes to each text, label and GridColumn component in the project.  I already make use of CellUpdate to highlight certain conditions in the data.

Tim and Matthew's answers helped to make better use of interfaces.

Thank you.
Richard
Image