我正在尝试覆盖AdvancedCustomDrawItem方法,因为我想让我的所有者TreeView 这是我的尝试:
type TTreeView=class (Vcl.ComCtrls.TTreeView )
protected
procedure AdvancedCustomDrawItem(
Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
var PaintImages, DefaultDraw: Boolean);override;
end;
但是我收到了这个错误: [dcc32错误] Unit1.pas(10):E2137方法'AdvancedCustomDrawItem'在基类中找不到
答案 0 :(得分:2)
您无法覆盖该方法,因为它不存在。从OnAdvancedCustomDrawItem
触发CustomDrawItem
事件,您可以覆盖该事件。在TCustomTreeView
:
function CustomDrawItem(Node: TTreeNode; State: TCustomDrawState;
Stage: TCustomDrawStage; var PaintImages: Boolean): Boolean; virtual;
基础实现会触发OnCustomDrawItem
和OnAdvancedCustomDrawItem
个事件。
如果您想通过这项工作获得任何目标,您需要查阅此控件的源代码。