タブコントロールにドロップするには? – プログラミング – Home

タブコントロールにドロップするには?
 
通知
すべてクリア

[解決済] タブコントロールにドロップするには?


柚
 柚
(@柚)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

柚と申します。
今、VC++6の環境で、SDKのみでアプリケーションを作成しています。

ダイアログにタブコントロールを配置し、Aタブ,Bタブと作りました。
そして、Aタブにグループボックスを1つ作り、
そこにドラッグ・ドロップできるように、サブクラス化しました。

それで問題なのは、ファイルをドラッグドロップしようとしても
マウスカーソルすらドロップ可能な形に変更されないことです。

タブコントロールがなく、ダイアログに直接グループボックスを作成した場合は
正常な動作をしていましたし、
また、タブでのこのような形のアプリケーションは見たことがないので、
ひょっとしてタブコントロール上では無理なのかもと疑問も沸いているのですが、
どうでしょうか。

---
タブコントロール
http://home.a03.itscom.net/tsuzu/programing/tips28.htm  を参考にしました。

Aタブの子ダイアログ・プロシージャ
case WM_INITDIALOG:
 hGroupBox = GetDlgItem(hWnd, IDC_GroupBox);
 OriginalProc = (WNDPROC)GetWindowLong(hGroupBox, GWL_WNDPROC);
 SetWindowLong(hGroupBox, GWL_WNDPROC, (LONG)NewProc);
 SendMessage(hGroupBox, UserMessage, 0L, 0L);
 return TRUE;

NewProc()
case UserMessage:
 DragAcceptFiles(hWnd, TRUE);
case WM_DROPFILES:
 (ドラッグ・ドロップ処理)
---
処理上、何か足りないのでしょうか・・

どなたかアドバイスなどよろしくお願いいたします。


この投稿は以前
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200411/04110069.txt
にてポストしました。
一定の期間を於きましたが、残念ながら解決法がみつからず、困っており、
こちらにマルチポストさせていただく次第です。
「使用上の注意」の注意に従い、
もしこちらでよい結果が得られましたら、責任をもってポスト元にも報告させて頂きます。
失礼を承知で大変申し訳ございません。


引用未解決
トピックタグ
SG
 SG
(@SG)
ゲスト
結合: 20年前
投稿: 4
 

プロパティシートではダメなのでしょうか?
プロパティシートならコンボボックスに対してサブクラス化して
ドロップ出来るようにしたことはあります。
タブの時は自分もいろいろ試したけどうまくいかなかった記憶があります。
似たようなことをしただけですけど。


返信引用
柚
 柚
(@柚)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

>プロパティシートでは
 実は、実現可・不可は別として、ポスト元でもご提案があり、
 同時進行で調べてみたのですけど、
 OK と キャンセル ボタンは削除できないようなので、
 悩んでいました。

 しかしながら、ポスト元で動作の解析をして頂きまして、
 子ダイアログの親ハンドルがダイアログだとメッセージはタブコントロールに行くことが分かり、
 そのためにWM_DROPFILESを捉えられなかったようです。

回答遅れまして、申し訳ございませんでした。
また、ご情報ありがとうございます。
今後の参考にさせて頂きたく思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました