frame%
Implements: top-level-window<%>
A frame is a top-level container window. It has a title bar (which displays the frame's label), an optional menu bar, and an optional status line.
Under Windows, both Multiple Document Interface (MDI) and Single Document Interface (SDI) frames are supported.
( -> new frame% (label _) [(parent _)] [(width _)] [(height _)] [(x _)] [(y _)] [(style _)] [(enabled _)] [(border _)] [(spacing _)] [(alignment _)] [(min-width _)] [(min-height _)] [(stretchable-width _)] [(stretchable-height _)])frame% object
label : string (up to 200 characters)
parent = : #fframe% object or #f
width = : exact integer in [0, 10000] or #f#f
height = : exact integer in [0, 10000] or #f#f
x = : exact integer in [0, 10000] or #f#f
y = : exact integer in [0, 10000] or #f#f
style = : list of symbols in null'(no-resize-border no-caption no-system-menu mdi-parent mdi-child toolbar-button)
enabled = : boolean
#t
border = : exact integer in [0, 1000]
0
spacing = : exact integer in [0, 1000]
0
alignment = : two-element list: '(center top)'left, 'center, or 'right and 'top, 'center, or 'bottom
min-width = : exact integer in [0, 10000]
0
min-height = : exact integer in [0, 10000]
0
stretchable-width = : boolean
#t
stretchable-height = : boolean#t
The label string is displayed in the frame's title bar. If the
frame's label is changed (see
set-label ), the title bar is updated.
The parent argument can be #f or an existing frame. Under
Windows, if parent is an existing frame, the new frame is
always on top of its parent. Also, the parent frame may be an
MDI parent frame from a new MDI child frame. Under Windows and X (for
many window managers), a frame is iconized when its parent is iconized.
If parent is #f, then the eventspace for the new frame is
the current eventspace, as determined by
current-eventspace . Otherwise, parent's eventspace is the new frame's eventspace.
If the width or height argument is not #f, it
specifies an initial size for the frame (in pixels) assuming that it
is larger than the minimum size, otherwise the minimum size is used.
If the x or y argument is not #f, it specifies an
initial location for the frame. Otherwise, a location is selected
automatically (tiling frames and dialogs as they are created).
The style flags adjust the appearance of the frame on some
platforms:
'no-resize-border -- omits the resizeable border
around the window (Windows, X MWM) or grow box in the bottom right
corner (Mac OS)
'no-caption -- omits the title bar for the frame
(Windows, X MWM)
(X Gnome, X KDE: the frame decoration is omitted completely when
'no-resize-border and 'no-caption are combined.)
'no-system-menu -- omits the system menu
(Windows)
'mdi-child -- creates the frame as a MDI
(multiple document interface) child frame, mutually exclusive with
'mdi-parent (Windows)
'mdi-parent -- creates the frame as a MDI
(multiple document interface) parent frame, mutually exclusive with
'mdi-child (Windows)
'toolbar-button -- includes a toolbar button on the
frame's title bar (Mac OS X); a click on the toolbar button triggers
a call to
on-toolbar-button-click
If the 'mdi-child style is specified, the parent must be
a frame with the 'mdi-parent style, otherwise an exn:application:mismatch exception is raised.
Even if the frame is not shown, a few notification events may be queued for the frame on creation. Consequently, the new frame's resources (e.g., memory) cannot be reclaimed until some events are handled, or the frame's eventspace is shut down.
For information about the
enabled
argument, see window<%>. For information about the
border, spacing, and alignment
arguments, see area-container<%>. For information about the
min-width, min-height, stretchable-width, and stretchable-height
arguments, see area<%>.
Methods
create-status-line
get-menu-bar
has-status-line?
iconize
is-iconized?
maximize
modified
on-menu-char
on-subwindow-char
on-toolbar-button-click
set-icon
set-status-text
All Methods
accept-drop-files from window<%>
add-child from area-container<%>
after-new-child from area-container<%>
begin-container-sequence from area-container<%>
border from area-container<%>
can-close? from top-level-window<%>
can-exit? from top-level-window<%>
center from top-level-window<%>
change-children from area-container<%>
client->screen from window<%>
container-flow-modified from area-container<%>
container-size from area-container<%>
create-status-line from frame%
delete-child from area-container<%>
enable from window<%>
end-container-sequence from area-container<%>
focus from window<%>
get-alignment from area-container<%>
get-children from area-container<%>
get-client-size from window<%>
get-control-font from area-container-window<%>
get-cursor from window<%>
get-edit-target-object from top-level-window<%>
get-edit-target-window from top-level-window<%>
get-eventspace from top-level-window<%>
get-focus-object from top-level-window<%>
get-focus-window from top-level-window<%>
get-graphical-min-size from area<%>
get-height from window<%>
get-label from window<%>
get-label-font from area-container-window<%>
get-label-position from area-container-window<%>
get-menu-bar from frame%
get-parent from area<%>
get-plain-label from window<%>
get-size from window<%>
get-top-level-window from area<%>
get-width from window<%>
get-x from window<%>
get-y from window<%>
has-focus? from window<%>
has-status-line? from frame%
iconize from frame%
is-enabled? from window<%>
is-iconized? from frame%
is-shown? from window<%>
maximize from frame%
min-height from area<%>
min-width from area<%>
modified from frame%
move from top-level-window<%>
on-activate from top-level-window<%>
on-close from top-level-window<%>
on-drop-file from window<%>
on-exit from top-level-window<%>
on-focus from window<%>
on-menu-char from frame%
on-message from top-level-window<%>
on-move from window<%>
on-size from window<%>
on-subwindow-char from frame%
overrides on-subwindow-char from window<%>
on-subwindow-event from window<%>
on-superwindow-enable from window<%>
on-superwindow-show from window<%>
on-system-menu-char from top-level-window<%>
on-toolbar-button-click from frame%
on-traverse-char from top-level-window<%>
place-children from area-container<%>
popup-menu from window<%>
reflow-container from area-container<%>
refresh from window<%>
resize from top-level-window<%>
screen->client from window<%>
set-alignment from area-container<%>
set-control-font from area-container-window<%>
set-cursor from window<%>
set-icon from frame%
set-label from window<%>
set-label-font from area-container-window<%>
set-label-position from area-container-window<%>
set-status-text from frame%
show from top-level-window<%>
overrides show from window<%>
spacing from area-container<%>
stretchable-height from area<%>
stretchable-width from area<%>