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

通讯编程

开发平台:

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: EventHndlr.3,v 1.4 1999/04/21 21:53:21 rjohnson Exp $
  9. '" 
  10. .so man.macros
  11. .TH Tk_CreateEventHandler 3 "" Tk "Tk Library Procedures"
  12. .BS
  13. .SH NAME
  14. Tk_CreateEventHandler, Tk_DeleteEventHandler - associate procedure callback with an X event
  15. .SH SYNOPSIS
  16. .nf
  17. fB#include <tk.h>fR
  18. .sp
  19. fBTk_CreateEventHandlerfR(fItkwin, mask, proc, clientDatafR)
  20. .sp
  21. fBTk_DeleteEventHandlerfR(fItkwin, mask, proc, clientDatafR)
  22. .SH ARGUMENTS
  23. .AS "unsigned long" clientData
  24. .AP Tk_Window tkwin in
  25. Token for window in which events may occur.
  26. .AP "unsigned long" mask in
  27. Bit-mask of events (such as fBButtonPressMaskfR)
  28. for which fIprocfR should be called.
  29. .AP Tk_EventProc *proc in
  30. Procedure to invoke whenever an event in fImaskfR occurs
  31. in the window given by fItkwinfR.
  32. .AP ClientData clientData in
  33. Arbitrary one-word value to pass to fIprocfR.
  34. .BE
  35. .SH DESCRIPTION
  36. .PP
  37. fBTk_CreateEventHandlerfR arranges for fIprocfR to be
  38. invoked in the future whenever one of the event types specified
  39. by fImaskfR occurs in the window specified by fItkwinfR.
  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_EventProcfR:
  48. .CS
  49. typedef void Tk_EventProc(
  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_CreateEventHandlerfR when the callback
  55. was created.  Typically, fIclientDatafR points to a data
  56. structure containing application-specific information about
  57. the window in which the event occurred.  fIEventPtrfR is
  58. a pointer to the X event, which will be one of the ones
  59. specified in the fImaskfR argument to fBTk_CreateEventHandlerfR.
  60. .PP
  61. fBTk_DeleteEventHandlerfR may be called to delete a
  62. previously-created event handler:  it deletes the first handler
  63. it finds that is associated with fItkwinfR and matches the
  64. fImaskfR, fIprocfR, and fIclientDatafR arguments.  If
  65. no such handler exists, then fBTk_HandleEventfR returns
  66. without doing anything.  Although Tk supports it, it's probably
  67. a bad idea to have more than one callback with the same fImaskfR,
  68. fIprocfR, and fIclientDatafR arguments.
  69. When a window is deleted all of its handlers will be deleted
  70. automatically;  in this case there is no need to call
  71. fBTk_DeleteEventHandlerfR.
  72. .PP
  73. If multiple handlers are declared for the same type of X event
  74. on the same window, then the handlers will be invoked in the
  75. order they were created.
  76. .SH KEYWORDS
  77. bind, callback, event, handler