CrtWindow.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:6k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1990 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: CrtWindow.3,v 1.6 2002/08/05 04:30:38 dgp Exp $
  9. '" 
  10. .so man.macros
  11. .TH Tk_CreateWindow 3 4.2 Tk "Tk Library Procedures"
  12. .BS
  13. .SH NAME
  14. Tk_CreateWindow, Tk_CreateWindowFromPath, Tk_DestroyWindow, Tk_MakeWindowExist - create or delete window
  15. .SH SYNOPSIS
  16. .nf
  17. fB#include <tk.h>fR
  18. .sp
  19. Tk_Window
  20. fBTk_CreateWindowfR(fIinterp, parent, name, topLevScreenfR)
  21. .sp
  22. Tk_Window
  23. fBTk_CreateAnonymousWindowfR(fIinterp, parent, topLevScreenfR)
  24. .sp
  25. Tk_Window
  26. fBTk_CreateWindowFromPathfR(fIinterp, tkwin, pathName, topLevScreenfR)
  27. .sp
  28. fBTk_DestroyWindowfR(fItkwinfR)
  29. .sp
  30. fBTk_MakeWindowExistfR(fItkwinfR)
  31. .SH ARGUMENTS
  32. .AS Tcl_Interp *topLevScreen
  33. .AP Tcl_Interp *interp out
  34. Tcl interpreter to use for error reporting.  If no error occurs,
  35. then fI*interpfR isn't modified.
  36. .AP Tk_Window parent in
  37. Token for the window that is to serve as the logical parent of
  38. the new window.
  39. .AP "CONST char" *name in
  40. Name to use for this window.  Must be unique among all children of
  41. the same fIparentfR.
  42. .AP "CONST char" *topLevScreen in
  43. Has same format as fIscreenNamefR.  If NULL, then new window is
  44. created as an internal window.  If non-NULL, new window is created as
  45. a top-level window on screen fItopLevScreenfR.  If fItopLevScreenfR
  46. is an empty string (``'') then new
  47. window is created as top-level window of fIparentfR's screen.
  48. .AP Tk_Window tkwin in
  49. Token for window.
  50. .AP "CONST char" *pathName in
  51. Name of new window, specified as path name within application
  52. (e.g. fB.a.b.cfR).
  53. .BE
  54. .SH DESCRIPTION
  55. .PP
  56. The procedures fBTk_CreateWindowfR, 
  57. .VS
  58. fBTk_CreateAnonymousWindowfR, and fBTk_CreateWindowFromPathfR
  59. are used to create new windows for
  60. use in Tk-based applications.  Each of the procedures returns a token
  61. that can be used to manipulate the window in other calls to the Tk
  62. library.  If the window couldn't be created successfully, then NULL
  63. is returned and fIinterp->resultfR is modified to hold an error
  64. message.
  65. .PP
  66. Tk supports two different kinds of windows:  internal
  67. windows and top-level windows.
  68. .VE
  69. An internal window is an interior window of a Tk application, such as a
  70. scrollbar or menu bar or button.  A top-level window is one that is
  71. created as a child of a screen's root window, rather than as an
  72. interior window, but which is logically part of some existing main
  73. window.  Examples of top-level windows are pop-up menus and dialog boxes.
  74. .PP
  75. New windows may be created by calling
  76. fBTk_CreateWindowfR.  If the fItopLevScreenfR argument is
  77. NULL, then the new window will be an internal window.  If
  78. fItopLevScreenfR is non-NULL, then the new window will be a
  79. top-level window: fItopLevScreenfR indicates the name of
  80. a screen and the new window will be created as a child of the
  81. root window of fItopLevScreenfR.  In either case Tk will
  82. consider the new window to be the logical child of fIparentfR:
  83. the new window's path name will reflect this fact, options may
  84. be specified for the new window under this assumption, and so on.
  85. The only difference is that new X window for a top-level window
  86. will not be a child of fIparentfR's X window.  For example, a pull-down
  87. menu's fIparentfR would be the button-like window used to invoke it,
  88. which would in turn be a child of the menu bar window.  A dialog box might
  89. have the application's main window as its parent.
  90. .PP
  91. fBTk_CreateAnonymousWindowfR differs from fBTk_CreateWindowfR in
  92. that it creates an unnamed window.  This window will be manipulable
  93. only using C interfaces, and will not be visible to Tcl scripts.  Both
  94. interior windows and top-level windows may be created with
  95. fBTk_CreateAnonymousWindowfR.
  96. .PP
  97. fBTk_CreateWindowFromPathfR offers an alternate way of specifying
  98. new windows.  In fBTk_CreateWindowFromPathfR the new
  99. window is specified with a token for any window in the target
  100. application (fItkwinfR), plus a path name for the new window.
  101. It produces the same effect as fBTk_CreateWindowfR and allows
  102. both top-level and internal windows to be created, depending on
  103. the value of fItopLevScreenfR.  In calls to fBTk_CreateWindowFromPathfR,
  104. as in calls to fBTk_CreateWindowfR, the parent of the new window
  105. must exist at the time of the call, but the new window must not
  106. already exist.
  107. .PP
  108. The window creation procedures don't
  109. actually issue the command to X to create a window.
  110. Instead, they create a local data structure associated with
  111. the window and defer the creation of the X window.
  112. The window will actually be created by the first call to
  113. fBTk_MapWindowfR.  Deferred window creation allows various
  114. aspects of the window (such as its size, background color,
  115. etc.) to be modified after its creation without incurring
  116. any overhead in the X server.  When the window is finally
  117. mapped all of the window attributes can be set while creating
  118. the window.
  119. .PP
  120. The value returned by a window-creation procedure is not the
  121. X token for the window (it can't be, since X hasn't been
  122. asked to create the window yet).  Instead, it is a token
  123. for Tk's local data structure for the window.  Most
  124. of the Tk library procedures take Tk_Window tokens, rather
  125. than X identifiers.  The actual
  126. X window identifier can be retrieved from the local
  127. data structure using the fBTk_WindowIdfR macro;  see
  128. the manual entry for fBTk_WindowIdfR for details.
  129. .PP
  130. fBTk_DestroyWindowfR deletes a window and all the data
  131. structures associated with it, including any event handlers
  132. created with fBTk_CreateEventHandlerfR.  In addition,
  133. fBTk_DestroyWindowfR will delete any children of fItkwinfR
  134. recursively (where children are defined in the Tk sense, consisting
  135. of all windows that were created with the given window as fIparentfR).
  136. If fItkwinfR is an internal window, then event
  137. handlers interested in destroy events
  138. are invoked immediately.  If fItkwinfR is a top-level or main window,
  139. then the event handlers will be invoked later, after X has seen
  140. the request and returned an event for it.
  141. .PP
  142. If a window has been created
  143. but hasn't been mapped, so no X window exists, it is
  144. possible to force the creation of the X window by
  145. calling fBTk_MakeWindowExistfR.  This procedure issues
  146. the X commands to instantiate the window given by fItkwinfR.
  147. .SH KEYWORDS
  148. create, deferred creation, destroy, display, internal window,
  149. screen, top-level window, window