13,825
社区成员
发帖
与我相关
我的任务
分享
void __fastcall TfrmCompare::FormCreate(TObject *Sender)
{
this->l1 = ListView1->WindowProc;
this->l2 = ListView2->WindowProc;
ListView1->WindowProc = MyProcList1;
ListView2->WindowProc = MyProcList2;
}
//---------------------------------------------------------------------------
void __fastcall TfrmCompare::MyProcList1(TMessage &message)
{
l1(message);
if(message.Msg == WM_VSCROLL || message.Msg == SB_VERT)
{
l2(message);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmCompare::MyProcList2(TMessage &message)
{
l2(message);
if(message.Msg == WM_VSCROLL || message.Msg == SB_VERT)
{
l1(message);
}
}
ListView2->Items->Item[ListView1->TopItem->Index]->MakeVisible(true);
奇怪的是每次向下滚动时,ListView2总是落后一个显示屏高度的条数,例如listView2能显示10条记录,那么就落10条记录,原因也是没弄清楚)ListView2->Items->Item[ListView1->TopItem->Index]->MakeVisible(true);
ListView1->Items->Item[ListView2->TopItem->Index]->MakeVisible(true);