Canvas.TextOutのデーターセット

解決


Kikumi  2003-02-04 19:18:17  No: 2786

抽象的な質問でしたらすいません・・
MsAccessから乗り換えでDelphi頑張ってます。
では質問・・
Form1にTTableを配置。
レイアウトの関係上、そのテーブルデーターを
Canvas.TextOutにて、文字列を表示しました。(これはできました)

何か考え方のヒントでもよいのですが・・
1.表示した文字列のフォーカスの取得及び編集
2.選択しているレコードの取得
3.ページダウンキーなどの操作(どのコンポーネント?)

大まかすぎるでしょうか??
DBGrid等の例などはよく本等にでているのですが・・
宜しくお願いします。


にしの  2003-02-04 19:45:52  No: 2787

もう少しやりたいことを整理してみてください。
そのまま回答するならば、
1.
  TextOutで出力した文字は、絵と同じです。文字としてのデータは残っていません。グラフィックに対してフォーカスを与えることも、文字として編集し直すこともできません。
  代替案として、枠なしのTEditを配置するという手もあります。

2.
TTableの選択レコードでしょうか。
FieldListプロパティがそれっぽいです。
# 未確認

3.
1と同じ理由で、描画したデータはキーを受け取れません。
ハンドルを持つコンポーネントで、キーを取得してデータを操作することは可能です。TTableのNext,Priorメソッドを参照してください。


Kikumi  2003-02-04 20:29:09  No: 2788

にしのさんレスいつもすいません・・

1レコードを複数行で表示するグリッドを作製
する為
1.DBCtrlGridを配置。
2.その上にDBEditを配置して、10レコード
    分表示していました。(数値データー)
が、DbEditのデーターの編集において、
DBEdit上に線がひけない(ケタ区切りになるよう)
編集の際、左寄せとなってしまう
等不都合を感じました。
そこで、その解消にはCanvasで自分で描画する
しかないと考えたのですが・・


にしの  2003-02-04 21:25:42  No: 2789

上下キーで移動なら、
http://home1.infonia.ne.jp/~delphian/delphi/
にあります。
継承元がTCustomMaskEditなので、編集時に左寄せされてしまうのは仕様ですね。
やるとしたら、自前で描画ということになりますが、その場合はかなり面倒ですよ。
TDBEditに入っているデータを、右寄せできるEditコンポーネントに写し、そちらで編集させた方がはやいかもしれません。

http://www.torry.net
などで、そういうコンポーネントがあるか探してみては?


Kikumi  2003-02-04 22:52:41  No: 2790

にしのさんレス本当にありがとうございます。
探してみます!!
どうも根本的に理解していないみたいです。

もうひとついいですか?
DBCtrlGridにフォーカスがある時は
PageUp・Downがききますが、
DBCtrlGrid上のEDEditにフォーカスが
ある時はききません。
(常時DBEditにフォーカスがあるように設計)
DBCtrlGridのイベントに何か必要ですか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加