使用 IntraWeb (26) - 基本控件之 TIWMenu


TIWMenu 的任务是让原来的 TMainMenu 呈现在网页上, 通过其 AttachedMenu 属性关联一个 TMainMenu 是必需的.

TIWMenu 所在单元及继承链:
IWCompMenu.TIWMenu < TIWCustomControl < TIWBaseHTMLControl < TIWBaseControl < TIWVCLBaseControl < TControl < TComponent < TPersistent < TObject

主要成员:
property TextOffset: Integer         //菜单文本偏移(只读)
property AttachedMenu: TMainMenu     //指定要包装的 TMainMenu
property ItemSpacing: TIWSpaceItems  //设置顶层菜单项间距: itsNone(默认)、itsEvenlySpaced(均匀分布)
property AutoSize: TIWMenuAutoSize   //自动大小; 有三个枚举值可选
property MainMenuStyle: TIWMenuStyle //主菜单样式, 包含十几个子选项包括 Css
property SubMenuStyle: TIWMenuStyle  //子菜单样式, 包含十几个子选项包括 Css
property Css: string                 //Css 比 MainMenuStyle.Css 高一个层级
property SubMenuCss: string          //SubMenuCss 比 SubMenuStyle.Css 高一个层级
property TimeOut: Integer //子菜单延迟时间


示例 1 - 任何避免被其他控件遮挡:
{设计时, 在空白窗体上放: 两个 IWRegion、一个 IWMenu、一个 MainMenu, 并给 MainMenu 随便添加些菜单}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWMenu1.AttachedMenu := MainMenu1; //!

  {把 IWmenu 放到一个容器中, 并设置容器的 ClipRegion := False 即可解决}
  IWRegion1.Align := alTop;
  IWRegion1.Height := IWMenu1.Height;
  IWRegion1.ClipRegion := False; //!
  IWMenu1.Parent := IWRegion1;
  IWMenu1.Align := alClient;

  IWRegion2.Color := $eeffff;
  IWRegion2.Align := alClient;
end;

效果图:
26153208_T1Ip.png

示例 2 - 纵向菜单:
{在上例的基础上, 改成纵向菜单, 并尝试(设计时)通过 TIWImageList 添加图标}
procedure TIWForm1.IWAppFormCreate(Sender: TObject);
begin
  IWMenu1.AttachedMenu := MainMenu1;
  IWMenu1.MainMenuStyle.Orientation := iwOVertical; //!

  {把 IWmenu 放 IWRegion1 中, 并设置好 IWRegion1 的大小}
  IWRegion1.SetBounds(4, 4, 60, 80);
  IWRegion1.ClipRegion := False;
  IWRegion1.BorderOptions.Style := cbsNone;
  IWMenu1.Parent := IWRegion1;
  IWMenu1.Align := alClient;

  IWRegion2.Color := $eeffff;
  IWRegion2.Align := alClient;
end;

效果图:
26153208_UkZE.png

转载于:https://my.oschina.net/hermer/blog/319492

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值