Delphi とリッチ エディットを使用して、私が書いているまさにこのエディターの行に沿って何かを複製する必要があります。
どうすればこれを達成できますか?
ありがとうございました。
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)。