◀Unicode版開発トップへ
  • 2169 アクティブ化時にキャプション更新されないことがある(rev2929-)
    • 2170 ANSI版ではrev2966-
    • 2171 Re:アクティブ化時にキャプション更新されないことがある(rev2929-)
  • [2169] アクティブ化時にキャプション更新されないことがある(rev2929-) LR4 2014年05月10日 17:27

    >>unicode:2165の件で動作を確認していたところ、アクティブ化時に
    メインウィンドウのキャプションタイトルが非アクティブ用の文字列
    のまま切替わらないケースがありました。

    (1) サクラからダイアログ(メッセージボックスでも良い)を出す
    例:バージョン情報ダイアログや検索ダイアログを出す
    → アクティブタイトルのまま
    (2) 他のアプリをアクティブにする
    → 非アクティブタイトルに切替わる
    (3) (1)で出したダイアログをクリックしてアクティブにする
    → 非アクティブタイトルのまま変わらない

    Ver.1.6.6.0やVer.2.0.5.0では(3)でアクティブタイトルに戻っていました。
    サクラでは、自プロセスのどれかのウィンドウがアクティブなら
    メインウィンドウのキャプションをアクティブタイトル文字列にしているのですよね。
    (タイトルバーの色とは別に)

    rev2929(Keep: 不要なUpdateCaption()呼び出し削除[Patchunicode#456])
    の変更を以下のように戻すことで従来動作に戻るようです。

    Index: sakura_core/window/CEditWnd.cpp
    ===================================================================
    --- sakura_core/window/CEditWnd.cpp (リビジョン 3706)
    +++ sakura_core/window/CEditWnd.cpp (作業コピー)
    @@ -1269,12 +1269,10 @@

    // 2009.01.17 nasukoji ホイールスクロール有無状態をクリア
    ClearMouseState();
    - } else {
    - // 非アクティブになるときだけキャプション設定(アクティブ時はほかで呼び出される)
    - UpdateCaption();
    }

    - // タイマーON/OFF // 2007.03.08 ryoji WM_ACTIVATEから移動
    + // キャプション設定、タイマーON/OFF // 2007.03.08 ryoji WM_ACTIVATEから移動
    + UpdateCaption();
    m_CFuncKeyWnd.Timer_ONOFF( m_bIsActiveApp ); // 20060126 aroka
    this->Timer_ONOFF( m_bIsActiveApp ); // 20060128 aroka

    ご確認お願いします。
    • [2170] ANSI版ではrev2966- LR4 2014年05月10日 17:55

      > rev2929(Keep: 不要なUpdateCaption()呼び出し削除[Patchunicode#456])
      > の変更を以下のように戻すことで従来動作に戻るようです。

      ANSI版では、rev2966で上記rev2929と同じ変更が行われているようです。
    • [2171] Re:アクティブ化時にキャプション更新されないことがある(rev2929-) novice 2014年05月11日 09:50

      ▼ LR4さん
      > >>unicode:2165の件で動作を確認していたところ、アクティブ化時に
      > メインウィンドウのキャプションタイトルが非アクティブ用の文字列
      > のまま切替わらないケースがありました。

      ご指摘ありがとうございます。
      r2929の変更を元に戻したいと思います。

      潜在的な問題として、メインウィンドウをアクティブ化すると、
      3回UpdateCaption()を呼び出すため、
      呼び出し削除の件は再度検討してみたいと思います。