1. 現在の行番号を取得する方法
リッチエディット(またはメモ)コントロールを使ってテキストエディタを作成する場合、lines??count属性にアクセスすることで総行数を取得することができますが、現在カーソルが置かれている行の行番号を知るのは面倒です。 Delphi はこの属性を提供していないため、位置が特定されます。この重要なエディター関数を実装するには、em_LineFromChar を呼び出す必要があります。以下の手順をお試しください。
まずウィンドウ内にリッチエディットまたはメモ(名前付きエディタ)とボタンを配置します。ボタンの onclick イベントに次のコードを記述します。
変数
現在の行:整数;
始める
CurrentLine:=Editor??Perform(em_ LineFromChar,SFFFF,0);
application??MessageBox(PChar('現在の行番号は'+IntToStr(CurrentLine)),'メッセージ',mb_ iconinformation);
終わり;
最初の行の行番号はゼロであることに注意してください。
2. 操作を元に戻す(アンドゥ)方法
メモの場合、ポップアップメニュー属性が空である限り、元に戻す、切り取り、コピー、貼り付け、削除、選択の 6 つの項目を含む共通の操作メニューを実行時にアクティブにすることができます。全て。 。
しかし、残念ながら、この方法は強力なリッチエディット コントロールでは機能しないため、自分でポップアップ メソッドを設計する必要があります。 CutToClipBoard などのステートメントを使用して「カット」などの機能を簡単かつスムーズに実行しようとすると、「元に戻す」ための undo や cancel などのステートメントが見つからないことに気づくでしょう。
現時点では、次のように処理する必要があります。
RichEdit1??Perform(EM_UNDO,0,0);
また、元に戻すことが許可されているかどうかも確認して、ポップアップ メニューの [元に戻す] 項目をオンまたはオフにする必要があります。
Undo1??Enabled:=RichEdit??Perform(EM_CANUNDO,0,0)<>0;
上記のプログラムは Delphi3 でのデバッグに合格しました