ezwindows

22
EzWindows

Upload: jessica-owen

Post on 03-Jan-2016

16 views

Category:

Documents


0 download

DESCRIPTION

EzWindows. Chapter 3: EzWindows. Page 130 to 141. EzWindows Library Objects. Definitions are the same form as other objects Example SimpleWindow W; Most non-fundamental classes have been created so that an object is automatically initialized to a sensible value - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: EzWindows

EzWindows

Page 2: EzWindows

Chapter 3: EzWindows

• Page 130 to 141

Page 3: EzWindows

EzWindows Library Objects• Definitions are the same form as other objects• Example

SimpleWindow W;

– Most non-fundamental classes have been created so that an object is automatically initialized to a sensible value

• SimpleWindow objects have member functions to process messages to manipulate the objects– Most important member function is Open() which

causes the object to be displayed on the screen• Example

W.Open();

Page 4: EzWindows

Initialization• Class objects may have several attributes to initialize• Syntax for initializing an object with multiple attributes

Type Identifier(Exp1, Exp2, ..., Expn);

• SimpleWindow object has several optional attributes

SimpleWindow W("Window Fun", 8, 4);

– First attribute• Window banner

– Second attribute• Width of window in centimeters

– Third attribute• Height of window in centimeters

Page 5: EzWindows

#include <iostream>

using namespace std;

#include "ezwin.h"

int ApiMain() {

SimpleWindow W("A Window", 12, 12);

W.Open();

cout << "Enter a character to exit" << endl;

char a;

cin >> a;

return 0;

}

An EzWindows Program

Page 6: EzWindows

This should be a comment in all your EZWindows Programs

//To compile this program you must:

//1. If the .h files are not in same subdirectory as your program then

//goto Project, Settings..., C/C++ tab, choose Preprocessor from the Category

//pulldown menu, and under Additional Include Directories

//add C:\Program Files\C++ProgramDesign\ezwin\include

//2. goto Project, Add to Project, File. From the Look In: pulldown menu

//goto subdirectory C:\Program Files\C++ProgramDesign\ezwin\lib.

//From pull down menu for Files of Type:, choose All Files. File Ezwinvc50.lib

//should appear in the listing box. Choose that file (Ezwinvc50.lib) and

//select OK button.

//3. The environment should be ready for use.

Page 7: EzWindows

An EzWindows Project File

Page 8: EzWindows

An EzWindows Project File

Page 9: EzWindows

Sample Display Behavior

Page 10: EzWindows

RectangleShape Objects• EzWindows also provides RectangleShape for manipulating

rectangles

• RectangleShape objects can specify the following attributes

– SimpleWindow object that contains the rectangle (mandatory)

– Offset from left edge of the SimpleWindow

– Offset from top edge of the SimpleWindow• Offsets are measured in centimeters from rectangle center

– Width in centimeters

– Height in centimeters

– Color• color is an EzWindows type

Page 11: EzWindows

RectangleShape Objects

• ExamplesSimpleWindow W1("My Window", 20, 20);

SimpleWindow W2("My Other Window", 15, 10);

RectangleShape R(W1, 4, 2, Blue, 3, 2);

RectangleShape S(W2, 5, 2, Red, 1, 1);

RectangleShape T(W1, 3, 1, Black, 4, 5);

RectangleShape U(W1, 4, 9);

Page 12: EzWindows

Example – ez6.cpp #include <iostream>

using namespace std;

#include "rect.h"

int ApiMain() {

Position pos0(1, 1);

SimpleWindow W1("First Window", 10, 10, pos0);

Position pos1(12, 8);

SimpleWindow W2("Second Window", 15, 10, pos1);

W1.Open();

W2.Open();

RectangleShape R(W1, 4, 6, Blue, 3, 2);

RectangleShape S(W2, 5, 2, Red, 1, 1);

RectangleShape T(W1, 4, 2, Black, 4, 2);

RectangleShape U(W1, 4, 9);

R.Draw();

S.Draw();

T.Draw();

U.Draw();

cout << "Enter a character to exit" << endl;

char Response;

cin >> Response;

return 0;

}

Page 13: EzWindows

RectangleShape Objects• Some RectangleShape member functions for

processing messages

– Draw()• Causes rectangle to be displayed in its associated window

– GetWidth()• Returns width of object in centimeters

– GetHeight()• Returns height of object in centimeters

– SetSize()• Takes two attributes -- a width and height -- that are used to reset

dimensions of the rectangle

Page 14: EzWindows

Another EzWindows Program#include <iostream>using namespace std;#include "rect.h"int ApiMain() {SimpleWindow W("Rectangular Fun", 12, 12);W.Open();RectangleShape R(W, 5.0, 2.5, Blue, 1, 2);R.Draw();cout << "Enter a character to exit" << endl;char Response;cin >> Response;return 0;

}

Page 15: EzWindows

Sample Display Behavior

Page 16: EzWindows

Chapter 4: EzWindows

• Page 210 to 214

Page 17: EzWindows

Displaying a Diagonal

SimpleWindow W("One diagonal", 5.5, 2.25);

W.Open();

for (int j = 1; j <= 3; ++j) {

float x = j * 0.75 + 0.25;

float y = j * 0.75 - 0.25;

float Side = 0.4;

RectangleShape S(W, x, y, Blue, Side, Side);

S.Draw();

}

Page 18: EzWindows

Sample Display

Page 19: EzWindows

Displaying Three DiagonalsSimpleWindow W("Three diagonals", 6.5, 2.25);

W.Open();for (int i = 1; i <= 3; ++i) {

for (int j = 1; j <= 3; ++j) {float x = i - 1 + j * 0.75 + 0.25;float y = j * 0.75 - 0.25;float Side = 0.4;RectangleShape S(W, x, y, Blue, Side, Side);S.Draw();

}

}

The scope of i includes the inner loop.

The scope of j is just the inner loop.

Page 20: EzWindows

Sample Display

Page 21: EzWindows

Chapter 6: EzWindows

• Page 319 to 321

• Page 333 to 341

Page 22: EzWindows

Passing Constant Rectanglesvoid DrawBoxes(const RectangleShape &R1, const RectangleShape &R2) {R1.Draw();R2.Draw();

}

int ApiMain() {SimpleWindow Demo("Demo Program");Demo.Open();RectangleShape Rect1(Demo, 3, 2, Blue);RectangleShape Rect2(Demo, 6, 5, Yellow);DrawBoxes(Rect1, Rect2);return 0;

}