如果不用皮肤,那个DbLookupTreeView很正常,用了皮肤,第一次点DbLookupTreeView,出现了错误,错误标示指向该函数的第一行,见下。以上是在IDE中运行,如果编译成exe,会出错,弹出一个内存犯规的错误,但第二次以后点就正常了。procedure TCustomdxTreeView.CNNotify(var Message: TWMNotify);
var
pnmlv: PNMLVCustomDraw;
tr: TTreeNode;
htr: HTReeItem;
Color, BkColor: TColor;
St: String;
begin
if (Message.nmhdr^.code = NM_CUSTOMDRAW) {$IFDEF DELPHI5}and not (Assigned(OnAdvancedCustomDraw)
or Assigned(OnAdvancedCustomDrawItem)){$ENDIF} then
begin
pnmlv := PNMLVCustomDraw(TMessage(Message).lParam);
if pnmlv^.nmcd.dwDrawStage = CDDS_PREPAINT then
var
pnmlv: PNMLVCustomDraw;
tr: TTreeNode;
htr: HTReeItem;
Color, BkColor: TColor;
St: String;
begin
if (Message.nmhdr^.code = NM_CUSTOMDRAW) {$IFDEF DELPHI5}and not (Assigned(OnAdvancedCustomDraw)
or Assigned(OnAdvancedCustomDrawItem)){$ENDIF} then
begin
pnmlv := PNMLVCustomDraw(TMessage(Message).lParam);
if pnmlv^.nmcd.dwDrawStage = CDDS_PREPAINT then
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货