掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
各コントロールのEnabledをまとめて設定するスマートな方法 (ID:40708)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
フォームに複数のコントロールがあり 例えばエディトボックスで文字が選択されていなければCopyボタンが押せないような制御(あくまで例です)を 行うためにボタンのEnabled=Falseとしますが、 条件がいろいろあってまとめて1つのprocedureでまとめて複数のコントロールのEnabledを設定したいのですが 何かスマートに行うアイデアはないでしょうか? 試した方法 その① Application.OnIdleに適当なメソッドを代入して、そこでEnabledを設定 この方法だとフォームが複数だと問題があると思った。 その② フォーム上にTActionList、TAction、TButtonを配置し、TButtonのActionプロパティにTActionコンポーネントを 代入して、TActionコンポーネントのOnUpdateイベントでEnabledを設定 そしてFormCreateイベントでTButtonをフォームの可視領域から外へ移動 現在②の方法で行うつもりですが、もっとスマートな方法はないでしょうか? ダミーのコンポーネントを配置しなくてすむような方法 TActionのOnUpdateプロパティをソースで追いかけてみましたが、仕組みが良く分かりませんでした。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.