◀ANSI版開発トップへ
  • 658 Win95でメニューが出ないのは
  • [658] Win95でメニューが出ないのは げんた 2001年08月30日 23:16

    Win95では,CMenuDrawer.cppの227行目:
    ::InsertMenuItem( hMenu, 0xFFFFFFFF, TRUE, &mii );
    でエラーが返ってきます.

    第3引数がTRUEのときは第2引数に挿入位置を入れないといけないので,0xFFFFFFFFがエラーになるのは妥当な動作ではあります.

    該当個所を
    ::InsertMenuItem( hMenu, ::GetMenuItemCount(hMenu), TRUE, &mii );
    としてみたのですが,Win95ではやはり駄目.

    miiの中身がまずいのかな.mii.fMaskで使わない物まで常に有効にしているのも怪しそう.

    SDKを見ると,Windows 98/Me/2000/XPではfTypeはfMaskにMIIM_FTYPEが設定されていないと使われないとなっているにもかかわらず,MIIM_FTYPEは設定されていない.でも動いている.

    試しに,MIIM_FTYPEを設定したらWindows 2000でもメニューが出なくなった.ということは,fTypeの設定がまずいがWin98/2K等では無視されるのでエラーにならないと解釈するのが良さそうだ.

    エラーの内容は「パラメータが間違っています」です.

    --
    とりあえず以上.何か気づいた人は教えてください.