CREATE LISTVIEW Example


Example:

 

*

 

 

.Define the Objects Needed

.

 

 

LV

LISTVIEW

 

C

COLOR

 

ET

EDITTEXT

(2)

ST

STATTEXT

(2)

B

BUTTON

(3)

*

 

 

.Work Variables

.

 

 

ET1LEN

FORM

2

ET2LEN

FORM

2

RESULT

FORM

9

STRING

DIM

20

INDEX

FORM

9

*

 

 

.Create a White Color Object

.

 

 

  

CREATE

C=*WHITE

*

 

 

.Create and Activate the Field Labels

.

 

 

  

CREATE

ST(1)=2:3:4:10,"Name:":

  

  

"SYSTEM(10,BOLD)",ALIGNMENT=3

  

CREATE

ST(2)=4:5:5:10,"Phone:":

  

  

"SYSTEM(10,BOLD)",ALIGNMENT=3

  

ACTIVATE

ST

*

 

 

.Create and Activate the Edittext Boxes

.

 

 

  

CREATE

ET(1)=2:3:12:26,STYLE=3DON:

  

  

BGCOLOR=C,BORDER=1:

  

  

EVENTFILTER="NNNNNY",TABID=1

  

CREATE

ET(2)=4:5:12:20,STYLE=3DON:

  

  

BGCOLOR=C,BORDER=1:

  

  

EVENTFILTER="NNNNNY",TABID=2

  

ACTIVATE

ET,DATA,RESULT

*

 

 

.Create and Activate the ListView Object

.

 

 

  

CREATE

LV=2:6:45:74,APPEARANCE=1:

  

  

BORDER=1,BGCOLOR=C:

  

  

TABID=5,SORTORDER=1

.

 

 

  

LV.INSERTCOLUMN

USING "Names",140,0

  

LV.INSERTCOLUMN

USING "Phone",80,2

.

 

 

  

ACTIVATE

LV,SELECT,RESULT

*

 

 

.Create and Activate the Buttons

.

 

 

  

CREATE

B(1)=10:11:8:15,"Add":

  

  

ENABLED=0,TABID=3,DEFAULT

  

CREATE

B(2)=10:11:18:25,"Delete":

  

  

ENABLED=0,TABID=4

  

CREATE

B(3)=10:11:52:60,"Quit":

  

 

TABID=6,CANCEL

.

 

 

  

ACTIVATE

B(1),ADD,RESULT

  

ACTIVATE

B(2),DELETE,RESULT

  

ACTIVATE

B(3),QUIT,RESULT

.

 

 

  

SETFOCUS

ET(1)

*

 

 

.Wait for an Event to Occur

.

 

 

  

LOOP

 

  

  EVENTWAIT

 

  

REPEAT

 

*

 

 

.The ListView Was Clicked

.

 

 

SELECT

 

 

  

SETPROP

B(2),ENABLED=1

  

RETURN

 

*

 

 

.One of the Edittext Fields Changed

.

 

 

DATA

 

 

  

GETITEM

ET(1),0,ET1LEN

  

GETITEM

ET(2),0,ET2LEN

  

IF

(ET1LEN = 0 OR ET2LEN = 0)

  

SETPROP

B(1),ENABLED=0

  

ELSE

 

  

SETPROP

B(1),ENABLED=1

  

ENDIF

 

  

RETURN

 

*

 

 

.Add Button Clicked

 

.

 

 

ADD

 

 

  

GETITEM

ET(1),0,STRING

  

LV.INSERTITEM

GIVING INDEX USING STRING

  

GETITEM

ET(2),0,STRING

  

LV.SETITEMTEXT

USING INDEX,STRING,1

  

LV.ENSUREVISIBLE

USING INDEX,0

.

 

 

  

DELETEITEM

ET(1),0

  

DELETEITEM

ET(2),0

  

SETPROP

B(1),ENABLED=0

  

SETFOCUS

ET(1)

  

RETURN

 

*

 

 

.Delete Button Clicked

.

 

 

DELETE

 

 

  

LV.GETNEXTITEM

GIVING INDEX USING 2,0

  

LV.DELETEITEM

USING INDEX

  

SETPROP

B(2),ENABLED=0

  

SETFOCUS

ET(1)

  

RETURN

 

*

 

 

.Quit Button Clicked

.

 

 

QUIT

 

 

  

STOP

 

 

This example creates three Button, two EDITTEXT, two STATTEXT, and a LISTVIEW object on the screen. When data is entered into both EDITTEXT objects, the Add button is enabled. Clicking the Add button places the information into the LISTVIEW object in sorted order. Selecting an item in the LISTVIEW object, enables the Delete button. Clicking the Delete button removes the item from the LISTVIEW object.

 

 



PL/B Language Reference CREATE LINE Example CREATE MENU Example