dwww Home | Manual pages | Find package

Tk_CreateWindow(3tk)         Tk Library Procedures        Tk_CreateWindow(3tk)

______________________________________________________________________________

NAME
       Tk_CreateWindow, Tk_CreateWindowFromPath, Tk_DestroyWindow, Tk_MakeWin-
       dowExist - create or delete window

SYNOPSIS
       #include <tk.h>

       Tk_Window
       Tk_CreateWindow(interp, parent, name, topLevScreen)

       Tk_Window
       Tk_CreateAnonymousWindow(interp, parent, topLevScreen)

       Tk_Window
       Tk_CreateWindowFromPath(interp, tkwin, pathName, topLevScreen)

       Tk_DestroyWindow(tkwin)

       Tk_MakeWindowExist(tkwin)

ARGUMENTS
       Tcl_Interp *interp (out)               Tcl interpreter to use for error
                                              reporting.   If no error occurs,
                                              then *interp is not modified.

       Tk_Window parent (in)                  Token for the window that is  to
                                              serve  as  the logical parent of
                                              the new window.

       const char *name (in)                  Name to  use  for  this  window.
                                              Must  be  unique among all chil-
                                              dren of the same parent.

       const char *topLevScreen (in)          Has same format  as  screenName.
                                              If NULL, then new window is cre-
                                              ated as an internal 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_Window tkwin (in)                   Token for window.

       const char *pathName (in)              Name of new window, specified as
                                              path   name  within  application
                                              (e.g. .a.b.c).
______________________________________________________________________________

DESCRIPTION
       The procedures Tk_CreateWindow, Tk_CreateAnonymousWindow,  and  Tk_Cre-
       ateWindowFromPath  are  used  to create new windows for use in Tk-based
       applications.  Each of the procedures returns a token that can be  used
       to manipulate the window in other calls to the Tk library.  If the win-
       dow could not be created successfully, then NULL is  returned  and  the
       result of interpreter interp is modified to hold an error message.

       Tk  supports two different kinds of windows:  internal windows and top-
       level windows.  An internal window is an interior window of a Tk appli-
       cation,  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 interior window, but which is logically part of some exist-
       ing 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
       logical  child  of parent: the new window's path name will reflect this
       fact, options may be specified for the new window  under  this  assump-
       tion,  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_CreateAnonymousWindow  differs  from Tk_CreateWindow in that it cre-
       ates an unnamed window.  This window will be manipulatable only using C
       interfaces, and will not be visible to Tcl scripts.  Both interior win-
       dows and top-level windows may be created  with  Tk_CreateAnonymousWin-
       dow.

       Tk_CreateWindowFromPath  offers an alternate way of specifying new win-
       dows.  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_CreateWin-
       dow  and  allows both top-level and internal windows to be created, de-
       pending on the  value  of  topLevScreen.   In  calls  to  Tk_CreateWin-
       dowFromPath, as in calls to Tk_CreateWindow, the parent of the new win-
       dow must exist at the time of the call, but the new window must not al-
       ready exist.

       The  window  creation procedures do not actually issue the command to X
       to create a window.  Instead, they create a local data structure  asso-
       ciated  with  the  window  and defer the creation of the X window.  The
       window will actually be created by the first call to Tk_MapWindow.  De-
       ferred  window  creation  allows various aspects of the window (such as
       its size, background color, etc.) to be  modified  after  its  creation
       without incurring any overhead in the X server.  When the window is fi-
       nally 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 cannot be, since X has not 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 re-
       trieved 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 structures associ-
       ated with it, including any event handlers created with  Tk_CreateEven-
       tHandler.   In  addition,  Tk_DestroyWindow will delete any children of
       tkwin recursively (where children are defined in the Tk sense, consist-
       ing  of all windows that were created with the given window as parent).
       If tkwin is an internal window, then event handlers interested  in  de-
       stroy  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 has not 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 instanti-
       ate the window given by tkwin.

KEYWORDS
       create, deferred creation, destroy, display, internal  window,  screen,
       top-level window, window

Tk                                    4.2                 Tk_CreateWindow(3tk)

Generated by dwww version 1.14 on Fri Jan 24 06:30:56 CET 2025.