基本だけだと(私が)飽きるので、前回までの学習を生かして実際の使われ方を見ていきましょう。 前回でIUnknownの学習が完了しましたが、実際にはどのように使われているのでしょうか? OLEにおけるCOMインターフェースの使われ方を見ていきます。 今回の解説対象となるOLEの機能は、OLEドラッグ&ドロップです。このドラッグ&ドロップされる側(以下、D&Dターゲット)に関して解説します。また、ドラッグ&ドロップ操作にはウィンドウが必要となるため、この章ではコンソールアプリケーションではなく、非コンソールアプリケーション(GUIアプリケーション)を前提に話を進めます。 D&Dターゲット側の処理は極めて簡単です。対象となるウィンドウを引数にRegisterDragDrop関数を呼び出すだけです。しかし、この関数にはもう1つ引数があり、それがCOMインターフェースポインタなのです。つまり、アプリ
この記事は2001年頃に書いた文章をそのまま転記し、はてなブログ用に体裁を整えたものです。Windows2000+Win32 SDK+C言語を前提としており、2012年現在では内容が陳腐化している箇所もあります。 (当時の)ソースコードはこちら: https://gist.github.com/3053385 目的 Windowsの便利な機能に、ドラッグ・アンド・ドロップ(以下D&D)によるファイルのコピー・移動・ショートカット作成があります。これに相当する機能を実装してみようというのが今回の目的です。 ちなみに開発環境は、Win32 SDKベースのC言語を想定しています。 非OLE Drag&Drop Explorer等からのファイルD&Dを実装する際に、最も簡単なのはDragAcceptFiles()関数を用いる方法です。 ファイルのドロップを受け付けたいウインドウのウインドウハンドル
QueryInterfaceのエラーの戻り値が間違っていたのを修正(E_NOINTERFACEを返すように) POINTL型の引数名をptからptlに変更 POINTに変換するときに紛らわしいから はじめに 一年ぶりの更新です。べつに復活というわけではないのですが久しぶりに紹介できそうなねたが出来たので更新しました。ねたはOLEを使ったドラッグ&ドロップです。以前挫折していたのですが、最近やっと分かりかけてきたので作ってみました(まだ途中だけど・・) えっと今回から使用言語がC++になっています。 何をすれば動くのか OLEについてはIDropTargetとかを調べてもらえれば分かりますが、インターフェイスだとかCOMだとかいろいろと難しい用語が出てきます。でもここではそんなものにはいっさい触れず何をすれば動くかだけを説明します。 ドラッグ&ドロップに必要なのはIDropTarget、ID
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く