2008年2月5日火曜日

VC++2005 ファイルのドラッグ&ドロップの実装(訂正)

VC++2005 ファイルのドラッグ&ドロップの実装(訂正)

08/02/04 の記事に間違いがありましたので、訂正したもの記載します。

エクスプローラからファイルをドラッグしてテキストボックスにドロップすると
ファイル名を表示する方法です。

//-------------------------------------------------------------------
private: System::Void textBox1_DragEnter(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) {
if(e->Data->GetDataPresent(DataFormats::FileDrop))
{
e->Effect = DragDropEffects::All;
}
else
{
e->Effect = DragDropEffects::None;
}
}
//-------------------------------------------------------------------
private: System::Void textBox1_DragDrop(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) {
if(e ->Data ->GetDataPresent(DataFormats::FileDrop)) // ファイルドロップのとき
{
array<System::String^>^ files = // 列挙型のファイル名を一覧を取得する
static_cast<array<System::String^>^>
(e->Data->GetData(DataFormats::FileDrop , false));
this->textBox1->Text = files[0]; // 先頭ファイル出力
}
}
//-------------------------------------------------------------------
※上記ソースはそのままコピーして使用するとコンパイルエラーとなります。
全角'<'を半角'<'すれば大丈夫です。

0 件のコメント: