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

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1990-1994 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: CrtSelHdlr.3,v 1.2 1998/09/14 18:22:47 stanton Exp $
  9. '" 
  10. .so man.macros
  11. .TH Tk_CreateSelHandler 3 4.0 Tk "Tk Library Procedures"
  12. .BS
  13. .SH NAME
  14. Tk_CreateSelHandler, Tk_DeleteSelHandler - arrange to handle requests for a selection
  15. .SH SYNOPSIS
  16. .nf
  17. fB#include <tk.h>fR
  18. .sp
  19. fBTk_CreateSelHandlerfR(fItkwin, selection, target, proc, clientData, formatfR)
  20. .sp
  21. fBTk_DeleteSelHandlerfR(fItkwin, selection, targetfR)
  22. .SH ARGUMENTS
  23. .AS Tk_SelectionProc clientData
  24. .AP Tk_Window tkwin in
  25. Window for which fIprocfR will provide selection information.
  26. .AP Atom selection in
  27. The name of the selection for which fIprocfR will provide
  28. selection information.
  29. .AP Atom target in
  30. Form in which fIprocfR can provide the selection (e.g. STRING
  31. or FILE_NAME).  Corresponds to fItypefR arguments in fBselectionfR
  32. commands.
  33. .AP Tk_SelectionProc *proc in
  34. Procedure to invoke whenever the selection is owned by fItkwinfR
  35. and the selection contents are requested in the format given by
  36. fItargetfR.
  37. .AP ClientData clientData in
  38. Arbitrary one-word value to pass to fIprocfR.
  39. .AP Atom format in
  40. If the selection requestor isn't in this process, fIformatfR determines
  41. the representation used to transmit the selection to its
  42. requestor.
  43. .BE
  44. .SH DESCRIPTION
  45. .PP
  46. fBTk_CreateSelHandlerfR arranges for a particular procedure
  47. (fIprocfR) to be called whenever fIselectionfR is owned by
  48. fItkwinfR and the selection contents are requested in the
  49. form given by fItargetfR. 
  50. fITargetfR should be one of
  51. the entries defined in the left column of Table 2 of the
  52. X Inter-Client Communication Conventions Manual (ICCCM) or
  53. any other form in which an application is willing to present
  54. the selection.  The most common form is STRING.
  55. .PP
  56. fIProcfR should have arguments and result that match the
  57. type fBTk_SelectionProcfR:
  58. .CS
  59. typedef int Tk_SelectionProc(
  60. ClientData fIclientDatafR,
  61. int fIoffsetfR,
  62. char *fIbufferfR,
  63. int fImaxBytesfR);
  64. .CE
  65. The fIclientDatafR parameter to fIprocfR is a copy of the
  66. fIclientDatafR argument given to fBTk_CreateSelHandlerfR.
  67. Typically, fIclientDatafR points to a data
  68. structure containing application-specific information that is
  69. needed to retrieve the selection.  fIOffsetfR specifies an
  70. offset position into the selection, fIbufferfR specifies a
  71. location at which to copy information about the selection, and
  72. fImaxBytesfR specifies the amount of space available at
  73. fIbufferfR.  fIProcfR should place a NULL-terminated string
  74. at fIbufferfR containing fImaxBytesfR or fewer characters
  75. (not including the terminating NULL), and it should return a
  76. count of the number of non-NULL characters stored at
  77. fIbufferfR.  If the selection no longer exists (e.g. it once
  78. existed but the user deleted the range of characters containing
  79. it), then fIprocfR should return -1.
  80. .PP
  81. When transferring large selections, Tk will break them up into
  82. smaller pieces (typically a few thousand bytes each) for more
  83. efficient transmission.  It will do this by calling fIprocfR
  84. one or more times, using successively higher values of fIoffsetfR
  85. to retrieve successive portions of the selection.  If fIprocfR
  86. returns a count less than fImaxBytesfR it means that the entire
  87. remainder of the selection has been returned.  If fIprocfR's return
  88. value is fImaxBytesfR it means there may be additional information
  89. in the selection, so Tk must make another call to fIprocfR to
  90. retrieve the next portion.
  91. .PP
  92. fIProcfR always returns selection information in the form of a
  93. character string.  However, the ICCCM allows for information to
  94. be transmitted from the selection owner to the selection requestor
  95. in any of several formats, such as a string, an array of atoms, an
  96. array of integers, etc.  The fIformatfR argument to
  97. fBTk_CreateSelHandlerfR indicates what format should be used to
  98. transmit the selection to its requestor (see the middle column of
  99. Table 2 of the ICCCM for examples).  If fIformatfR is not
  100. STRING, then Tk will take the value returned by fIprocfR and divided
  101. it into fields separated by white space.  If fIformatfR is ATOM,
  102. then Tk will return the selection as an array of atoms, with each
  103. field in fIprocfR's result treated as the name of one atom.  For
  104. any other value of fIformatfR, Tk will return the selection as an
  105. array of 32-bit values where each field of fIprocfR's result is
  106. treated as a number and translated to a 32-bit value.  In any event,
  107. the fIformatfR atom is returned to the selection requestor along
  108. with the contents of the selection.
  109. .PP
  110. If fBTk_CreateSelHandlerfR is called when there already exists a
  111. handler for fIselectionfR and fItargetfR on fItkwinfR, then the
  112. existing handler is replaced with a new one.
  113. .PP
  114. fBTk_DeleteSelHandlerfR removes the handler given by fItkwinfR,
  115. fIselectionfR, and fItargetfR, if such a handler exists.
  116. If there is no such handler then it has no effect.
  117. .SH KEYWORDS
  118. format, handler, selection, target