2012-09-04 62 views
0

提供我使用的奧菲斯控制V4.08用Delphi XE2一起和我面對下面描述的問題。問題與TOvcTCCheckBox由奧菲斯控制

我正在使用TOvcTable,其中一列是TOvcTCCheckBox。此表是可編輯的。在運行時複選框列可以選中或取消選中。

現在檢查這個專欄中,我需要點擊兩次此列。

這是在Delphi 4做工精細與奧菲斯控制版本V3.08。複選框列在單擊時被選中/取消選中。

注:有是設置爲true,在上述兩種情況下,一個屬性AcceptActivationClick。

是否有此問題的任何解決方法嗎?

+0

任何人都可以對奧菲斯控制創造新的標籤? – Dev

回答

1

這裏是一個workaraound:使用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