高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Q&A QA1384
Enabling the Navigation Services default behavior in its dialogs

Q: 私の「Navigation Services」ダイアログでは、ファイルまたはフォルダをドラッグ&ドロップしても場所は変わりません。それ以外のアプリケーションではこの操作がうまくいきます。 私のアプリケーションでも機能させるにはどうしたらよいでしょうか。

A: 「Navigation Services」ダイアログの作成または実行を呼び出す際に、NULL 以外の eventProc が必要です。 何もしない eventProc でも構いません。 こうすると、Navigation Services コードはデフォルトの動作のイベント処理を(何もしない)eventProc に追加する機会を得ることになります。さもなければ、eventProcNULL であると、Navigation Services はそのデフォルトの動作を追加しようとせず、どのような動作も要求されていないと見なします。 デフォルトの動作のイベント処理は当然、ドラッグ&ドロップを処理して場所を変更するというものです。

リスト 1 に示す次の eventProc を使用することができます:

リスト 1. 空の event Proc

pascal void myDoNothingEventProc(NavEventCallbackMessage callBackSelector,
      NavCBRecPtr callBackParms, void * callBackUD)
    {
    }

次のリスト 2 を使用して、この eventProc を指定することができます:

リスト 2. 空の event Proc の使用

NavEventUPP myDoNothingEventProcUPP = NewNavEventUPP(myDoNothingEventProc);

err = NavCreatePutFileDialog(
      &navOptions,
      kmyApplicationSignature,
      kmyFileType,
      myDoNothingEventProcUPP,
      clientData,
      &navDialog
      );

DisposeNavEventUPP(myDoNothingEventProcUPP);

上記のリスト 2 では、NavPutFile、NavGetFile、NavCreateChooseFileDialog など、他のいずれかの Navigation Services API も使用できます。

ドキュメントの改訂履歴

日付メモ
2004-09-27初版

掲載日: 2004-09-27