メニューバーについて


ジム  2004-12-14 02:34:08  No: 87335

メニューバーのメニューの Enabled プロパティをFalse にして禁止しているのに

その(淡色表示となった)メニューをクリックするとフォーカスが移動してしまうようです。淡色表示になるのですが、クリックするとへこむんです。かといってイベントは発生しません。他の場所(プログラム実行中)で、DoEvents でosに制御を戻すのですが、メニューバーをクリックすると(Flaseにしているのに)osから制御が戻ってきません。なにか解決方法はないのでしょうか?


de  2004-12-14 08:56:38  No: 87336

その現象はウィンドウのタイトルバーをドラッグ中にも起こっていませんか?


ジム  2004-12-14 19:37:11  No: 87337

ドラッグ中では、ありません。具体的にいうと
フォームにボタン1つ、プログレスバーを1つ貼り付けて、
メニューをmnuOption を追加します。

メインフォームでボタンを押すと以下のようなプログレスバーを単純に
表示するような処理をおこないます。そのままだと制御が戻ってこなくなるので
DoEvents をいれておきます。
ボタンを押すとプログレスバーに経過が表示され始めます。そこで  淡色表示の
メニュー  mnuOptionをクリックするとmnuOption がへこんだままプログレスバーの表示が止まってしまいます。(制御が戻らないようです)
mnuOption.Enabled = False  を True にしておけば、クリックした時
だけ制御が移るようです。淡色表示の時になぜ制御が戻ってこないのでしょうか?

Private Sub Command1_Click()
    Dim i As Integer, j As Integer
    
    mnuOption.Enabled = False
    For i = 0 To 1000
        For j = 0 To ProgressBar1.Max
            ProgressBar1.Value = j
            DoEvents
        Next j
    Next i
End Sub


適当主義者  2004-12-20 22:47:37  No: 87338

ヒント
http://madia.world.coocan.jp/vb/vb_bbs2/200403_04030032.html


適当主義者  2004-12-20 22:56:45  No: 87339


http://yokohama.cool.ne.jp/chokuto/urawaza/struct/MENUITEMINFO.html


おっさん  2004-12-21 00:30:44  No: 87340

SetMenuInfo API関数で、モードレスメニューにしてしまう。
ってのはありかな?


ジム  2004-12-27 20:26:40  No: 87341

ご回答ありがとうございます。SetMenuInfo API関数を少し調べてみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加