INDEX
[MFC]ドラッグ&ドロップ
1  NI-Lab.  2004/07/07(Wed) 23:07
[MFC]ドラッグ&ドロップ

OLEはよくわからない……


2  NI-Lab.  2004/07/07(Wed) 23:08
[MFC]ドラッグ&ドロップしたファイル名を取得する

// CDialog の派生クラス CSampleDlg を作って、と。

// get file path when Drag and Drop

BOOL CSampleDlg::OnInitDialog()
{
(略)

// TODO: 特別な初期化を行う時はこの場所に追加してください。
DragAcceptFiles(TRUE);

(略)
}

void CSampleDlg::OnDropFiles(HDROP hDropInfo)
{
// ドロップされたファイル数を取得
UINT iCount = ::DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0);

char filepath[MAX_PATH + 1];

for (UINT i=0; i<iCount; i++){

// ファイルの絶対パスを取得
::DragQueryFile(hDropInfo, i, filepath, MAX_PATH + 1);

// 絶対パス名を表示
MessageBox(filepath);
}

// ファイル名を取得するために
// システムが確保したメモリを解放
::DragFinish(hDropInfo);

//CDialog::OnDropFiles(hDropInfo);
}

3  NI-Lab.  2004/07/07(Wed) 23:10
OLE Drag & Drop したい……
COleDataSource とかかな?
4  NI-Lab.  2004/07/07(Wed) 23:12
http://www.runan.net/
暁の傭兵 ソフトはうす

参考になる。
でも、個別リンクは許可されていないので……

ttp://www.runan.net/program/tips/sdk_15_DragQueryFile.shtml
ファイルドロップを受け取る[簡易編]

ttp://www.runan.net/program/tips/API/shell32_DragQueryFile.shtml
DragQueryFile関数

5  NI-Lab.  2004/07/07(Wed) 23:17
http://homepage3.nifty.com/aokura/tips/edit3.html
AOK's Home Page (Nifty) - CEditView 雑記 - 5. テキストのドラッグ&ドロップの実装(OLE)

6  NI-Lab.  2004/07/07(Wed) 23:18
エディットコントロール間で文字列を渡すことが可能な CDragEdit クラス。

http://www.codeguru.com/Cpp/controls/editctrl/article.php/c535/
CodeGuru: Drag text between edit controls

http://niigata.cool.ne.jp/minamix/winctrl/edit/dragtext.htm
エディットコントロール間のドラッグ

>このクラスを使用すると、文字列をエディットコントロール間でコピーあるいは、移動ができますし
>他のテキストエディタなどへ、ドラッグアンドドロップするだけで同様のことが可能になります。

CDragEdit の継承関係。
CObject <--- CCmdTarget <--- CWnd <--- CEdit <--- CDragEdit

7  NI-Lab.  2004/07/07(Wed) 23:19
http://www5.plala.or.jp/atata/net/
OLE2 on .NET Framework