COP4226, Homework 5 - MDI

Due Monday, October 10

Create a Multiple Document Interface application. The app will open child windows that are either ellipses, rectangles or custom shapes. One dimension (height or width) of each will be determined by a ratio that is set by the user. The child windows can have different colors and can be moved by the mouse.

Avoid long methods. Each method that you create should be short, to promote encapsulation. If you have a method that is longer than 25 lines, then it probably needs to be divided into smaller methods.

Use properties to encapsulate implementation details.

Use meaningful names for all variables. Any variable that ends with a number will lose points.

Do not create a new data structure, event, property if one that already exists will solve the problem.

Control Library

Add a project for a control library to the solution. Only add one control library: it will contain three controls and two forms.

Interfaces

Use interfaces to encapsulate implementation details. Design code so that the implementation details of data could be changed in the future without having to rewrite all the code that accesses that data.

Oath Dialog

Create a dialog in the main application that will display the oath of participation.

About Dialog

Create a dialog in the main application that will display a description of the assignment.

Preferences Dialog

Create a modeless dialog in the main application that will be used to gather information from the user.

Login Dialog

Display a dialog before the application is run.

Elliptic Child

Add a form in the main application that extends the moveable base form.

Rectangular Child

Add a form in the main application that extends the moveable base form.

Custom Child

Add a form in the main application that extends the moveable base form.

Main Form

Modify the main form for the project.

Create a video

Create a 2-5 minute mp4 video. You may use the free version of Screencast-o-matic. The video must include:

Submitting the Assignment

Zip your entire project and upload on the web. Exclude the Debug and Release directories.
Submitting Homework Online.

Be sure to include your control library in your uploaded file.

Upload your video to me using the upload program on my class page:
Submitting Homework Online.