掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
たくさんの動的コンポーネント表示 (ID:16281)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
皆様、こんにちは。 お知恵を拝借できれば幸いです。 var Form1: TForm1; arrEdt :array[0..499] of TEdit; implementation {$R *.dfm} procedure TForm1.SetArrEdit(intType :Integer); var i,intC,intR : Integer; begin //適当に Panel1.Visible := False; for i := 0 to 499 do begin arrEdt[i].Width := 40; arrEdt[i].Height := 20; arrEdt[i].Parent := Panel1; if intType = 1 then begin if (i mod 2) = 0 then begin arrEdt[i].Visible := False; end else begin arrEdt[i].Visible := True; end; end else begin if (i mod 2) = 0 then begin arrEdt[i].Visible := True; end else begin arrEdt[i].Visible := False; end; end; end; intC := 0; intR := 0; for i := 0 to 499 do begin if intC = 20 then begin intC := 0; intR := intR + 1; end; arrEdt[i].Left := (intC * 40) + 8; arrEdt[i].Top := (intR * 20) + 8; intC := intC + 1; end; Panel1.Visible := True; end; procedure TForm1.FormCreate(Sender: TObject); var i :Integer; begin for i := 0 to 499 do begin arrEdt[i] := TEdit.Create(Self); end end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var i :Integer; begin for i := 0 to 499 do begin arrEdt[i].Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin SetArrEdit(1); end; procedure TForm1.Button2Click(Sender: TObject); begin SetArrEdit(2); end; で、Buton1とButon2の押し変え時にはPanelが一瞬消えて から、ちょっとブランクがあって表示される感じになって どうも、面白くありません。 で、StringGridでつかった SendMessage(StringGrid1.Handle, WM_SETREDRAW, 0, 0); ・・・大量のデータ処理 SendMessage(StringGrid1.Handle, WM_SETREDRAW, 1, 0); StringGrid1.Refresh; みたに、消えてからまた再表示ではなく、処理後にぱっと 切り替わる具合には、ならんものかなと思ってます。 何か、良い方法はないものでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.