お世話になります。
Delphi6使用です。
StringGridでCells[1, Row]に値を入力したときに
同時進行でCells[2, Row]にも同じ値を表示させたいのですが、
簡単なことだとは思うのですが、テンパっているせいなのか、
どのように処理して良いかまったく見当がつきません。
現在、KeyPressで
Cells[2, Row] := Cells[1, Row] ;
とやっているのですが、1文字遅れて表示されます。
(腹話術のいっこく堂さんみたいです)
識者の方、どうかご助言頂けないでしょうか。
何とぞよろしくお願い致します。
KeyPressでは入力が確定されない場合があるので
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
StringGrid1.Cells[2,ARow] := Value ;
end;
起こりましたか?
それは確かに奇妙は現象で、テンパる気も分かるような...
ジツはStringGridには"いっこく堂"さんが本当に棲んでいて、
そういう怪奇現象がたまに起きるんですよ。
....ジョウダンは横に置いといて、
OnKeyPressではなく、OnKeyUpイベントを使えば問題解決^^
でも、なぜOnKeyPressではそんなことが起きるのか、
それはよく考えれば分かること。(ん?よく考えなくても分かった?)
if ACol=1 then を追加
・∀・です。
ご回答ありがとうございます!
>>TSさん
ありがとうございます!
思い描いた通りの動作をしました。
本当にありがとうございました!
>>えっさん
落ち着いてよく考えて判りました(^^;
ホント、お恥ずかしい限りです。
ありがとうございました!
ツイート | ![]() |