我正在使用Orpheus控件v4.08和Delphi XE2,我正面临下面描述的问题。
我正在使用TOvcTable,其中一个列是TOvcTCCheckBox。此表是可编辑的。在运行时,可以选中或取消选中复选框列。
现在要检查此列,我需要单击此列两次。
这在Delphi 4中使用Orpheus控制版本v3.08正常工作。单击“选中/取消选中”复选框列。
注意:在上述两种情况下,都有一个属性AcceptActivationClick设置为true。
此问题是否有解决方法?
答案 0 :(得分:1)
这是一个工作区:使用OvcTable的MouseDown-Event如下:
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