>>248
生半可な知識で入力支援のソース(_IDMTOOL.C)を見てみると・・・・
こんな感じ?

> dialogControlID(hd,IDD_TARGET);
> dialogString(hd,"補完対象(&S):",lxg,context.szTarget,CCHWORD,lx);

補完対象テキストボックスにIDD_TARGETというコントロールIDを付与。
これでキー入力など、何かイベントがあるとIDD_TARGETをパラメーターにして
メッセージWM_COMMANNDが発行される(?)

このメッセージをコールバック関数内で処理

>case IDD_TARGET: {
> if (notify == EN_UPDATE && !context->fDialogWriting) {
> context->fEdit = TRUE;
> SetTimer(hwnd,IDTIMER_COMPLETE,500,NULL);
> }
> break;

IDD_TARGETを受けとると必要があれば500ミリ秒まってWM_TIMERを発行
するようにタイマーをセット。
パラメータはIDTIMER_COMPLETE(=WM_TIMER_TXUSER)

なぜここで待つ必要があるのかはわからない