Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Form inside a Pageframe

Form inside a Pageframe

Form inside a Pageframe

Hello colleagues!

I am creating a form which has a Pageframe with 6 Pages (5 similar -Passageiro 1 ...5- and the 6th for totalization of numeric fields ).

Each Page has about 20 fields (in the Page1 of the Pageframe I created only 8 fields and their labels, for now):

Well, in just one table I will have all the fields in the form.

I may copy all the fields already designed in Page1 of the Pageframe to Page2, Page3, Page4 and Page5, and create methods to display the contents of each Page of the Pageframe when the user clicks Page1 ... Page5 when executing.

But I am thinking about a simpler solution: just create a new Form (named Complement, for example) with the fields in Page1 of the Pageframe, and then erase all the fields in Page1. When executing, and the user clicks on Page1...Page5 the called page will display the new Form Complement INSIDE the clicked Page of the Pageframe.

Is this idea a too high dream or is a possible one?

Thank you,

RE: Form inside a Pageframe

Yes, you can do that. You could even do the extreme, put everything into page 1, then copy all controls into all pages and finally delete from page2 to page5 what's not relevant there. That doesn#t need a second form, but okay, it's never bad to be able to go back to where you are already by first making a backup and/or do your experiment in a copy.

Also, what you didn't ask but also heps, you can set controlsources of all controls and don't need to set values when a page is activated, the data binding with controlsources does work no matter if controls are on the active page or an inactive page, so once all data binding is done, there's nothing to do when the page is switched. You might have reasons to navigate to a correct record or set a filter or anything like that and you might have unbound controls you only want to set once they are displayed, then acting in the page.activate() event surely is right - and no problem.


RE: Form inside a Pageframe

Chriss, I understood what you said. It is fine. Problem will arise if, in the future (probably) I will need to change the size and/or position of a control, for example. In this approach, I will have to make change in the same control in all 5 the pages in the Pageframe. Then, it will be easy to make a mistake.

I would like to have just one page (in case I mentioned, the new Complement form), which would be displayed inside the clicked Page of the Pageform.

Of course, you tip about using Controlsource is helpful!

Thank you,

RE: Form inside a Pageframe

Copies of something don't adjust when you later change the orignal, that's true.

If you want something on every page there is the defintion of a separate page class and the memberclass feature, but we discussed the problems with this in a recent thread.

There's something else you can do, which is always applicable: Design a set of controls in a container and then put that on multiple pages. If, in the future, you then change the composition or position or sizes of textboxes and other controls within that container, every page adapts the same way.

There's another simple solution that requires neither a page class nor a container class: Put controls on none of the pages, put them on the form and then just move them into the area of the pages and they keep showing no matter to which page you switch. If you want something like that, a better design is to put such controls in areas above or below the pageframe and on no page at all.


RE: Form inside a Pageframe

Chriss, I like this option of yours:

Quote (Chriss)

...design aset of controls in a container and then put that on multiple pages. If, in the future, you then change the composition or position or sizes of textboxes and other controls within that container
Well, I created in a new form a container with all controls I had put in Page1 inside it and saved that container as a Class:

Then I opened my custom class library and copied that class I had created to Page2 of the Pageframe in my old form. Only the container is copied, without any controls I had put inside it:

What am I missing?

Thank you,

RE: Form inside a Pageframe

That's not how to create a container with controls.

When you save selected items as a class, you really just get the selected items. So, if all you select is the cnotainer, you get an empty container.

Don't put a container on the form, just select the group of controls and then save the selected items as a class, and the class will be a container containing these controls or, I think that's simpler,
just create a class based on container and then put the controls in there. And don't start on the form at all. Classes are usually created on their own, you don't need to start class creation on a form, otherwise all classes you can create would be based on containers, you usually want to also be able to create classes on another basis, like form classes, timer classes, etc. Creating a class from selected items of a form is not the general way to create a class.

To create a class you just pick the menu item File->NEW->CLASS and then the baseclass and the VCX library to store it into, once that dialog is done you're already in the class designer and that works about the same way as the form designer works. And later you drag&drop the class on a form, for example.


RE: Form inside a Pageframe

Nice, Chriss! I created a custom Class will the controls and then put it in 3 pages, just to test.

Also, after that, I changed some properties of a control in the Class. And the change was reflected on 3 pages of the Pageframe!

Thank you,

RE: Form inside a Pageframe

One thing to notice: When you put your container class on a pageframe, which already has some other controls on it, the container area is on top, which means even blank/transparent parts of the container are like a walll in front of what's underneath. To change what's in the foreground and background the form designer offers the "Bring to Front" and "Send to Back" items in the Format menu. So simply select the container and use "Send to Back", so any overlap even with the blank areas of the container is not hindering interactions.

Another topic is how tab order now works, before I explain this with words, just start your form, select a page and tab through controls and see in which order the focus changes.


Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close