About Us Documentation

Contact Site Map




Tk_CreateWindow(3)    Tk Library Procedures                   4.2



Tk_CreateWindow, Tk_CreateWindowFromPath, Tk_DestroyWindow, Tk_MakeWindowExist - create or delete window


#include <tk.h> Tk_Window Tk_CreateWindow(interp, parent, name, topLevScreen) Tk_Window Tk_CreateWindowFromPath(interp, tkwin, pathName, topLevScreen) Tk_DestroyWindow(tkwin) Tk_MakeWindowExist(tkwin)


Tcl_Interp *interp (out) Tcl interpreter to use for error report- ing. If no error occurs, then *interp isn't modified. Tk_Window parent (in) Token for the window that is to serve as the logical parent of the new window. char *name (in) Name to use for this window. Must be unique among all children of the same parent. char *topLevScreen (in) Has same format as screenName. If NULL, then new window is created as an inter- nal window. If non- NULL, new window is created as a top- level window on screen topLevScreen. If topLevScreen is an empty string (``'') then new window is created as top-level window of parent's screen. Tk 1 Tk_CreateWindow(3) Tk Library Procedures 4.2 Tk_Window tkwin (in) Token for window. char *pathName (in) Name of new window, specified as path name within applica- tion (e.g. .a.b.c). _________________________________________________________________


The procedures Tk_CreateWindow and Tk_CreateWindowFromPath | are used to create new windows for use in Tk-based applica- | tions. Each of the procedures returns a token that can be | used to manipulate the window in other calls to the Tk | library. If the window couldn't be created successfully, | then NULL is returned and interp->result is modified to hold | an error message. | Tk supports two different kinds of windows: internal win- | dows and top-level windows. An internal window is an inte- rior window of a Tk application, such as a scrollbar or menu bar or button. A top-level window is one that is created as a child of a screen's root window, rather than as an inte- rior window, but which is logically part of some existing main window. Examples of top-level windows are pop-up menus and dialog boxes. New windows may be created by calling Tk_CreateWindow. If the topLevScreen argument is NULL, then the new window will be an internal window. If topLevScreen is non-NULL, then the new window will be a top-level window: topLevScreen indicates the name of a screen and the new window will be created as a child of the root window of topLevScreen. In either case Tk will consider the new window to be the logi- cal child of parent: the new window's path name will reflect this fact, options may be specified for the new window under this assumption, and so on. The only difference is that new X window for a top-level window will not be a child of parent's X window. For example, a pull-down menu's parent would be the button-like window used to invoke it, which would in turn be a child of the menu bar window. A dialog box might have the application's main window as its parent. Tk_CreateWindowFromPath offers an alternate way of specify- ing new windows. In Tk_CreateWindowFromPath the new window is specified with a token for any window in the target application (tkwin), plus a path name for the new window. It produces the same effect as Tk_CreateWindow and allows both top-level and internal windows to be created, depending on the value of topLevScreen. In calls to Tk_CreateWindowFromPath, as in calls to Tk_CreateWindow, the parent of the new window must exist at the time of the call, Tk 2 Tk_CreateWindow(3) Tk Library Procedures 4.2 but the new window must not already exist. The window creation procedures don't actually issue the com- mand to X to create a window. Instead, they create a local data structure associated with the window and defer the creation of the X window. The window will actually be created by the first call to Tk_MapWindow. Deferred window creation allows various aspects of the window (such as its size, background color, etc.) to be modified after its crea- tion without incurring any overhead in the X server. When the window is finally mapped all of the window attributes can be set while creating the window. The value returned by a window-creation procedure is not the X token for the window (it can't be, since X hasn't been asked to create the window yet). Instead, it is a token for Tk's local data structure for the window. Most of the Tk library procedures take Tk_Window tokens, rather than X identifiers. The actual X window identifier can be retrieved from the local data structure using the Tk_WindowId macro; see the manual entry for Tk_WindowId for details. Tk_DestroyWindow deletes a window and all the data struc- tures associated with it, including any event handlers created with Tk_CreateEventHandler. In addition, Tk_DestroyWindow will delete any children of tkwin recur- sively (where children are defined in the Tk sense, consist- ing of all windows that were created with the given window as parent). If tkwin was created by Tk_CreateInternalWindow then event handlers interested in destroy events are invoked immediately. If tkwin is a top-level or main window, then the event handlers will be invoked later, after X has seen the request and returned an event for it. If a window has been created but hasn't been mapped, so no X window exists, it is possible to force the creation of the X window by calling Tk_MakeWindowExist. This procedure issues the X commands to instantiate the window given by tkwin.


create, deferred creation, destroy, display, internal win- dow, screen, top-level window, window Tk 3 Prepared by Ready-to-Run Software, Inc.


Email addresses listed on this site may  NOT be used for unsolicited commercial email.

Ready-to-Run Software, Inc Privacy Statement

Portions (c)Copyright, 1996-2005 by Ready-to-Run Software, Inc
(All rights reserved.)
212 Cedar Cove
Lansing, NY 14882
Phone: 607 533 UNIX (8649)
Fax: 607 533 4002

To return to the Ready-to-Run Software WinPak Table of contents please presshere