Project

General

Profile

8770-window.p

Vladimir Tsichevski, 06/29/2024 07:53 AM

Download (1.64 KB)

 
1
// Same example in 8770.p, but displayed in a stand-alone window.
2

    
3
DEFAULT-WINDOW:TITLE = '8770-window'.
4

    
5
DEFINE VARIABLE wnd AS HANDLE NO-UNDO.
6
CREATE WINDOW wnd
7
ASSIGN
8
  HIDDEN = TRUE
9
  NAME= "<toplevel>"
10
  WIDTH = 200
11
  HEIGHT = 20
12
  MESSAGE-AREA = FALSE
13
  .
14
  
15
DEFINE FRAME outerFrame
16
WITH SIZE 80 BY 15
17
AT COL 1 ROW 1.
18

    
19
DEFINE BUTTON focusable2.
20
DEFINE BUTTON focusable4.
21
DEFINE FRAME innerFrame
22
  focusable2 focusable4
23
  WITH SIZE 60 BY 2
24
  AT COLUMN 1 ROW 1.
25
FRAME innerFrame:FRAME = FRAME outerFrame:HANDLE.
26

    
27
DEFINE BUTTON focusable3.
28
DEFINE FRAME innerFrame2
29
  focusable3
30
  WITH SIZE 60 BY 2
31
  AT COLUMN 1 ROW 5.
32
FRAME innerFrame2:FRAME = FRAME outerFrame:HANDLE.
33

    
34
DEFINE BUTTON focusable5.
35
DEFINE FRAME innerFrame3
36
  focusable5
37
  WITH SIZE 60 BY 2
38
  AT COLUMN 1 ROW 9.
39
FRAME innerFrame3:FRAME = FRAME outerFrame:HANDLE.
40

    
41
{functions.i}
42

    
43
{printEntryLeave.i &widget="wnd"}
44
{printEntryLeave.i &widget="FRAME outerFrame"}
45
{printEntryLeave.i &widget="FRAME innerFrame"}
46
{printEntryLeave.i &widget="FRAME innerFrame2"}
47
{printEntryLeave.i &widget="FRAME innerFrame3"}
48

    
49
{printEntryLeave.i &widget="focusable2"}
50
{printEntryLeave.i &widget="focusable3"}
51
{printEntryLeave.i &widget="focusable4"}
52
{printEntryLeave.i &widget="focusable5"}
53

    
54
ON 'a' ANYWHERE DO:
55
  DEFINE VARIABLE hFocus AS HANDLE NO-UNDO.
56
  hFocus = FOCUS.
57
  DEFINE VARIABLE cFocusName AS CHARACTER NO-UNDO.
58
  IF FOCUS <> ? THEN
59
     cFocusName = FOCUS:NAME.
60
  MESSAGE "FOCUS:" cFocusName.
61
END.
62

    
63
ENABLE focusable2 focusable4 WITH FRAME innerFrame.
64
ENABLE focusable3 WITH FRAME innerFrame2.
65
ENABLE focusable5 WITH FRAME innerFrame3.
66

    
67
VIEW wnd.
68
VIEW FRAME outerFrame IN WINDOW wnd.
69

    
70
WAIT-FOR GO OF FRAME outerFrame.
71