4

左側にアイコンを追加し、右側にアイコン ボタンを追加するカスタム編集コントロールを作成しています。どちらも編集コントロール内にあります。これには、テキスト (およびカーソル) の開始点を X ピクセル分だけ右にシフトする必要があります。これは、右側のボタン用のスペースを確保するために、テキストを描画できる幅も「制限」する必要があることを意味します。その意図は、ブラウザなどの左側にカスタム アイコンを提供することと、右側に編集コントロールの内容をクリアするための「X」ボタンを提供することです。

子孫Rectでテキストとカーソルを描画する場所をオフセットする方法は?TCustomEdit

4

1 に答える 1

6

より新しいバージョンの Delphi を使用している場合は、すでに TButtonedEdit コントロールが存在し、作業を行うことができます。

そうでない場合は、EM_SETMARGINS メッセージを TCustomEdit に送信して、左右のマージンを設定できると思います。

SendMessage(CustomEdit.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MakeLong(LeftMargin, RightMargin));
于 2012-03-13T02:14:52.917 に答える