VB 4.0 - Creating Objects on the Fly

I have a situation where I want to create a releated object for each database record I read in. Basically I want to create probably a picture box or image for each record read in. Each record may have an associated BMP.

In reading the records from the table I want to create an object for each an load this onto the form. The will have to be moveable as I want to be able to drag & Drop these into a certain position.

I will give you an example.  I have a sports Database where there are teams entered.  For each round in the competition I want the user to be able to associate the teams playing each other. I want to create an object for each team on the right part of the form then associated Home & Away playing team in the left part of the form.

Thanks in Advance
trevormAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
hfananConnect With a Mentor Commented:
I faced this problem before with Edit Box but the solution is the same for picture boxes.
Define a control array of picture boxes. Let its name be "P"
To create a new control dynamically use the Load command.
For example Load P(i) where i is the index of the array.
To remove the control from memry, use the UnLoad command
0
 
dansariCommented:
trevorm:

Why don't you store the X and Y coordinates (Left and Top properties) of each picture box control in the database?  In the Form_Unload event (or using a Save button, or something), you can save the values.

If the number of players and teams is fixed, then you can create the picture box controls at design time; otherwise, you can use control arrays.

Hope this helps.
0
 
cymbolicCommented:
Here's another trick.  Make your data structures do the work.  Put the file name of the bmp, or the icon name if using an image list, in your records.  That way when you read the record, it defines its own image.  Then if you want to change images, just refile another .bmp under the same file name on your drive.


0
All Courses

From novice to tech pro — start learning today.