0

Orpheus controlv4.08をDelphiXE2と一緒に使用していますが、以下に説明する問題に直面しています。

私はTOvcTableを使用しており、その列の1つはTOvcTCCheckBoxです。このテーブルは編集可能です。実行時にチェックボックスの列をオンまたはオフにすることができます。

この列を確認するには、この列を2回クリックする必要があります。

これは、Orpheus管理バージョンv3.08を使用するDelphi4で正常に機能していました。チェックボックスの列は、シングルクリックでオン/オフになります。

注:上記の両方の場合にtrueに設定される1つのプロパティAcceptActivationClickがあります。

この問題の回避策はありますか?

4

1 に答える 1

1

OvcTable の MouseDown イベントを次のように使用します。

procedure TForm1.OvcTable1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
   RowNum, ColNum: Integer;
begin
   OvcTable1.CalcRowColFromXY(X, Y, RowNum, ColNum);
   if (OvcTable1.Columns.List[ColNum].DefaultCell is TOvcTCCheckBox) and
      ((RowNum <> OvcTable1.ActiveRow) or (ColNum <> OvcTable1.ActiveCol)) then
   begin
      PostMessage(OvcTable1.Handle, ctim_StartEdit, 0, 0);
      PostMessage(OvcTable1.Handle, ctim_StartEditMouse, 0, X + 65536 * Y);
   end;
end;

ソース: http://sourceforge.net/tracker/?func=detail&atid=529790&aid=3562412&group_id=71004

于 2012-09-05T03:51:48.393 に答える