Project

General

Profile

slx.p

Igor Skornyakov, 07/16/2015 09:54 AM

Download (1.32 KB)

 
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
def frame fl sl with size 20 by 15 /* title "frame" */.
16
def frame fd with size 20 by 15 /* title "frame" */.
17
def var hx as handle.
18
def var hf as handle.
19

    
20
IF mode = "D" THEN DO:
21
  hf = frame fd:handle.
22
  RUN P_Create_SL.
23
END.
24
ELSE DO:
25
  hf = frame fl:HANDLE.  
26
  hx = sl:HANDLE IN frame fl.
27
END.
28
def var l as int.
29

    
30
hf:BOX = false.
31

    
32
message "Ready".
33

    
34
on F anywhere do:
35
      hx:frame = hf. 
36
      message "frame assigned".
37
end.
38

    
39
on E anywhere do:
40
      IF mode = "D" THEN
41
        enable all with frame fd.
42
      ELSE
43
        enable all with frame fl.
44

    
45
      message "frame enabled".
46
end.
47

    
48
on X anywhere do:
49
      message "FRAME-<POS>" hx:FRAME-X  hx:FRAME-Y hx:FRAME-COL hx:FRAME-ROW hx:X hx:Y hf:BOX.
50
end.
51

    
52
WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW.
53

    
54
PROCEDURE P_Create_SL PRIVATE :
55
 
56
    CREATE SELECTION-LIST hx ASSIGN 
57
        INNER-LINES = 5
58
        INNER-CHARS = 10 
59
        LIST-ITEMS  = "l0,l1,l2,l3,l4".
60
 /* 
61
        frame = hf
62
  */
63
       .
64
       message "SELECTION-LIST created".
65

    
66
END PROCEDURE.
67