memo1の何行目かを知りたい

解決


AS  2018-03-05 01:51:48  No: 49034

mouseでクリックした行が表示されている中の何行目かを知るために、Memo1MouseDownで得られるyを使って、gyo:=y div 19;  と計算します。

この19という数字はfontを変更したら変わりますが、この19という数字を
調べる関数はありますか?

先の「memo1の行数は?」の質問で得られる表示されている行数とHeightを使って逆算できるのですが、直接知る方法は無いのでしょうか?

あれば、何をどうやって調べたらいいのかを教えていただけませんか?

よろしくお願いします。


KONNOYA  2018-03-05 02:59:06  No: 49035

つまり、TMemoのキャレットの居る行番号を取得したい。という事ですか?

procedure TForm1.Memo1MouseDown( Sender : TObject; Button : TMouseButton; Shift : TShiftState; X, Y : Integer );

begin
  Caption := IntToStr( Memo1.Perform( EM_LINEFROMCHAR, WPARAM( Memo1.SelStart ), LPARAM( 0 ) ) );
end;


通りすがり  2018-03-05 04:31:18  No: 49036

一応これも置いときますね

Edit Control Messages (Windows)
https://msdn.microsoft.com/en-us/library/windows/desktop/ff485923.aspx


AS  2018-03-05 12:58:32  No: 49037

KONNOYA様、通りすがり様、ありがとうございます。

高校の時英語には自信があったのですが、ちょっと無理でした。
キャレットって何とか思いましたし。
皆さんはやっぱり偉い人たちなんですね。

ありがとうございました。


Mr.XRAY  2018-03-05 22:14:31  No: 49038

>高校の時英語には自信があったのですが、ちょっと無理でした。 

こんな方法もあります.

[ 英語が苦手な場合 ]
http://mrxray.on.coocan.jp/Delphi/Others/A_Win32APIHelp02.htm#07

翻訳のアドオンツールもあります.
是非活用したいところです.
私の場合,使いまくりです (笑)


通りすがり  2018-03-06 00:02:26  No: 49039

昔は日本語の情報もあったんですけどね…MSが面倒になって自動翻訳に丸投げしたのはいいけどBing翻訳の酷さといったら。

eternalwindowsさんの
http://eternalwindows.jp/control/edit/edit00.html
とかも参考にどうぞ。

というよりMSDNのページで適当にキーワードを見繕ったらそれをググれば日本語の情報も見つかります。その程度の手間は他人に押しつけずに自分で調べましょう、という話です。みんなが偉いわけではなく、ASさんが偉くないだけです。


KONNOYA  2018-03-06 04:37:34  No: 49040

英文で書かれたページは、Google Chromeを使っていれば、
右クリックで「日本語に翻訳(T)」というのがあるので私はそれを使っています。

キャレットより、カーソルと言った方が良かったですね。すみません。

余談ですが、昔はDelphi談話室という所で、トンチンカンな質問をしたりして、
困らせた事が多々あります。
※ Halbow様とMr.XRAY様には足を向けて寝れません(汗
プログラミングも奥が深くて、世の中判らない事ばかりです。
恥かいても動けば結果オーライ。今もそれでやってます。

頑張って下さい。


AS  2018-03-09 06:15:33  No: 49041

皆さん、いろいろとご助言いただいて、ありがとうございます。

正直、自分は年だからという甘えがあるやと思います。
ところが、あるところで私は〇〇歳前なのでと言ったら、
私もそうですよと言われました。
それで頑張ってみようかなという気になったのですが、無理と思いました。
目が悪いので小説すら読めませんし、文字を読んでも頭に入りませんし。

皆さんもかなりの高齢の方と推測していますが、頑張ってここを盛り上げてください。
今、音声合成のことでVBとかのQ&Aを見ても、昔の繁栄はどこに行った??
と思うような状況ですよね。


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








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