過去の質問にもあったのですが解決となっていなかったため質問させていただきます。
StringGridで列数が多く横スクロールバーが表示された状態でoptionsのgoRowSelectをTRUEにするとセルを選択した際に横スクロールバーが端に戻ってしまうのを抑制するにはどうしたらよいでしょうか。
開発環境はdelphi2007です。
よろしくお願いいたします。
procedure TCustomGrid.MoveCurrent(ACol, ARow: Longint; MoveAnchor,
のなかの
if Show then ClampInView(FCurrent);
をけせば・・・
KHE00221様
ご回答ありがとうございます。
初心者にもう少しお付き合いいただければと思います。
procedure TCustomGrid.MoveCurrentはどこに記載されているのでしょう。
ソースを探してみましたが見当たりません。
どうぞよろしくお願いいたします。
2007もってないから知らんけど
TCustomGrid が見つからない? MoveCurrent が見つからない?
こんにちは,Mr.XRAYです.
>TCustomGrid が見つからない? MoveCurrent が見つからない?
今,見ましたが,少なくとも私の Delphi 2007-R2 Pro にはあります.
もしかしたら,Delphiのバージョンで何かが変わった場合も考えて,
念のため,Delphi 5, 6, 7, 2007, 2010, XE で調べましたが,全てあります.
検索は,
TCustomGrid.MoveCurrent
という文字列でやってみました.
Mr.XRAYです.夜中に帰宅して,かなり酔っていましたね.
肝心なことを訊くのを忘れていました.
>ソースを探してみましたが見当たりません。
どんな風に,どんな手段.方法で探したのでしょうか?
KHE00221様
Mr.XRAY様
ご回答ありがとうございます。
クラスの検索からTCustomGrid.MoveCurrentを見つけることは出来たのですが、
if Show then ClampInView(FCurrent);を消してみても
横スクロールバーが戻ってしまう状態です。
何かご存知でしたらもう少しお付き合いいただければと思います。
元のソースを変更しても、それはコンパイルされないので
自分のプロジェクトがあるところに Grids.pas をコピーして
それを編集して下さい
KHE00221様
ありがとうございました。
無事思った通りの動作になりました。
解決とさせていただきます。
ツイート | ![]() |