dポイントプレゼントキャンペーン実施中!

Form1のStringGrid1で、画面におさまりきらない行を、Form2から次のようなやり方で遠隔スクロールさせたいのですがうまくいきません。目的の矩形 StringGrid1.Cells[ col, row ] をちゃんとselect しているはずなんですが、その行の位置が画面表示行よりも下方にあるために、それが見えないのです。御教示いただければありがたいのですが。

procedure TForm2.Next1Click(Sender: TObject);
var R : TGridRect;
begin
with R do
begin
Left := Form1.StringGrid1.Col; Top :=Form1.StringGrid1.Row+1;
Right := Form1.StringGrid1.Col; Bottom := Form1.StringGrid1.Row+1;
end;
Form1.StringGrid1.Selection := R;
end;

A 回答 (2件)

WindowsAPIを解説している本やサイトですが、私もあまり見たことがありません。


何せAPIはたくさんあり紹介しきれないからではないかと思います。

私が勉強したのも、昔のことではっきりとしたタイトルは覚えていませんが、
確か「Windows98 API何とかかんとか」といった10cmくらいの厚さの本の2セット本だったような・・・。
あれを見ればAPIについて結構勉強できると思います。(かなり値段は張りますが価値はあると思います。)

回答になっていなくてごめんなさい。
    • good
    • 0
この回答へのお礼

10cm位の厚さの本ですか。すごいですね。タイトルをマメに探してみることにします。ありがとうございました。

お礼日時:2002/04/26 19:50

お書きになっているコードから推測します。


Delphiと思ってよいでしょうか?

文面も少し理解しがたいのですが、

procedure TForm2.BtnDownClick(Sender: TObject);
begin
SendMessage(Form1.StringGrid1.Handle,WM_VSCROLL,SB_LINEDOWN,0);
end;

procedure TForm2.BtnUpClick(Sender: TObject);
begin
SendMessage(Form1.StringGrid1.Handle,WM_VSCROLL,SB_LINEUP,0);
end;

こういうことをしたいのでしょうか?
    • good
    • 0
この回答へのお礼

kenzo-2000 さま、どうもありがとうございました。一発でできました。SendMessage のヘルプは英語で書かれていました。Handleのことなど,基礎がよく分かっていませんので、このヘルプもなかなか理解できません。このようなAPI についてわかりやすく解説してくれている本、あるいはサイトをもしご存知でしたら、教えていただきたいのですが。。。

お礼日時:2002/04/25 00:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!