
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
e-taxで送信ファイルの拡張子が...
-
個別に違う添付ファイルを付け...
-
拡張子「.IDJ」を、windo...
-
パワーワードの意味
-
A4の紙に印刷されている文字を...
-
C++ テンプレートクラスで定義...
-
Access2016のExcelインポートの...
-
指定したフォルダーを開いてフ...
-
かっこいいホームページを作る...
-
抗がん剤投与後のフラッシュ
-
PC内で速度を遅くした音源をCD...
-
フルフラッシュ-オブジェクト...
-
ニンテンドッグスについて教え...
-
plf.かswf.から、aviやmp4など...
-
ケイタイのiモーションをパソコ...
-
VSのコードエディター上の表示
-
Accessのソースが見れない
-
エアコンの冷媒 R410Aの重...
-
swfとswfを重ねる
-
ホームページトップ画面の表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のブックを新しいブックのS...
-
e-taxで送信ファイルの拡張子が...
-
個別に違う添付ファイルを付け...
-
拡張子「.IDJ」を、windo...
-
PC内で速度を遅くした音源をCD...
-
ガラケーからPCへの写真の取り込み
-
エアコンの冷媒 R410Aの重...
-
エクセルで「特定の文字を含む...
-
GIMP separate+プラグイン クラ...
-
A4の紙に印刷されている文字を...
-
TextBoxにフォーカスを与えると...
-
Fortniteのクラッシュについて
-
リストビューの選択状態を取得...
-
パソコン名、IPアドレスをH...
-
スマホでtxtファイルを編集する...
-
Accessのソースが見れない
-
iPhoneの内蔵の記憶媒体は、HDD...
-
ファイル数と合計サイズの取得方法
-
2枚、マイクロSDカードを入...
-
flash (.swf) を編集したい
おすすめ情報