Tecsitel_FactuGES2/Source/Cliente/Utiles/uNavPaneUtils.pas

59 lines
1.6 KiB
ObjectPascal
Raw Normal View History

unit uNavPaneUtils;
interface
uses
Forms, ImgList, ActnList, JvPageList, JvNavigationPane, Menus,
Controls;
procedure PopulateNavPagePane(AParentControl : TWinControl;
AMenuItem: TMenuItem; AImageList : TCustomImageList;
AStyleManager : TJvNavPaneStyleManager); overload;
implementation
uses
ComCtrls, Classes, Math, TBXDkPanels, StrUtils, SysUtils,
ExtCtrls, Graphics, Dialogs;
procedure PopulateNavPagePane(AParentControl : TWinControl;
AMenuItem: TMenuItem; AImageList : TCustomImageList;
AStyleManager : TJvNavPaneStyleManager);
var
ItemIndex : Integer;
AHeight : Integer;
begin
AHeight := 0;
for ItemIndex := 0 to (AMenuItem.Count - 1) do
begin
if ((not AMenuItem[ItemIndex].IsLine) // que no sea una l<>nea separadora
and (AMenuItem[ItemIndex].Count = 0)) // y que no sea el padre de un submen<65>
then
with TTBXLink.Create(Application) do
begin
Parent := AParentControl;//APanel;
Align := alTop;
ParentFont := True;
Tag := AMenuItem[ItemIndex].Tag;
Caption := AMenuItem[ItemIndex].Caption;
Action := AMenuItem[ItemIndex].Action;
Images := AImageList;
ImageIndex := AMenuItem[ItemIndex].ImageIndex;
if ItemIndex = 0 then
Margins.Top := 15
else
Margins.Top := 6;
Margins.Bottom := 6;
Margins.Left := 10;
Margins.Right := 10;
Height := 18;
Invalidate;
AHeight := AHeight + Margins.Top + Margins.Bottom + Height;
end;
end;
AParentControl.Height := AHeight;
end;
end.