要取得目前页面大小可用如下方法: function GetpageSize (ScrollBar: TScrollBar): Integer; var ScrollInfo: TScrollInfo; begin if HandleAllocated then begin ScrollInfo.cbSize := SizeOf (ScrollInfo); ScrollInfo.fMask := SIF_PAGE; GetScrollInfo (ScrollBar.Handle, SB_CTL, ScrollInfo); Result := ScrollInfo.nPage; end; end; -------------------------------------------------------------------------------- 第四部分 Bound Controls
procedure TMyComponent.SetDataSource(Value: TDataSource); begin if Value <> FDataSource then begin FDataSource := Value; // 告诉参考组件说,当它被移除时记得通知我一声。 if FDataSource <> nil then FDataSource.FreeNotification(Self) end; end;
procedure TMyComponent.Notification(AComponent: TComponent; Operation:TOperation); begin inherited Notification(AComponent, Operation); // 如果被移除的正是参考组件,把FDataSource字段清除。 if (Operation = opRemove) and (AComponent = FDataSource) then FDataSource := nil end;