## Tcl9.0.3/Tk9.0.3 Documentation > Tk C API > CrtCmHdlr

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

### NAME

Tk_CreateClientMessageHandler, Tk_DeleteClientMessageHandler — 依頼者伝達文の型の X 行事による呼戻しに関連する手続函数 associate procedure callback with ClientMessage type X events

### SYNOPSIS

#include <tk.h>
Tk_CreateClientMessageHandler(proc)
Tk_DeleteClientMessageHandler(proc)

### 引数 ARGUMENTS

Tk_ClientMessageProc *proc (入力in)
  何時であれ依頼者伝達文 X 行事がどれかの表示上に生じたときは起動するための手続函数｡ Procedure to invoke whenever a ClientMessage X event occurs on any display.

### 説明 DESCRIPTION

Tk_CreateClientMessageHandler は､将来何時であれ WM_PROTOCOL によって処理できない ClientMessage X 行事が生じた時 proc が起動されるように手配する｡Tk_CreateClientMessageHandler は引張り重ねる応用譜の様な X ClientMessage を見張る必要がある応用譜によって使用されることが企図されている｡ Tk_CreateClientMessageHandler arranges for proc to be invoked in the future whenever a ClientMessage X event occurs that is not handled by WM_PROTOCOL. Tk_CreateClientMessageHandler is intended for use by applications which need to watch X ClientMessage events, such as drag and drop applications.

proc への呼戻しは Tk_HandleEvent により作成される; この仕組みは､ Tk_HandleEvent を通して(或は､ Tcl_DoOneEvent や Tk_MainLoop の如く Tk_HandleEvent を呼出す他の Tk 手続きを通して)行事を急送する算譜内でのみ動く｡ The callback to proc will be made by Tk_HandleEvent; this mechanism only works in programs that dispatch events through Tk_HandleEvent (or through other Tk procedures that call Tk_HandleEvent, such as Tcl_DoOneEvent or Tk_MainLoop).

proc は Tk_ClientMessageProc 型に合致する引数と結果を有すべきである: Proc should have arguments and result that match the type Tk_ClientMessageProc:

    typedef int Tk_ClientMessageProc(
            Tk_Window tkwin,
            XEvent *eventPtr);

proc への tkwin 假引数は Tk 窓であり､それはこの行事に結合している｡EventPtr は X 行事へのポインターである｡ The tkwin parameter to proc is the Tk window which is associated with this event. EventPtr is a pointer to the X event.

何時であれ X ClientMessage 行事が Tk_HandleEvent によって処理される時は､ proc は WM_PROTOCOL として処理されない限り､呼出される｡ proc からの返り値は 0 である｡非零返り値はその行事がそれ以上処理されないことを指し示す; 即ち､ proc はその行事に許容される事は全て処理された｡ Whenever an X ClientMessage event is processed by Tk_HandleEvent, the proc is called if it was not handled as a WM_PROTOCOL. The return value from proc is normally 0. A non-zero return value indicates that the event is not to be handled further; that is, proc has done all processing that is to be allowed for the event.

もし多重 ClientMessage 行事処理機能がある場合､それぞれは､それが設立された順にその行事に呼ばれる｡ If there are multiple ClientMessage event handlers, each one is called for each event, in the order in which they were established.

Tk_DeleteClientMessageHandler は､以前に作成された ClientMessage 行事処理機能を削除する為に呼ばれ得る: それはそれぞれの proc 引数に合致を見付ける処理機能を削除する｡その様な処理機能が実在しない場合､ Tk_DeleteClientMessageHandler は何もせずに帰る｡ Tk がそれを運営していても､同じ proc 引数を伴って多数回呼戻すのは多分に思わしくない｡ Tk_DeleteClientMessageHandler may be called to delete a previously-created ClientMessage event handler: it deletes each handler it finds that matches the proc argument. If no such handler exists, then Tk_DeleteClientMessageHandler returns without doing anything. Although Tk supports it, it's probably a bad idea to have more than one callback with the same proc argument.

### KEYWORDS

bind, callback, event, handler
Copyright © 2000 Ajuba Solutions.