掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コンポーネントを再描画するには? (ID:23426)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
実行中の場合を検証しました 問題ありません。 オブジェクトインスペクタの場合は私はまったく使わないので分かりません。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TPanelButtons5 = class(TPanel) private Buttons: array [0..4] of TButton; function GetButtonVisible(Index: integer): Boolean; procedure SetButtonVisible(Index: integer; const Value: Boolean); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; property ButtonVisible[Index:integer]:Boolean read GetButtonVisible write SetButtonVisible; end; TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private 宣言 } PB5:TPanelButtons5; public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} { TPanelButtons5 } constructor TPanelButtons5.Create(AOwner: TComponent); var i:Integer; begin inherited; for i:= 0 to Length(Buttons)-1 do begin Buttons[i]:=TButton.Create(self); Buttons[i].Parent:=Self; Buttons[i].Left:=20 * i; Buttons[i].Width:=20; end; end; destructor TPanelButtons5.Destroy; var i:Integer; begin for i:= 0 to Length(Buttons)-1 do Buttons[i].Free; inherited; end; function TPanelButtons5.GetButtonVisible(Index: integer): Boolean; begin Result:=Buttons[Index].Visible; end; procedure TPanelButtons5.SetButtonVisible(Index: integer; const Value: Boolean); begin Buttons[Index].Visible:=Value; end; {TForm1} procedure TForm1.FormCreate(Sender: TObject); begin PB5:=TPanelButtons5.Create(self); PB5.Width:=100; PB5.Height:=50; PB5.Parent:=Form1; end; procedure TForm1.FormDestroy(Sender: TObject); begin PB5.Free; end; procedure TForm1.Button1Click(Sender: TObject); begin PB5.ButtonVisible[StrToInt(Edit1.Text)]:=not PB5.ButtonVisible[StrToInt(Edit1.Text)]; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.