掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphiで作成したActiveXコントロールをDelphiに載せた時に設計時と実行時を判断するには? (ID:10848)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いいかわかりませんが、いちおうできる方法がわかりました。 FInitFlagという初期化したかフラグを用意しておいて、 メッセージ受信時に1回だけ初期化をするようにしてみました。 procedure Txxx.WndProc(var Message: TMessage); begin inherited WndProc(Message); if (FInitFlag=False) and (ClientSite(Self)<>Nil) then begin if not IsControlInDesignMode(Self) then InitProc; // 実行時のみの初期化処理 FInitFlag := True; end; end; SetClientSite 内の OnAmbientPropertyChange で CM_PARENTCOLORCHANGED は 最低でも発生しそうですので、何もこないことはなさそうです。 このコントロール向けのすべてのメッセージで毎回来てしまいますが、 これで設計時と実行時がうまく切り分けられて、初期化できました。 無理矢理な感じですが、これで問題なさそうですよね
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.