stringGrid의 사용이 어렵네요.
제가 하고 싶은 것은 두개의 폼에서 Form1은 StringGrid를 사용하고 있습니다.
그리드 선택한 한라인 단위로 되도록 되어 있습니다.
라인 단위로 클릭을 하면 선택된 라인이 Form2의 Memo에서 Text로 뜨게끔 하고 싶은데..
Form1에서 선택된 라인을 Form으로 넘겨 주려면 어떻게 해야 하나요?
질문과 답변을 모두 찾아서 onSelectCell을 사용하라는 것을 알았는데 사용법을 잘 모르겠거든요. 제가 작성한 프로그램은 요렇습니다.
Form1에서는 대충 요렇게 했습니다.
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
Result1.show;
end;
Form2에서는
procedure TResult1.FormCreate(Sender: TObject);
var
i,j:integer;
aaa,sss : string;
begin
for j := Form1.StringGrid1.Selection.Top to Form1.StringGrid1.Selection.Bottom do
begin
for i := Form1.StringGrid1.Selection.Left to Form1.StringGrid1.Selection.Right do
begin
aaa := Form1.StringGrid1.Cells[i,0];
sss := Form1.StringGrid1.Cells[j,i];
Memo1.Text := Memo1.Text + aaa + ' : ' + sss;
Memo1.Text := Memo1.Text + #13#10;
end;
end;
요렇게 했더니 다른라인을 클릭해도 첫번째 라인만 출력되네요.
부탁드립니다. 고수님들은 보고 웃으실지 모르지만 저는 무지 오랫동안 고민하고 있습니다.
procedure TResult1.FormCreate(Sender: TObject);
var
x, y: Integer;
aaa: String;
begin
for y := Form1.StringGrid1.Selection.Top to Form1.StringGrid1.Selection.Bottom do
begin
aaa := '';
for x := Form1.StringGrid1.Selection.Left to Form1.StringGrid1.Selection.Right do
aaa := aaa + ' : ' + Form1.StringGrid1.Cells[x,y];
Memo1.Lines.add(aaa);
end;
end;
>stringGrid의 사용이 어렵네요.
>제가 하고 싶은 것은 두개의 폼에서 Form1은 StringGrid를 사용하고 있습니다.
>그리드 선택한 한라인 단위로 되도록 되어 있습니다.
>라인 단위로 클릭을 하면 선택된 라인이 Form2의 Memo에서 Text로 뜨게끔 하고 싶은데..
>Form1에서 선택된 라인을 Form으로 넘겨 주려면 어떻게 해야 하나요?
>질문과 답변을 모두 찾아서 onSelectCell을 사용하라는 것을 알았는데 사용법을 잘 모르겠거든요. 제가 작성한 프로그램은 요렇습니다.
>
>Form1에서는 대충 요렇게 했습니다.
>procedure TForm1.StringGrid1Click(Sender: TObject);
>begin
> Result1.show;
>end;
>
>Form2에서는
>procedure TResult1.FormCreate(Sender: TObject);
>var
>i,j:integer;
>aaa,sss : string;
>
>begin
> for j := Form1.StringGrid1.Selection.Top to Form1.StringGrid1.Selection.Bottom do
> begin
> for i := Form1.StringGrid1.Selection.Left to Form1.StringGrid1.Selection.Right do
> begin
> aaa := Form1.StringGrid1.Cells[i,0];
> sss := Form1.StringGrid1.Cells[j,i];
> Memo1.Text := Memo1.Text + aaa + ' : ' + sss;
> Memo1.Text := Memo1.Text + #13#10;
> end;
>end;
>
>요렇게 했더니 다른라인을 클릭해도 첫번째 라인만 출력되네요.
>부탁드립니다. 고수님들은 보고 웃으실지 모르지만 저는 무지 오랫동안 고민하고 있습니다.