使用 IntraWeb (26) - 基本控件之 TIWMenu
16lz
2021-04-30
使用 IntraWeb (26) - 基本控件之 TIWMenu
TIWMenu 的任务是让原来的 TMainMenu 呈现在网页上, 通过其 AttachedMenu 属性关联一个 TMainMenu 是必需的.
TIWMenu 所在单元及继承链:
IWCompMenu.TIWMenu < TIWCustomControl < TIWBaseHTMLControl < TIWBaseControl < TIWVCLBaseControl < TControl < TComponent < TPersistent < TObject
主要成员:
property TextOffset: Integer //菜单文本偏移(只读)property AttachedMenu: TMainMenu //指定要包装的 TMainMenuproperty ItemSpacing: TIWSpaceItems //设置顶层菜单项间距: itsNone(默认)、itsEvenlySpaced(均匀分布)property AutoSize: TIWMenuAutoSize //自动大小; 有三个枚举值可选property MainMenuStyle: TIWMenuStyle //主菜单样式, 包含十几个子选项包括 Cssproperty SubMenuStyle: TIWMenuStyle //子菜单样式, 包含十几个子选项包括 Cssproperty 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;
效果图:
示例 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;
效果图:
更多相关文章
- Python中的IDLE是什么?常用功能介绍!
- 【js效果】下拉菜单
- 【css效果】实现简单的下拉菜单
- 三级菜单和购物车
- 手把手教你实现vue下拉菜单组件
- 内存管理思想
- 后台四 菜单列表
- 后台一 搭建项目
- VUE---路由菜单Icon自定义的实现