◀ANSI版開発トップへ
  • 747 隠れ更新ボタンとAlt+A
    • 750 Re:隠れ更新ボタンとAlt+A
      • 752 Re2:隠れ更新ボタンとAlt+A
        • 753 Re3:隠れ更新ボタンとAlt+A
  • [747] 隠れ更新ボタンとAlt+A あああ 2001年10月09日 11:44

    「Alt+A を押してもチェックが入らない」というバグについて。PSH_NOAPPLYNOW フラグを付けても「隠れ更新ボタン」ができるようです。隠れ更新ボタンのキャプションは「更新(&A)」です。このため、Alt+A を押しても動作しません。

    spy++ で調べたところ、このボタンのIDは生成されるたびに変わります。EnumChildWindows を使って探すことができるでしょう。ボタンを勝手に削除したらいけないかも知れないので、キャプションを別のものに変えればいいと思います。
    • [750] Re:隠れ更新ボタンとAlt+A 蛭子屋 2001年10月09日 15:06

      ▼ あああさん
      > spy++ で調べたところ、このボタンのIDは生成されるたびに変わります。EnumChildWindows を使って探すことができるでしょう。ボタンを勝手に削除したらいけないかも知れないので、キャプションを別のものに変えればいいと思います。

      こちらの環境では更新ボタンのIDは0x3021で固定でした。
      afxres.hにも
      >#define ID_APPLY_NOW 0x3021
      という定義がありますので、この値で固定だと思っていたんですが、環境によっては違うんでしょうか?

      #と書き込もうとして先ほどは変なことになりました。
      #今度は大丈夫でしょうか(..;)
      • [752] Re2:隠れ更新ボタンとAlt+A あああ 2001年10月09日 15:20

        ▼ 蛭子屋さん
        > こちらの環境では更新ボタンのIDは0x3021で固定でした。

        ハンドルとIDを間違えちゃいました。また、Win98では更新ボタンは「適用(&A)」でした。

        SetWindowText(GetDlgItem(..., ID_APPLY_NOW), "更新");
        • [753] Re3:隠れ更新ボタンとAlt+A あああ 2001年10月09日 15:57

          ▼ あああさん
          > SetWindowText(GetDlgItem(..., ID_APPLY_NOW), "更新");

          SetDlgItemText(..., ID_APPLY_NOW, "適用");