掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
複数のペインからなるプログラムで、フォーカスの有無により各ペインのタイトル部の色を変えるには (ID:47522)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Screen.OnActiveControlChange := nil; // これがないとなぜかエラーが起こる? Formの破棄中にもActiveControlに変化が起きていると推測します。そのため、例えばMemo1が 無い状態でColorChangeに突入している、と。 ちなみに自分はOnDestroyに記述してました。 > // ↓モーダルダイアログが出ているときは、IsWindowEnabledがFalseになることを利用した判別方法。 > if not IsWindowEnabled(Self.Handle) then exit; いや、ちゃんと Focused をチェックしてるから、この判別は不要だと思うのですが。 >(モーダルでないダイアログを出すときは、別の条件が必要かも。) こちらも同様に、判別不要かと。 なぜなら、risaさんの提示した「色を変える条件」は、各コントロールの Focused と完全一致 しているからです。各コントロールの Focused を真正直にチェックし、それに従って対応する パネルの色を変化させるロジックになっている限り、特に小細工は要らないと思います。 (Self.ActiveControl を利用する場合は、それが Focused であるかチェックすればOKです。)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.