Solved

Objects to fit the form when resize

Posted on 1998-09-14
10
229 Views
Last Modified: 2012-05-04
I want the objects to fit the form when I resize it. How do I do that? I'm working in VB 4
0
Comment
Question by:ChristianJ
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 2
  • 2
10 Comments
 

Author Comment

by:ChristianJ
ID: 1434758
This will mean a lot to me. I have tried to solve this on my own for month, but I didn't make it.
0
 
LVL 6

Expert Comment

by:clifABB
ID: 1434759
Checkout elastic light from Videosoft:
www.videosoft.com
0
 

Author Comment

by:ChristianJ
ID: 1434760
Edited text of question
0
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 

Author Comment

by:ChristianJ
ID: 1434761
Adjusted points to 75
0
 

Author Comment

by:ChristianJ
ID: 1434762
I just want to know how to write to get the objects on a form to fit the form when i resize it. (VB 4)

0
 
LVL 6

Expert Comment

by:clifABB
ID: 1434763
Consider the hard way (the easy way is getting a control to do it for you):

In the form's load event, you need to keep track of every controls size and position in comparison to the form.  A percentheight, percentwidth, percentleft, and percenttop, if you will.  Then in the form's resize event, you will have to go through each control and re-adjust the size and location based on the new form's size multiplied by those percent* values for that control.
While this may sound easy for a few controls on a form, several controls can be unwieldy and dozens of controls virtually impossible.
0
 
LVL 1

Expert Comment

by:CarlosJac
ID: 1434764
For few controls in a form: (vp is a control)

Private Sub Form_Resize()
    Dim myScale!
    myScale! = ScaleHeight - 2 * vp.Top
    If myScale! > 0 Then vp.Height = myScale!
    myScale! = ScaleWidth - vp.Left - vp.Top
    If myScale! > 0 Then vp.Width = myScale!
    DoEvents
End Sub

0
 

Author Comment

by:ChristianJ
ID: 1434765
I'm sorry the code you wrote didn't work.

Private Sub Form_Resize()
        Dim myScale!
        myScale! = ScaleHeight - 2 * vp.Top
        If myScale! > 0 Then vp.Height = myScale!
        myScale! = ScaleWidth - vp.Left - vp.Top
        If myScale! > 0 Then vp.Width = myScale!
        DoEvents
    End Sub


It appears a run-time-error '424' (myScale!) when I rum my program. Do I need to write anything else in the other procs?

0
 

Author Comment

by:ChristianJ
ID: 1434766
In my project I have commadbuttons, dirlistbox, filelistbox, labels, imageScaler dirlistbox. Should i write anything in those objects to?
0
 
LVL 1

Accepted Solution

by:
CarlosJac earned 70 total points
ID: 1434767
Try this:

Private Sub Form_Resize()
        Dim myScale As Single
        vp.Top = 0
        vp.Left = 0
        myScale = ScaleHeight - vp.Top
        If myScale > 0 Then vp.Height = myScale
        myScale = ScaleWidth - vp.Left - vp.Top
        If myScale > 0 Then vp.Width = myScale
        DoEvents
End Sub
 
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question