[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/02/25(Sun) 12:51
投稿者名:あきら。
Eメール:
URL :
タイトル:
MSGBOXというかフレームワークのBUGについて
お世話になります。
VB6.0のランタイムのライフサイクルがvistaの関係で長引くようですので、
何処に報告したらいいのか判りませんので、
ここに書く事にします。

参照URL:
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnvb60/htm/drgdrp.asp

FORMのOLEDropModeプロパティを1-Manualに設定して、
そのフォームでファイル等のドロップを受け付けます。
これは正しくていいのです。

テキストBOX等を置き実行すると、そこではそのままではDROPは受け付けません。

但し、標準のMSGBOXを表示すると大変な事が起きます。

ユーザーのアクション待ちのはずなのに、
ファイルのドロップを受け付けてしまいます。
イベントハンドラーが動くのです。
MSGBOXでもDROPを受け付け、親のフォームでも受け付けます。
先程、置いたDROPを受け付けないはずのテキストBOXでも…。
上記全てがFORMのイベントとして受け付けてしまいます。
(親のフォームのステータスに依存すると思われます。)
御注意を。

私はMSGBOX2を作成しFLAGを立てて、
そのイベント発生中のDROPは無視するようにアプリを作成して回避しました。

VB6.0 SP6での現象です。
最終パッチ?で対応版をリリースして欲しいです。
MVPの方々のお力でのMicrosoftへの通報を強く希望します。(笑)
万一、既出でしたら御容赦下さい。

投稿時間:2007/02/25(Sun) 18:02
投稿者名:あきら。
Eメール:
URL :
タイトル:
Re: MSGBOXというかフレームワークのBUGについて
テストされる方、いらっしゃいましたら、
ファイルパスの処理は大変ですので、
代わりにBEEP等で簡易的にされるといいかなと思います。

投稿時間:2007/03/02(Fri) 21:57
投稿者名:あきら。
Eメール:
URL :
タイトル:
Re^2: MSGBOXというかフレームワークのBUGについて
Private Sub Form_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, _
Shift As Integer, X As Single, Y As Single, State As Integer)
    
    
    'GUI操作の時のマウスカーソル処理
    
    If Not Data.GetFormat(vbCFFiles) Or (msgbox_FL = 1) Then
        Effect = vbDropEffectNone
        ' Don't allow dropping
    End If
    

End Sub

メッセージBOX表示中にmsgbox_FLを1にセットしたらDROPそのものができなくなりました。
(これで進入禁止のアイコンが出ます)
一応解決ですかね?
でも、やっぱりフレームワーク自体で解決して欲しい気がします…。