1

Delphi とリッチ エディットを使用して、私が書いているまさにこのエディターの行に沿って何かを複製する必要があります。

どうすればこれを達成できますか?

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

4

1 に答える 1

7

OK、今私は問題を見ていると思います。とがTRichEditありTButtonます。次に、次のようなことをします

procedure TForm1.Button1Click(Sender: TObject);
begin
  with RichEdit1.SelAttributes do
    Style := Style + [fsBold];
end;

をクリックするとリッチ エディット コントロールがフォーカスを失うという事実に悩まされますButton1。通常TToolButton、a の aTToolbarを「太字」ボタンとして使用します。TToolButtonaはウィンドウ コントロールではないため、これによってエディターがフォーカスを失うことはありません。

TToolBara (または同等のコントロール)を使用したくない場合は、単に a のTSpeedButton代わりに a を使用しTButtonます。

ただし、これを行う通常の方法は、TActionList. そのようなコントロールをフォームにドロップしてから、新しいアクションを追加して、それを呼び出しますActnBold。キャプションを'Bold'に、ヒントを に設定し'Make the selection bold.'、ショートカットを追加して、Ctrl+B書き込みます

with RichEdit1.SelAttributes do
  Style := Style + [fsBold];

そのOnExecuteイベントで。次に、コントロールのプロパティを に設定するだけで、このアクションを任意のボタン、スピード ボタン、ツールバー ボタン、メニュー項目などに関連付けることができます。ActionActnBold

のようなウィンドウ化されたコントロールを本当に本当に使いたい場合はTButton、次のことができます。

procedure TForm1.Button1Click(Sender: TObject);
begin
  with RichEdit1.SelAttributes do
    Style := Style + [fsBold];
  RichEdit1.SetFocus;
end;

しかし、それは美しくありません(IMHO)。

于 2011-04-18T19:20:58.900 に答える