1
|
DEFINE VARIABLE mode AS CHARACTER NO-UNDO FORMAT "X(1)".
|
2
|
INPUT FROM TERMINAL.
|
3
|
SET mode LABEL "Please enter mode [D/S] [S]" WITH SIDE-LABELS NO-BOX FRAME q.
|
4
|
INPUT CLOSE.
|
5
|
|
6
|
IF mode = "" THEN mode = "S".
|
7
|
|
8
|
DEFINE VARIABLE sl AS CHARACTER NO-UNDO
|
9
|
VIEW-AS SELECTION-LIST
|
10
|
INNER-LINES 5
|
11
|
INNER-CHARS 10
|
12
|
LIST-ITEMS "l0", "l1", "l2", "l3", "l4".
|
13
|
.
|
14
|
|
15
|
DEFINE VARIABLE fi AS INTEGER FORMAT "$>,>>>ABC" NO-UNDO VIEW-AS FILL-IN.
|
16
|
|
17
|
def frame fl fi SKIP(1) sl /* at column 2 row 4 */ with size 20 by 15 /* title "frame" */.
|
18
|
def frame fd fi SKIP(1) with size 20 by 15 /* title "frame" */.
|
19
|
def var hx as handle.
|
20
|
def var hf as handle.
|
21
|
|
22
|
IF mode = "D" THEN DO:
|
23
|
hf = frame fd:handle.
|
24
|
RUN P_Create_SL.
|
25
|
END.
|
26
|
ELSE DO:
|
27
|
hf = frame fl:HANDLE.
|
28
|
hx = sl:HANDLE IN frame fl.
|
29
|
END.
|
30
|
def var l as int.
|
31
|
|
32
|
hf:BOX = false.
|
33
|
message "Ready".
|
34
|
|
35
|
on F anywhere do:
|
36
|
hx:frame = hf.
|
37
|
message "frame assigned".
|
38
|
end.
|
39
|
|
40
|
on E anywhere do:
|
41
|
IF mode = "D" THEN
|
42
|
enable all with frame fd.
|
43
|
ELSE
|
44
|
enable all with frame fl.
|
45
|
|
46
|
message "frame enabled".
|
47
|
end.
|
48
|
|
49
|
on X anywhere do:
|
50
|
message "FRAME-<POS>" hx:FRAME-X hx:FRAME-Y hx:FRAME-COL hx:FRAME-ROW hx:X hx:Y hx:COLUMN hx:ROW hf:BOX.
|
51
|
end.
|
52
|
|
53
|
on Y anywhere do:
|
54
|
message "FRAME-<POS>" hx:FRAME-X hx:FRAME-Y hx:FRAME-COL hx:FRAME-ROW hx:X hx:Y hx:COLUMN hx:ROW hf:BOX.
|
55
|
RUN P_Set_XY(1,1).
|
56
|
RUN P_Set_XY(1,2).
|
57
|
RUN P_Set_XY(1,3).
|
58
|
RUN P_Set_XY(2,1).
|
59
|
RUN P_Set_XY(3,1).
|
60
|
RUN P_Set_XY(4,1).
|
61
|
end.
|
62
|
|
63
|
WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW.
|
64
|
|
65
|
PROCEDURE P_Create_SL PRIVATE :
|
66
|
|
67
|
CREATE SELECTION-LIST hx ASSIGN
|
68
|
INNER-LINES = 5
|
69
|
INNER-CHARS = 10
|
70
|
LIST-ITEMS = "l0,l1,l2,l3,l4".
|
71
|
/*
|
72
|
frame = hf
|
73
|
*/
|
74
|
.
|
75
|
message "SELECTION-LIST created".
|
76
|
|
77
|
END PROCEDURE.
|
78
|
|
79
|
PROCEDURE P_Set_XY PRIVATE :
|
80
|
DEFINE INPUT PARAMETER c AS INTEGER NO-UNDO.
|
81
|
DEFINE INPUT PARAMETER r AS INTEGER NO-UNDO.
|
82
|
hx:COLUMN = c.
|
83
|
hx:ROW = r.
|
84
|
message "FRAME-<POS>" hx:FRAME-X hx:FRAME-Y hx:FRAME-COL hx:FRAME-ROW hx:X hx:Y hx:COLUMN hx:ROW hf:BOX.
|
85
|
END PROCEDURE.
|