【DO!BOOK・ページリンク】
2010_migaro_techreport_001   51 / 84

BOOKをみる

10秒後にBOOKのページに移動します


49  林 涼子 株式会社ミガロ. システム事業部 システム2課 ●はじめに ●Drag&Dropとは何か ●Delphiで実現するためには ●Windows Messageとは ●実装方法 ●応用 ●最後に 1. はじめに  アプリケーションを開発する際に、設 計者としては考えなければいけないこと は多数あるが、必須条件として主に2 つ あると考える。  1 つは内部の設計をシンプルにし、保 守性や拡張性を見越した設計にすること である。またもう1 つは、ユーザーが満 足する操作性を実現することだ。特に ユーザーには、直感的な操作が分かりや すく使いやすい。  本レポートでは、直感的な操作として 普段何気なく使われるDrag&Drop に ついて、Windows での仕組みとDelphi に実装する方法を紹介したいと思う。 2. Drag&Dropとは 何か  Drag&Drop とは、マウス操作の1 つ で、マウスでファイルやデータをクリッ クし選択したまま、移動(ドラッグ)さ せ別の場所でクリックしたボタンを離す (ドロップ)ことである。これは、Win dows が提供している機能の1 つである。 【図1】  この機能について大きく分類すると、 以下の3 つに分けられる。 ●アイコン、フォルダへのDrag&Drop ファイルを、別フォルダに移動やコ ピーできる。 ●実行中のアプリケーションへのDrag  &Drop メモ帳にテキストファイルをDrag&D rop すると、ファイルを開く。 ●アプリケーション内でのDrag&Drop Excel では、セルの移動ができる。  これらはWindows が、指定したWin dow、今回はドラッグ元のファイルとド ラッグ先のファイルに対して、Drag&D rop の機能を呼び出しており、それぞれ の処理が行われている。  また、受信側のアプリケーションに よって、Drag&Drop を許可するものと しないものがある。これは、Delphi で実 装する上でも当然必要な制御となる。 Word、Excel、メモ帳などのファイルを 開く機能のあるアプリケーションの多く は、Drag&Drop を制御する機能が実装 されている。が、その他のアプリケーショ ンでは、受け付けないものも見られる。  さらに、Drag&Drop を受け付けた場 合でも、ファイルの種類により制限され ることも多い。これは、PowerPoint の ファイルをメモ帳、Excel にDrag&Dr op してみると、そのことが理解できる。  メモ帳では、文字化けして読めない文 字列が表示されるものの、メモ帳のテキ ストファイルを開くという処理としては 正しい対応がなされる。【図2-1】  これに対しExcel では、「ファイルが 開けません」というエラーが出る。こち らは、Excel ではPowerPoint のファイ ルを受け付けないよう指定されているか らである。【図2-2】  さて、今回は上記から、アイコンへの Drag&Drop、実行中のアプリケーション Delphi/400で ドラッグ&ドロップを制御 ドロップ& ドラッグの操作により Excel ファイルをシステムに取り込む方法を紹介する。 略歴 1987 年3 月3 日生まれ 2009 年近畿大学農学部卒 2009 年04 月株式会社ミガロ. 入社 2009 年04 月システム事業部配属 現在の仕事内容 入社2 年目で、主にDelphi/400 を使用したシステムの受託開発を担 当している。