component
更新日:2004/11/09
ダウンロード収録コンポーネント
TDynCtrlProp
TPropIniFile
登録ファイル
DynCtrlProp.pas
DynCtrlSizeDlg.pas
DynCtrlSizeDlg.dfm
HOOKINST.PAS
PropIniFiles.pas
インストール
DynCtrlPropPack.dpkを開き、インストールしてください。
コンポーネント概要
TDynCtrlProp
実行時にコントロールのプロパティを変える事が出来ます。
変更できるプロパティは、背景色、フォント、位置、サイズ、Items(TStrings)
になります。
変更したコントロールのクリップボードへコピー、変更したEXEの書き出し
を行えます。
Halbow資料館のフック関数のインスタンス化を参考にさせていただきました。
Grahame Marsh氏のHOOKINST.PASを使用しています。
使用方法
TDynCtrlPropをフォームに置き、コンパイルすれば使用できます。
CTRLキーを押しながら右クリックするとその位置のコントロールを変更できます。
EnabledプロパティをFalseに設定すれば右クリックが無効になります。
マウスフック、実行時型情報、コンポーネントのストリーム出力を使用しています。
TPropIniFile
PropIniFileに登録したコンポーネントのプロパティを自動でINIファイルへ変換します。
登録できるプロパティは整数型、文字型、集合型、浮動小数点型、文字列型、
バリアント型、列挙型、Int64型になります。
Object型などは登録されていても無視されます。
使用方法
TPropIniFileをフォームに置き、オブジェクトインスペクタからPropIniItems
プロパティを開きます。
開いたウインドウを右クリックして追加を選び、オブジェクトインスペクタから
Componentを入力します。
Propertysを開いて、登録するプロパティ名を書き込みます。
TPropIniFile.FileNameにINIファイル名を入力します。
WriteメソッドでINIファイルへ書き出し、ReadメソッドでINIファイルから読み込みます。
読込後は自動でコントロールに値が設定されます。
DefaultStringプロパティはINIファイルから読み込み失敗の際に使用する
デフォルト文字列です。
詳細はTIniFile.ReadStringを参照してください。
DefaultStringとINIファイルから読み込んだ文字列が同一であれば、その値は
コントロールに反映されません。
TDynCtrlPropのEXE書き出しは、EXEを壊す可能性があるためバックアップをお勧めします(コピーに書き出すけど)。
各ポップアップメニュー項目のVisibleプロパティでもつける予定でしたが、やっていません。
TDynCtrlPropとTPropIniFileを2つをあわせれば実行時にプロパティをいじれて、INIファイルへの書き出しがソースコードを書かずにできますが、TPropIniFileがFontを書き出せないので微妙に使いづらい。
実用性よりもRTTIの軽いサンプルとしてみてください。