⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aqdockingui.pas.~1~

📁 AutomatedDocking Library 控件源代码修改 适合Delphi 2009 和C++ Builder 20009 使用。 修正汉字不能正确显示问题
💻 ~1~
📖 第 1 页 / 共 5 页
字号:
end;

procedure TaqDockingUIStyle.DrawControl(ACanvas: TCanvas;
  ARect: TRect; AKind: TaqDockControlDrawKind);
begin
  if Assigned(FOnDrawControl) then
    FOnDrawControl(Self, ACanvas, ARect, AKind)
  else
    DoDrawControl(ACanvas, ARect, AKind);
end;

procedure TaqDockingUIStyle.DrawHiddenTabItem(ACanvas: TCanvas;
  ARect: TRect; const AText: string; AState: TaqTabItemState;
  AOrientation: TaqHideZoneOrientation; APosition: TaqTabItemPosition; ADrawImage, ADrawText: Boolean;
  AImages: TCustomImageList; AImageIndex: Integer);
begin
  DoDrawHiddenTabItem(ACanvas, ARect, AText, AState, AOrientation, APosition,
    ADrawImage, ADrawText, AImages, AImageIndex);
end;

procedure TaqDockingUIStyle.DrawHideZone(ACanvas: TCanvas; ASiteRect, ARect: TRect;
  AOrientation: TaqHideZoneOrientation);
begin
  DoDrawHideZone(ACanvas, ASiteRect, ARect, AOrientation);
end;

procedure TaqDockingUIStyle.DrawSplitter(ACanvas: TCanvas; ARect: TRect;
  AOrientation: TaqSplitterOrientation);
begin
  if Assigned(FOnDrawSplitter) then
    FOnDrawSplitter(ACanvas, ARect, AOrientation)
  else
    DoDrawSplitter(ACanvas, ARect, AOrientation);
end;

procedure TaqDockingUIStyle.DrawTabButton(ACanvas: TCanvas; ARect: TRect;
  AState: TaqTabButtonState; AKind: TaqTabButtonKind);
begin
  if Assigned(FOnDrawTabButton) then
    FOnDrawTabButton(Self, ACanvas, ARect, AState, AKind)
  else
    DoDrawTabButton(ACanvas, ARect, AState, AKind);
end;

procedure TaqDockingUIStyle.DrawTabItem(ACanvas: TCanvas; ARect: TRect;
  const AText: string; AState: TaqTabItemState;
  APosition: TaqTabItemPosition; AOrientation: TaqOrientation;
  AButtonAreaWidthBefore: Integer; AButtonAreaWidthAfter: Integer; ADrawImage: Boolean;
  AImages: TCustomImageList; AImageIndex: Integer);
begin
  if Assigned(FOnDrawTabItem) then
    FOnDrawTabItem(Self, ACanvas, ARect, AText, AState, APosition, AOrientation,
      AButtonAreaWidthBefore, ADrawImage, AImages, AImageIndex)
  else
    DoDrawTabItem(ACanvas, ARect, AText, AState, APosition, AOrientation,
      AButtonAreaWidthBefore, AButtonAreaWidthAfter, ADrawImage, AImages, AImageIndex);
end;

procedure TaqDockingUIStyle.DrawTabPane(ACanvas: TCanvas; ARect: TRect;
  AOrientation: TaqTabOrientation);
begin
  if Assigned(FOnDrawTabPane) then
    FOnDrawTabPane(Self, ACanvas, ARect, AOrientation)
  else
    DoDrawTabPane(ACanvas, ARect, AOrientation);
end;

procedure TaqDockingUIStyle.DrawTabTarget(ACanvas: TCanvas; ARect: TRect);
begin
  if Assigned(FOnDrawTabTarget) then
    FOnDrawTabTarget(Self, ACanvas, ARect)
  else
    DoDrawTabTarget(ACanvas, ARect);
end;

procedure TaqDockingUIStyle.EndUpdate;
begin
  Dec(FUpdateCount);
  Assert(FUpdateCount >= 0);
  if FUpdateCount = 0 then
    Change;
end;

procedure TaqDockingUIStyle.FontChange(Sender: TObject);
begin
  Change;
end;

function TaqDockingUIStyle.GetCaption: string;
begin
  if Predefined then
    Result := aqDockingUIStyles.Names[TaqDockingUiStyleClass(ClassType)]
  else
    Result := FCaption;
end;

function TaqDockingUIStyle.GetCaptionHeight(AState: TaqDockCaptionState; ADrawImage: Boolean;
  AImages: TCustomImageList; AImageIndex: Integer): Integer;
begin
  if Assigned(FOnGetCaptionHeight) then
  begin
    Result := 0;
    FOnGetCaptionHeight(Self, AState, ADrawImage, AImages, AImageIndex, Result); 
  end
  else
    Result := DoGetCaptionHeight(AState, ADrawImage, AImages, AImageIndex);
end;

function TaqDockingUIStyle.GetHiddenTabHeight(AState: TaqTabItemState;
  AOrientation: TaqHideZoneOrientation; ADrawImage, ADrawText: Boolean;
  AImages: TCustomImageList; AImageIndex: Integer): Integer;
begin
  Result := DoGetHiddenTabHeight(AState, AOrientation, ADrawImage, ADrawText, AImages, AImageIndex);
end;

function TaqDockingUIStyle.GetHiddenTabWidth(const AText: string;
  AState: TaqTabItemState; AOrientation: TaqHideZoneOrientation; APosition: TaqTabItemPosition;
  ADrawImage, ADrawText: Boolean; AImages: TCustomImageList;
  AImageIndex: Integer): Integer;
begin
  Result := DoGetHiddenTabWidth(AText, AState, AOrientation, APosition, ADrawImage, ADrawText, AImages, AImageIndex);
end;

function TaqDockingUIStyle.GetHideZoneHeight(
  AOrientation: TaqHideZoneOrientation; ADrawImage, ADrawText: Boolean;
  AImages: TCustomImageList): Integer;
begin
  Result := DoGetHideZoneHeight(AOrientation, ADrawImage, ADrawText, AImages);
end;

function TaqDockingUIStyle.GetIndex: Integer;
begin
  Assert(FStyleManager <> nil);
  Result := FStyleManager.Items.FStyles.IndexOfObject(Self);
end;

function TaqDockingUIStyle.GetMetric(
  AMetric: TaqDockingUIMetric): Integer;
begin
  Result := FMetrics[AMetric];
end;

function TaqDockingUIStyle.GetNamePath: string;
begin
  if (Owner = FStyleManager) and (FStyleManager <> nil) then
  begin
    Result := FStyleManager.Name + '.' + Name;
    if FStyleManager.Owner <> nil then
      Result := FStyleManager.Owner.Name + '.' + Result;
  end
  else
    Result := inherited GetNamePath;
end;

function TaqDockingUIStyle.GetCaptionButtonSize: TPoint;
begin
  Result := Point(Round(CaptionButtonSize * CaptionButtonWidthRatio), CaptionButtonSize);
end;

function TaqDockingUIStyle.GetParentComponent: TComponent;
begin
  Result := FStyleManager;
end;

function TaqDockingUIStyle.GetTabHeight(AState: TaqTabItemState;
  AOrientation: TaqTabOrientation; ADrawImage: Boolean;
  AImages: TCustomImageList; AImageIndex: Integer): Integer;
begin
  if Assigned(FOnGetTabHeight) then
  begin
    Result := 0;
    FOnGetTabHeight(Self, AState, AOrientation, ADrawImage, AImages, AImageIndex, Result);
  end
  else
    Result := DoGetTabHeight(AState, AOrientation, ADrawImage, AImages, AImageIndex);
end;

function TaqDockingUIStyle.GetTabPaneHeight(
  AOrientation: TaqTabOrientation; ADrawImage: Boolean;
  AImages: TCustomImageList): Integer;
begin
  if Assigned(FOnGetTabPaneHeight) then
  begin
    Result := 0;
    FOnGetTabPaneHeight(Self, AOrientation, ADrawImage, AImages, Result);
  end
  else
    Result := DoGetTabPaneHeight(AOrientation, ADrawImage, AImages);
end;

function TaqDockingUIStyle.GetTabWidth(const AText: string; AState: TaqTabItemState;
  APosition: TaqTabItemPosition; AOrientation: TaqTabOrientation; AButtonAreaWidth: Integer;
  ADrawImage: Boolean; AImages: TCustomImageList; AImageIndex: Integer): Integer;
begin
  if Assigned(FOnGetTabWidth) then
  begin
    Result := 0;
    FOnGetTabWidth(Self, AText, AState, APosition, AOrientation, AButtonAreaWidth,
      ADrawImage, AImages, AImageIndex, Result);
  end
  else
    Result := DoGetTabWidth(AText, AState, APosition, AOrientation,
      AButtonAreaWidth, ADrawImage, AImages, AImageIndex);
end;

function TaqDockingUIStyle.GetTabButtonsBounds(ACanvas: TCanvas; ARect: TRect; ButtonSize: TPoint): TRect;
begin
  if Assigned(FOnGetTabButtonsBounds) then
  begin
    Result := Rect(0, 0, 0, 0);
    FOnGetTabButtonsBounds(Self, ACanvas, ARect, ButtonSize);
  end
  else
    Result := DoGetTabButtonsBounds(ACanvas, ARect, ButtonSize);
end;

function TaqDockingUIStyle.HasParent: Boolean;
begin
  Result := FStyleManager <> nil;
end;

procedure TaqDockingUIStyle.ReadCaption(Reader: TReader);
begin
  Caption := Reader.ReadString;
end;

procedure TaqDockingUIStyle.ReadPredefined(Reader: TReader);
begin
  FPredefined := Reader.ReadBoolean;
  if FPredefined then
    UpdateCaption('');
end;

procedure TaqDockingUIStyle.ReadState(Reader: TReader);
begin
  inherited;
  FStyleManager := TaqStyleManager(Reader.Parent);
end;

procedure TaqDockingUIStyle.RegisterChanges(ALink: TaqStyleChangeLink);
begin
  if FLinks <> nil then
  begin
    ALink.Sender := Self;
    FLinks.Add(ALink);
    if ALink.Owner <> nil then
      FreeNotification(ALink.Owner);
  end;
end;

procedure TaqDockingUIStyle.SetActiveHiddenTabFont(const Value: TFont);
begin
  if Value <> nil then
    FActiveHiddenTabFont.Assign(Value)
  else
  begin
    FActiveHiddenTabFont.Free;
    FActiveHiddenTabFont := TFont.Create;
  end;
end;

procedure TaqDockingUIStyle.SetActiveCaptionFont(const Value: TFont);
begin
  if Value <> nil then
    FActiveCaptionFont.Assign(Value)
  else
  begin
    FActiveCaptionFont.Free;
    FActiveCaptionFont := TFont.Create;
  end;
end;

procedure TaqDockingUIStyle.SetActiveTabFont(const Value: TFont);
begin
  if Value <> nil then
    FActiveTabFont.Assign(Value)
  else
  begin
    FActiveTabFont.Free;
    FActiveTabFont := TFont.Create;
  end;
end;

procedure TaqDockingUIStyle.SetHiddenTabFont(const Value: TFont);
begin
  if Value <> nil then
    FHiddenTabFont.Assign(Value)
  else
  begin
    FHiddenTabFont.Free;
    FHiddenTabFont := TFont.Create;
  end;
end;

procedure TaqDockingUIStyle.SetCaption(const Value: string);
begin
  if FCaption <> Value then
  begin
    UpdateCaption(Value);
    aqIDEDesigner.Modified(Self);
  end;
end;

procedure TaqDockingUIStyle.SetCaptionButtonSize(const Value: Integer);
begin
  if FCaptionButtonSize <> Value then
  begin
    FCaptionButtonSize := Value;
    Change;
  end;
end;

procedure TaqDockingUIStyle.SetCaptionButtonWidthRatio(const Value: Real);
begin
  if Round(Value * CaptionButtonSize) <> Round(CaptionButtonWidthRatio * CaptionButtonSize) then
  begin
    FCaptionButtonWidthRatio := Value;
    Change;
  end;
end;

procedure TaqDockingUIStyle.SetCaptionFont(const Value: TFont);
begin
  if Value <> nil then
    FCaptionFont.Assign(Value)
  else
  begin
    FCaptionFont.Free;
    FCaptionFont := TFont.Create;
  end;
end;

procedure TaqDockingUIStyle.SetMetric(AMetric: TaqDockingUIMetric;
  const Value: Integer);
begin
  if Value <> FMetrics[AMetric] then
  begin
    CheckMetric(AMetric, Value);
    FMetrics[AMetric] := Value;
    Change;
  end;
end;

procedure TaqDockingUIStyle.SetMetrics(const AMetrics: TaqMetrics);
var
  Metric: TaqDockingUIMetric;
begin
  for Metric := Low(TaqDockingUIMetric) to High(TaqDockingUIMetric) do
  begin
    CheckMetric(Metric, AMetrics[Metric]);
    FMetrics[Metric] := AMetrics[Metric];
  end;
  Change;
end;

procedure TaqDockingUIStyle.SetParentComponent(AParent: TComponent);
begin
  if not (csLoading in ComponentState) then
    FStyleManager := AParent as TaqStyleManager;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -