6
TCustomControl
を継承するTEdit
とTButton
(はい、私は約TButtonedEdit
を知っています)からなる複合コンポーネントがあります。編集とボタンはコンストラクタで作成され、それ自体に配置されます。複合コンポーネントの選択ボックスが正しく描画されない
選択ボックスが適切に描画されていません - 私の推測では、編集とボタンがカスタムコントロール用に描画されてから隠されているためです。ここで
比較:私も他のサードパーティのコンポーネントのためにこれを見ている
質問(TcxGridのようにも唯一の選択インジケータの外側部分を描く):どのようにすることができます私はそれを変える?再生する
ほとんどの単純なケース:
unit SearchEdit;
interface
uses
Classes, Controls, StdCtrls;
type
TSearchEdit = class(TCustomControl)
private
fEdit: TEdit;
public
constructor Create(AOwner: TComponent); override;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Custom', [TSearchEdit]);
end;
{ TSearchEdit }
constructor TSearchEdit.Create(AOwner: TComponent);
begin
inherited;
fEdit := TEdit.Create(Self);
fEdit.Parent := Self;
fEdit.Align := alClient;
end;
end.
はどのデルファイのバージョン、場合、それは –
重要しかし、私はあなたがすべての運を持ってしようとしているとは思いません。私は選択インジケータがコントロールウィンドウプロシージャをフックするIDEによって実装されていると思います。あなたのコントロールは子供の前に塗られています。 –
おそらく私の頭の上から一番簡単なのは、デザイン時に自分の絵を設定することです。 – Graymatter