掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ドラッグ&ドロップのファイル選別 (ID:68439)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> System::Stringをstd::stringに変換する なんでこんなことする必要が? とりあえずこんな感じでは? System::Void textBox1_DragEnter(System::Object^ sender, System::Windows::Forms::DragEventArgs^ e) { if (e->Data->GetDataPresent(DataFormats::FileDrop)) { array<String^>^ fileName = static_cast<array<String^>^>(e->Data->GetData(DataFormats::FileDrop, false)); if (fileName->Length == 1 && isTextFile(fileName[0])) { e->Effect = DragDropEffects::All; return; } } e->Effect = DragDropEffects::None; } bool isTextFile(String^ path) { // 拡張子取得 String^ ext = System::IO::Path::GetExtension(path); if (ext->Compare(ext, L".txt", true) == 0) { return true; } return false; } >1バイトずつ調べ2バイト文字であるか(全角文字であるか)判定するってことですね。 そういうことではないのですが、、、 本当に、DragEnterでテキストファイルをいちいち開いてShift_JISコードかどうかまでチェックするのでしょうか? 馬鹿でかいファイルをドラッグしてきたときカナリ遅くなると思うのですが。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.