Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 13 total
Thread Problem getting customized interfaces to apply throughout an application
Tue, May 31 2016 5:58 PMPermanent Link

Boris B

I want all my dialogs to center within the browser and have a certain colour background (different from the standard white).

I create my first dialog and click the "Open the interface..." button on the designer.  The Interface Editor appears and I "save as" to an "interfaces" directory in my project folder, using the default name, "TDialog.wbi".  I add the "interfaces" directory to my project complication search paths.

I then try adjusting the Layout to have Position = lpCenter and all the other options set to lpNone (this seems to work for centering in general I thought).  And I set the Background Fill Color to my desired colour.

I emit and deploy and open in my browser.  The dialog is messed up (apparently centered on the top left corner of the browser) and the background colour isn't applied at all.

What am I missing?
Tue, May 31 2016 6:41 PMPermanent Link

Walter Matte

Tactical Business Corporation


I click the edit interface for TDialog.

I changed default background color.

Saved the interface file into the Project Folder.

I made sure the Project Search Path had my project folder.

Under Library Menu - click Build - so the new interface would be available.

I clicked the button (beside the edit interface) which initializes control to interface default.

Ran project - it worked.

Added a dialog - it had the background.

Walter
Tue, May 31 2016 7:12 PMPermanent Link

Boris B

Thanks - that's helped Smile

Seems the Build and reset from interface were the two steps I missed.

However, the dialog now shows the colour correctly but still doesn't center.  Do I set the Layout - Position - lpCenter on the "Base" element of the interface, or the "Client" element?
Wed, Jun 1 2016 7:15 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Boris,

<< Seems the Build and reset from interface were the two steps I missed. >>

Actually, you don't need to rebuild the component library.  You only need to close/re-open the project.  Adding a new interface file the project's search paths is the one thing that the IDE *doesn't* automatically detect right now, but will at some point.  It actually *will* detect if you modify an interface that is in the project's search paths, provided that the Auto Loading of Control Interfaces option is checked in the Environment/Options dialog.

<< However, the dialog now shows the colour correctly but still doesn't center.  Do I set the Layout - Position - lpCenter on the "Base" element of the interface, or the "Client" element? >>

You can't change the layout positioning of dialogs - the runtime code in the WebForms unit forces them to lpCenter.

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Jun 1 2016 11:12 AMPermanent Link

Boris B

That's interesting because my desire to center the dialog arose from my observation that TDialog instances were aligning top-left instead of center...

If I create a new Form from TDialog and execute the code below, I get a top-left aligned dialog, not centered:

var
  LoginDialog: TLoginDialog;
begin
  LoginDialog := TLoginDialog.Create(nil);
  LoginDialog.ShowModal;
end;

If I set the Layout - Position property on the dialog to lpCenter, then it's displayed centered.

No doubt I'm missing something (again) Smile
Wed, Jun 1 2016 11:22 AMPermanent Link

Matthew Jones

Boris B wrote:

> No doubt I'm missing something (again) Smile

Have you set the consumption on your main window? Don't!

--

Matthew Jones
Wed, Jun 1 2016 11:47 AMPermanent Link

Boris B

The host form has Consumption None, Overflow None, Position TopLeft, Reset False, and Stretch BottomRight (i.e., so it fully fills the browser, since I want the HeaderPanel to fully extend left to right).
Wed, Jun 1 2016 12:18 PMPermanent Link

Matthew Jones

Boris B wrote:

> The host form has

And that is the main form, to be clear? First one listed in the
project, the one on the desktop.

--

Matthew Jones
Wed, Jun 1 2016 1:26 PMPermanent Link

Boris B

Yes, it's the only auto-create form and listed as the "Main Form" in the project options.
Thu, Jun 2 2016 8:49 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Boris,

<< That's interesting because my desire to center the dialog arose from my observation that TDialog instances were aligning top-left instead of center... >>

Sorry, I was looking at the message/progress dialogs.  You are correct, a straight-up TDialog-descendant will use the default layout positioning of lpTopLeft.

Can you email me your modified interface files/source files ?

Thanks,

Tim Young
Elevate Software
www.elevatesoft.com
Page 1 of 2Next Page
Jump to Page:  1 2
Image