📄 dxwinxpbar.pas
字号:
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItemActionLink.IsHintLinked: Boolean;
begin
Result := inherited IsHintLinked and
(FClient.Hint = (Action as TCustomAction).Hint);
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.IsImageIndexLinked
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItemActionLink.IsImageIndexLinked: Boolean;
begin
Result := inherited IsImageIndexLinked and
(FClient.ImageIndex = (Action as TCustomAction).ImageIndex);
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.IsVisibleLinked
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItemActionLink.IsVisibleLinked: Boolean;
begin
Result := inherited IsVisibleLinked and
(FClient.Visible = (Action as TCustomAction).Visible);
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.IsOnExecuteLinked
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItemActionLink.IsOnExecuteLinked: Boolean;
begin
Result := inherited IsOnExecuteLinked and
dxMethodsEqual(TMethod(FClient.OnClick), TMethod(Action.OnExecute));
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.SetCaption
Author: mh
Date: 25-Okt-2002
Arguments: const Value: string
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItemActionLink.SetCaption(const Value: string);
begin
if IsCaptionLinked then
FClient.Caption := Value;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.SetEnabled
Author: mh
Date: 25-Okt-2002
Arguments: Value: Boolean
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItemActionLink.SetEnabled(Value: Boolean);
begin
if IsEnabledLinked then
FClient.Enabled := Value;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.SetHint
Author: mh
Date: 25-Okt-2002
Arguments: const Value: string
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItemActionLink.SetHint(const Value: string);
begin
if IsHintLinked then
FClient.Hint := Value;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.SetImageIndex
Author: mh
Date: 25-Okt-2002
Arguments: Value: Integer
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItemActionLink.SetImageIndex(Value: Integer);
begin
if IsImageIndexLinked then
FClient.ImageIndex := Value;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.SetVisible
Author: mh
Date: 25-Okt-2002
Arguments: Value: Boolean
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItemActionLink.SetVisible(Value: Boolean);
begin
if IsVisibleLinked then
FClient.Visible := Value;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItemActionLink.SetOnExecute
Author: mh
Date: 25-Okt-2002
Arguments: Value: TNotifyEvent
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItemActionLink.SetOnExecute(Value: TNotifyEvent);
begin
if IsOnExecuteLinked then
FClient.OnClick := Value;
end;
{ TdxWinXPBarItem }
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.Create
Author: mh
Date: 25-Okt-2002
Arguments: Collection: TCollection
Result: None
-----------------------------------------------------------------------------}
constructor TdxWinXPBarItem.Create(Collection: TCollection);
begin
inherited Create(Collection);
FCollection := TdxWinXPBarItems(Collection);
FCaption := '';
FData := nil;
FDataObject := nil;
FEnabled := True;
FImageIndex := -1;
FImageList := nil;
FHint := '';
FName := '';
FWinXPBar := FCollection.FWinXPBar;
FTag := 0;
FVisible := True;
FWinXPBar.ItemVisibilityChanged(Self);
FWinXPBar.ResizeToMaxHeight;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.Destroy
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: None
-----------------------------------------------------------------------------}
destructor TdxWinXPBarItem.Destroy;
begin
FVisible := False; // required to remove from visible list!
FWinXPBar.ItemVisibilityChanged(Self);
FActionLink.Free;
FActionLink := nil;
inherited;
FWinXPBar.ResizeToMaxHeight;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.Notification
Author: mh
Date: 29-Okt-2002
Arguments: AComponent: TComponent; Operation: TOperation
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItem.Notification(AComponent: TComponent);
begin
if AComponent = Action then
Action := nil;
if AComponent = FImageList then
FImageList := nil;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.GetDisplayName
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: string
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.GetDisplayName: string;
var
DisplayName, ItemName: string;
begin
DisplayName := FCaption;
if DisplayName = '' then
DisplayName := 'untitled';
ItemName := FName;
if ItemName <> '' then
DisplayName := DisplayName + ' [' + ItemName + ']';
if not FVisible then
DisplayName := DisplayName + '*';
Result := DisplayName;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.GetImages
Author: mh
Date: 29-Okt-2002
Arguments: None
Result: TCustomImageList
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.GetImages: TCustomImageList;
begin
Result := nil;
if Assigned(FImageList) then
Result := FImageList
else if Assigned(Action) and Assigned(TAction(Action).ActionList.Images) then
Result := TAction(Action).ActionList.Images
else if Assigned(FWinXPBar.FImageList) then
Result := FWinXPBar.FImageList;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.ActionChange
Author: mh
Date: 25-Okt-2002
Arguments: Sender: TObject; CheckDefaults: Boolean
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItem.ActionChange(Sender: TObject;
CheckDefaults: Boolean);
begin
if Action is TCustomAction then
with TCustomAction(Sender) do
begin
if not CheckDefaults or (Self.Caption = '') then
Self.Caption := Caption;
if not CheckDefaults or (Self.Enabled = True) then
Self.Enabled := Enabled;
if not CheckDefaults or (Self.Hint = '') then
Self.Hint := Hint;
if not CheckDefaults or (Self.ImageIndex = -1) then
Self.ImageIndex := ImageIndex;
if not CheckDefaults or (Self.Visible = True) then
Self.Visible := Visible;
if not CheckDefaults or not Assigned(Self.OnClick) then
Self.OnClick := OnExecute;
end;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.GetActionLinkClass
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: TdxWinXPBarItemActionLinkClass
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.GetActionLinkClass: TdxWinXPBarItemActionLinkClass;
begin
Result := TdxWinXPBarItemActionLink;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.Assign
Author: mh
Date: 25-Okt-2002
Arguments: Source: TPersistent
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItem.Assign(Source: TPersistent);
begin
if Source is TdxWinXPBarItem then
begin
Action.Assign(TdxWinXPBarItem(Source).Action);
Caption := TdxWinXPBarItem(Source).Caption;
Data := TdxWinXPBarItem(Source).Data;
DataObject := TdxWinXPBarItem(Source).DataObject;
Enabled := TdxWinXPBarItem(Source).Enabled;
Hint := TdxWinXPBarItem(Source).Hint;
ImageList.Assign(TdxWinXPBarItem(Source).ImageList);
ImageIndex := TdxWinXPBarItem(Source).ImageIndex;
Name := TdxWinXPBarItem(Source).Name;
Tag := TdxWinXPBarItem(Source).Tag;
Visible := TdxWinXPBarItem(Source).Visible;
OnClick := TdxWinXPBarItem(Source).OnClick;
Exit;
end;
inherited Assign(Source);
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.IsCaptionStored
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.IsCaptionStored: Boolean;
begin
Result := (ActionLink = nil) or not FActionLink.IsCaptionLinked;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.IsEnabledStored
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.IsEnabledStored: Boolean;
begin
Result := (ActionLink = nil) or not FActionLink.IsEnabledLinked;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.IsHintStored
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.IsHintStored: Boolean;
begin
Result := (ActionLink = nil) or not FActionLink.IsHintLinked;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.IsImageIndexStored
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.IsImageIndexStored: Boolean;
begin
Result := (ActionLink = nil) or not FActionLink.IsImageIndexLinked;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.IsVisibleStored
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.IsVisibleStored: Boolean;
begin
Result := (ActionLink = nil) or not FActionLink.IsVisibleLinked;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.IsOnClickStored
Author: mh
Date: 25-Okt-2002
Arguments: None
Result: Boolean
-----------------------------------------------------------------------------}
function TdxWinXPBarItem.IsOnClickStored: Boolean;
begin
Result := (ActionLink = nil) or not FActionLink.IsOnExecuteLinked;
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.DoActionChange
Author: mh
Date: 25-Okt-2002
Arguments: Sender: TObject
Result: None
-----------------------------------------------------------------------------}
procedure TdxWinXPBarItem.DoActionChange(Sender: TObject);
begin
if Sender = Action then
ActionChange(Sender, False);
end;
{-----------------------------------------------------------------------------
Procedure: TdxWinXPBarItem.GetAction
Author: mh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -