2

最近、TDBGridコンポーネントを再コンパイルして、いくつかのカスタム関数を実装しましたが、追加の設計時コンテキストメニュー項目「列エディター」の機能がなくなったことに気づきました。

http://i121.photobucket.com/albums/o210/R33_m/Columns.png

元のユニットでこのメニューを作成するコードを見つけることができず、これVcl.DBGridsを行う方法についてオンラインで解決策を探すのは本当に不運でした。

これはダブルクリックにも当てはまります。以前はColumnsEditorを呼び出していましたが、現在はOnCellClickイベントを作成するだけです。

4

1 に答える 1

5

コンポーネントのデザインタイムパッケージで、コンポーネントエディタを実装します。

type
  TMyComponentEditor = class(TComponentEditor)
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
  end;

procedure TMyComponentEditor.ExecuteVerb(Index: Integer);
begin
  case Index of
  0:
    Beep;
  end;
end;

function TMyComponentEditor.GetVerb(Index: Integer): string;
begin
  Result := 'Beep';
end;

function TMyComponentEditor.GetVerbCount: Integer;
begin
  Result := 1;
end;

このコンポーネントエディタも登録する必要があります。これを行うには、手順を呼び出しRegisterComponentEditorます。Register

RegisterComponentEditor(TMyComponent, TMyComponentEditor);
于 2012-11-22T14:18:43.357 に答える