Delphi とリッチ エディットを使用して、私が書いているまさにこのエディターの行に沿って何かを複製する必要があります。
どうすればこれを達成できますか?
ありがとうございました。
OK、今私は問題を見ていると思います。とがTRichEdit
ありTButton
ます。次に、次のようなことをします
procedure TForm1.Button1Click(Sender: TObject);
begin
with RichEdit1.SelAttributes do
Style := Style + [fsBold];
end;
をクリックするとリッチ エディット コントロールがフォーカスを失うという事実に悩まされますButton1
。通常TToolButton
、a の aTToolbar
を「太字」ボタンとして使用します。TToolButton
aはウィンドウ コントロールではないため、これによってエディターがフォーカスを失うことはありません。
TToolBar
a (または同等のコントロール)を使用したくない場合は、単に a のTSpeedButton
代わりに a を使用しTButton
ます。
ただし、これを行う通常の方法は、TActionList
. そのようなコントロールをフォームにドロップしてから、新しいアクションを追加して、それを呼び出しますActnBold
。キャプションを'Bold'
に、ヒントを に設定し'Make the selection bold.'
、ショートカットを追加して、Ctrl+B
書き込みます
with RichEdit1.SelAttributes do
Style := Style + [fsBold];
そのOnExecute
イベントで。次に、コントロールのプロパティを に設定するだけで、このアクションを任意のボタン、スピード ボタン、ツールバー ボタン、メニュー項目などに関連付けることができます。Action
ActnBold
のようなウィンドウ化されたコントロールを本当に本当に使いたい場合はTButton
、次のことができます。
procedure TForm1.Button1Click(Sender: TObject);
begin
with RichEdit1.SelAttributes do
Style := Style + [fsBold];
RichEdit1.SetFocus;
end;
しかし、それは美しくありません(IMHO)。