メモの内容を変更する時に行数を保持するには?

解決


サンプー  2007-01-30 00:28:26  No: 24646

DL6 Pro,XPProの環境です
フォームにメモコンポーネントを配置し、データベースよりデータをメモ項目に表示しています。この時、1行目の値をDELキーで削除すると2行目が1行目にきてしまいます。この動作を停める方法をどなたかアドバイスお願いします。

1行目  126000  ←  この行を  DELキーを使って削除すると
2行目    6000      2行目が上にあがってしまう。
3行目    4000
・・    …
・・    …
・・    …
結果
1行目    6000  
2行目    4000
3行目    ・…
・・    …

この動作を制御する方法をどなたかアドバイス下さい。


deldel  2007-01-30 01:18:49  No: 24647

行を消さずに文字を消せばいいのではないかと、ふと思ったりしますが、
そういう訳にもいかないのでしょうねぇ・・・

例えば、Memo ではなくて、ListBox を使用し、行をダブルクリックしたり、
DELキーを押すと、その行の内容を空にするとか。
ListBox1.Items[ListBox1.ItemIndex] := '';


サンプ  2007-01-30 02:32:45  No: 24648

deldelさん有難うございますフォーカスを持っている行番号を取得できれば、ご提案の方法で何とかいけそうなんですが?
フォーカスを持っている行番号を取得する方法がありますか?


サンプー  2007-01-30 02:34:05  No: 24649

追加です
あくまでもメモを利用して行いたいと思います


Sayke  2007-01-30 03:19:24  No: 24650

違ってたらすいません。
>フォーカスを持っている行番号を取得できれば、ご提案の方法で何とかいけ
>そうなんですが?
ShowMessage(IntToStr(SendMessage(Memo1.Handle,EM_LINEFROMCHAR,-1,0) + 1));


サンプー  2007-01-30 18:24:00  No: 24651

saykeさん有難うございました
Saykeさんのご指導の方法により、期待どうりの方法を見つけることができました。有難うございました。
また、お願いします。


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

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






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