No.3ベストアンサー
- 回答日時:
下の回答はウソです。
『DragAcceptFiles(GetDlgItem(IDC_LISTXX));』
↓
『GetDlgItem(IDC_LISTXX)->DragAcceptFiles();』
です。思い切りウソでした。リストボックスに対しての
初期化処理でした。しかもよく見ると解決策自体がウソ
でした。もう一度笑ってさらに水に流してやって下さい。
失礼しました。
初期化処理を省いても上手くいく、、、そういうことも
あったりしますが、MS社さんが規定しているので
やはり初期化処理は入れといた方が良いかと思います。
No.2
- 回答日時:
『DragAcceptFiles(GetDlgItem(IDC_LISTXX));』
↓
『::DragAcceptFiles(GetDlgItem(IDC_LISTXX));』
に変えて下さい。MFC利用なのかどうなのか、わから
なかったので、C言語のみでもMFCでも両方いける
ような説明にしていました。C++(MFC)では
APIを呼ぶときスコープ解決のため(::)を入れます。
その場合では
MFCの CWnd::DragAcceptFiles(BOOL) と
APIの DragAcceptFiles(HWND, BOOL) が
ぶつかっているからです。APIの側にグローバル
スコープ(::)を付け区別します。
「reinterpret_cast」については強制キャストで
(CWnd*)を(int)にキャストしていることになります。
コンパイラは論理性よりも機械的な解決方法を示して
いたのだと思います。
~~
ひょっとすっと、そういう問題起こるかなとちょっと
思ってました。確信犯でした。笑って水に流してやって
下さい。。。
No.1
- 回答日時:
リソースエディタでリストボックスの[ドラッグアンドドロ
ップを許可]をチェックして、親ウィンドウに以下を書く。
WM_CREATE か WM_INITDIALOG で
DragAcceptFiles(GetDlgItem(IDC_LISTXX));
※IDC_LISTXX・・・リストボックスID
WndProc か DlgProc のメッセージループ内で
case WM_DROPFILES:
{
HDROP hDrop;
char szFileName[MAX_PATH+1];
UINT uFileNo;
int i;
hDrop = (HDROP) wParam; // 内部のDROP構造体へのハンドル
uFileNo = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0);
for(i = 0; i < (int)uFileNo; i++) {
DragQueryFile(hDrop, i, szFileName, sizeof(szFileName));
MessageBox(szFileName);
}
DragFinish(hDrop);
}
break;
で、
参考URLは『猫でも~』
参考URL:http://kumei.ne.jp/c_lang/sdk2/sdk_105.htm
お答え頂きありがとうございます。
DragAcceptFiles(GetDlgItem(IDC_LIST1));
だと
C:\xxx\xxxDlg.cpp(189) : error C2664: 'DragAcceptFiles' : 1 番目の引数を 'class CWnd *' から 'int' に変換できません。
この変換には reinterpret_cast, C スタイル キャストまたは関数スタイルのキャストが必要です。
とコンパイルエラーになってしまいます。
かなり初心者的な事だと思うのですが、教えて頂けないでしょうか。
DragAcceptFiles(GetDlgItem(IDC_LIST1));を省くとうまくいきました。
reinterpret_castについてよくわからないのですが
DragAcceptFiles(reinterpret_cast<int>(GetDlgItem(IDC_LIST_FNANE)));
とするとコンパイルはとおったのですが、reinterpret_castについてもご存じでしたらお願いします。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デスクトップパソコン 動画編集 Zoomで録画した動画をimovieで編集時、映像が出ない 2 2023/08/17 17:13
- Windows 10 コマンドプロンプトの使い方 1 2022/10/13 14:43
- Excel(エクセル) Excel 画像のドラッグ&ドロップ 仕様変更はいつから 2 2022/09/16 09:06
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Windows 10 アプリ内のMicrosoft・・・ 4 2022/10/10 16:08
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- C言語・C++・C# visual studioでフォームデザインを作成する時のVB.netとC#の違い 2 2023/06/22 03:04
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2枚、マイクロSDカードを入...
-
スマホでtxtファイルを編集する...
-
PC内で速度を遅くした音源をCD...
-
ガラケーからPCへの写真の取り込み
-
ケイタイのiモーションをパソコ...
-
ExcelからCSVへウムラウトなど...
-
flash (.swf) を編集したい
-
GIMP separate+プラグイン クラ...
-
VBA:カウンターの i の値が開放...
-
ファミコンソフトの裏に書いた...
-
Accessのフォームから特定のフ...
-
エクセルのセルからフォーカス...
-
このゲーム(フラッシュ)のダ...
-
ファイルのドラッグアンドドロップ
-
VBSでエラーとなってしまいます
-
SUGOCAを使うにあたって無人駅...
-
Accessのソースが見れない
-
stdio.hの中身
-
ビデオファイルのプロパティの...
-
拡張子「.IDJ」を、windo...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別に違う添付ファイルを付け...
-
A4の紙に印刷されている文字を...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
ガラケーからPCへの写真の取り込み
-
PC内で速度を遅くした音源をCD...
-
VBS フォルダ内にあるすべての...
-
エアコンの冷媒 R410Aの重...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
stdio.hの中身
-
ビデオファイルのプロパティの...
-
ファイル数と合計サイズの取得方法
-
2枚、マイクロSDカードを入...
-
拡張子「.IDJ」を、windo...
-
プロ野球の結果を教えてください
-
複数のブックを新しいブックのS...
-
VBA:カウンターの i の値が開放...
-
SDカードを挿してるのに挿入し...
-
リストビューの選択状態を取得...
おすすめ情報