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

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 2000 Ajuba Solutions.
  3. '"
  4. '" See the file "license.terms" for information on usage and redistribution
  5. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. '" 
  7. '" RCS: @(#) $Id: SetClassProcs.3,v 1.1 2000/11/22 01:50:26 ericm Exp $
  8. '" 
  9. .so man.macros
  10. .TH Tk_SetClassProcs 3 8.4 Tk "Tk Library Procedures"
  11. .BS
  12. .SH NAME
  13. Tk_SetClassProcs - register widget specific procedures
  14. .SH SYNOPSIS
  15. .nf
  16. fB#include <tk.h>fR
  17. .sp
  18. fBTk_SetClassProcsfR(fItkwin, procs, instanceDatafR)
  19. .SH ARGUMENTS
  20. .AS Tk_ClassProc instanceData
  21. .AP Tk_Window tkwin in
  22. Token for window to modify.
  23. .AP Tk_ClassProcs *procs in
  24. Pointer to data structure containing widget specific procedures.
  25. The data structure pointed to by fIprocsfR must be static:
  26. Tk keeps a reference to it as long as the window exists.
  27. .AP ClientData instanceData in
  28. Arbitrary one-word value to pass to widget callbacks.
  29. .BE
  30. .SH DESCRIPTION
  31. .PP
  32. fBTk_SetClassProcsfR is called to register a set of procedures that
  33. are used as callbacks in different places.
  34. .PP
  35. The structure pointed to by fIprocsfR contains the following:
  36. .CS
  37. typedef struct Tk_ClassProcs {
  38. unsigned int fIsizefR;
  39. Tk_ClassWorldChangedProc *fIworldChangedProcfR;
  40. Tk_ClassCreateProc *fIcreateProcfR;
  41. Tk_ClassModalProc *fImodalProcfR;
  42. } Tk_ClassProcs;
  43. .CE
  44. The fIsizefR field is used to simplify future expansion of the
  45. structure. It should always be set to (literally) fBsizeof(Tk_ClassProcs)fR.
  46. .PP
  47. fIworldChangedProcfR is invoked when the system has altered
  48. in some way that requires some reaction from the widget.  For example,
  49. when a font alias (see the fBfontfR manual entry) is reconfigured,
  50. widgets configured to use that font alias must update their display
  51. accordingly.  fIworldChangedProcfR should have arguments and results
  52. that match the type fBTk_ClassWorldChangedProcfR:
  53. .CS
  54. typedef void Tk_ClassWorldChangedProc(
  55. ClientData fIinstanceDatafR);
  56. .CE
  57. The fIinstanceDatafR parameter passed to the fIworldChangedProcfR
  58. will be identical to the fIinstanceDatafR paramter passed to
  59. fBTk_SetClassProcsfR.
  60. .PP
  61. fIcreateProcfR is used to create platform-dependant windows.  It is
  62. invoked by fBTk_MakeWindowExistfR.  fIcreateProcfR should have
  63. arguments and results that match the type fBTk_ClassCreateProcfR:
  64. .CS
  65. typedef Window Tk_ClassCreateProc(
  66. Tk_Window fItkwinfR,
  67. Window fIparentfR,
  68. ClientData fIinstanceDatafR);
  69. .CE
  70. The fItkwinfR and fIinstanceDatafR parameters will be identical to
  71. the fItkwinfR and fIinstanceDatafR parameters passed to
  72. fBTk_SetClassProcsfR.  The fIparentfR parameter will be the parent
  73. of the window to be created.  The fIcreateProcfR should return the
  74. created window.
  75. .PP
  76. fImodalProcfR is invoked after all bindings on a widget have been
  77. triggered in order to handle a modal loop.  fImodalProcfR should
  78. have arguments and results that match the type fBTk_ClassModalProcfR:
  79. .CS
  80. typedef void Tk_ClassModalProc(
  81. Tk_Window fItkwinfR,
  82. XEvent *fIeventPtrfR);
  83. .CE
  84. The fItkwinfR parameter to fImodalProcfR will be identical to the
  85. fItkwinfR parameter passed to fBTk_SetClassProcsfR.  The
  86. fIeventPtrfR parameter will be a pointer to an XEvent structure
  87. describing the event being processed.
  88. .SH KEYWORDS
  89. callback, class