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

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1992-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: CrtGenHdlr.3,v 1.2 1998/09/14 18:22:46 stanton Exp $
  9. '" 
  10. .so man.macros
  11. .TH Tk_CreateGenericHandler 3 "" Tk "Tk Library Procedures"
  12. .BS
  13. .SH NAME
  14. Tk_CreateGenericHandler, Tk_DeleteGenericHandler - associate procedure callback with all X events
  15. .SH SYNOPSIS
  16. .nf
  17. fB#include <tk.h>fR
  18. .sp
  19. fBTk_CreateGenericHandlerfR(fIproc, clientDatafR)
  20. .sp
  21. fBTk_DeleteGenericHandlerfR(fIproc, clientDatafR)
  22. .SH ARGUMENTS
  23. .AS "Tk_GenericProc" clientData
  24. .AP Tk_GenericProc *proc in
  25. Procedure to invoke whenever any X event occurs on any display.
  26. .AP ClientData clientData in
  27. Arbitrary one-word value to pass to fIprocfR.
  28. .BE
  29. .SH DESCRIPTION
  30. .PP
  31. fBTk_CreateGenericHandlerfR arranges for fIprocfR to be
  32. invoked in the future whenever any X event occurs.  This mechanism is
  33. fInotfR intended for dispatching X events on windows managed by Tk
  34. (you should use fBTk_CreateEventHandlerfR for this purpose).
  35. fBTk_CreateGenericHandlerfR is intended for other purposes, such
  36. as tracing X events, monitoring events on windows not owned by Tk,
  37. accessing X-related libraries that were not originally designed for
  38. use with Tk, and so on.
  39. .PP
  40. The callback to fIprocfR will be made by fBTk_HandleEventfR;
  41. this mechanism only works in programs that dispatch events
  42. through fBTk_HandleEventfR (or through other Tk procedures that
  43. call fBTk_HandleEventfR, such as fBTk_DoOneEventfR or
  44. fBTk_MainLoopfR).
  45. .PP
  46. fIProcfR should have arguments and result that match the
  47. type fBTk_GenericProcfR:
  48. .CS
  49. typedef int Tk_GenericProc(
  50. ClientData fIclientDatafR,
  51. XEvent *fIeventPtrfR);
  52. .CE
  53. The fIclientDatafR parameter to fIprocfR is a copy of the fIclientDatafR
  54. argument given to fBTk_CreateGenericHandlerfR when the callback
  55. was created.  Typically, fIclientDatafR points to a data
  56. structure containing application-specific information about
  57. how to handle events.
  58. fIEventPtrfR is a pointer to the X event.
  59. .PP
  60. Whenever an X event is processed by fBTk_HandleEventfR, fIprocfR
  61. is called.  The return value from fIprocfR is normally 0.
  62. A non-zero return value indicates that the event is not to be handled
  63. further; that is, fIprocfR has done all processing that is to be
  64. allowed for the event.
  65. .PP
  66. If there are multiple generic event handlers, each one is called
  67. for each event, in the order in which they were established.
  68. .PP
  69. fBTk_DeleteGenericHandlerfR may be called to delete a
  70. previously-created generic event handler:  it deletes each handler
  71. it finds that matches the fIprocfR and fIclientDatafR arguments.  If
  72. no such handler exists, then fBTk_DeleteGenericHandlerfR returns
  73. without doing anything.  Although Tk supports it, it's probably
  74. a bad idea to have more than one callback with the same
  75. fIprocfR and fIclientDatafR arguments.
  76. .PP
  77. Establishing a generic event handler does nothing to ensure that the
  78. process will actually receive the X events that the handler wants to
  79. process.
  80. For example, it is the caller's responsibility to invoke
  81. fBXSelectInputfR to select the desired events, if that is necessary.
  82. .SH KEYWORDS
  83. bind, callback, event, handler