抽象的な質問でしたらすいません・・
MsAccessから乗り換えでDelphi頑張ってます。
では質問・・
Form1にTTableを配置。
レイアウトの関係上、そのテーブルデーターを
Canvas.TextOutにて、文字列を表示しました。(これはできました)
何か考え方のヒントでもよいのですが・・
1.表示した文字列のフォーカスの取得及び編集
2.選択しているレコードの取得
3.ページダウンキーなどの操作(どのコンポーネント?)
大まかすぎるでしょうか??
DBGrid等の例などはよく本等にでているのですが・・
宜しくお願いします。
もう少しやりたいことを整理してみてください。
そのまま回答するならば、
1.
TextOutで出力した文字は、絵と同じです。文字としてのデータは残っていません。グラフィックに対してフォーカスを与えることも、文字として編集し直すこともできません。
代替案として、枠なしのTEditを配置するという手もあります。
2.
TTableの選択レコードでしょうか。
FieldListプロパティがそれっぽいです。
# 未確認
3.
1と同じ理由で、描画したデータはキーを受け取れません。
ハンドルを持つコンポーネントで、キーを取得してデータを操作することは可能です。TTableのNext,Priorメソッドを参照してください。
にしのさんレスいつもすいません・・
1レコードを複数行で表示するグリッドを作製
する為
1.DBCtrlGridを配置。
2.その上にDBEditを配置して、10レコード
分表示していました。(数値データー)
が、DbEditのデーターの編集において、
DBEdit上に線がひけない(ケタ区切りになるよう)
編集の際、左寄せとなってしまう
等不都合を感じました。
そこで、その解消にはCanvasで自分で描画する
しかないと考えたのですが・・
上下キーで移動なら、
http://home1.infonia.ne.jp/~delphian/delphi/
にあります。
継承元がTCustomMaskEditなので、編集時に左寄せされてしまうのは仕様ですね。
やるとしたら、自前で描画ということになりますが、その場合はかなり面倒ですよ。
TDBEditに入っているデータを、右寄せできるEditコンポーネントに写し、そちらで編集させた方がはやいかもしれません。
http://www.torry.net
などで、そういうコンポーネントがあるか探してみては?
にしのさんレス本当にありがとうございます。
探してみます!!
どうも根本的に理解していないみたいです。
もうひとついいですか?
DBCtrlGridにフォーカスがある時は
PageUp・Downがききますが、
DBCtrlGrid上のEDEditにフォーカスが
ある時はききません。
(常時DBEditにフォーカスがあるように設計)
DBCtrlGridのイベントに何か必要ですか?
ツイート | ![]() |