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


TIWMenu 所在单元及继承链:
IWCompMenu.TIWMenu

主要成员:


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

示例 1 - 任何避免被其他控件遮挡:


  1. {设计时, 在空白窗体上放: 两个 IWRegion、一个 IWMenu、一个 MainMenu, 并给 MainMenu 随便添加些菜单}
  2. procedure TIWForm1.IWAppFormCreate(Sender: TObject);
  3. begin
  4. IWMenu1.AttachedMenu := MainMenu1; //!
  5.  
  6. {把 IWmenu 放到一个容器中, 并设置容器的 ClipRegion := False 即可解决}
  7. IWRegion1.Align := alTop;
  8. IWRegion1.Height := IWMenu1.Height;
  9. IWRegion1.ClipRegion := False; //!
  10. IWMenu1.Parent := IWRegion1;
  11. IWMenu1.Align := alClient;
  12.  
  13. IWRegion2.Color := $eeffff;
  14. IWRegion2.Align := alClient;
  15. end;

效果图:


示例 2 - 纵向菜单:


  1. {在上例的基础上, 改成纵向菜单, 并尝试(设计时)通过 TIWImageList 添加图标}
  2. procedure TIWForm1.IWAppFormCreate(Sender: TObject);
  3. begin
  4. IWMenu1.AttachedMenu := MainMenu1;
  5. IWMenu1.MainMenuStyle.Orientation := iwOVertical; //!
  6.  
  7. {把 IWmenu IWRegion1 中, 并设置好 IWRegion1 的大小}
  8. IWRegion1.SetBounds(4, 4, 60, 80);
  9. IWRegion1.ClipRegion := False;
  10. IWRegion1.BorderOptions.Style := cbsNone;
  11. IWMenu1.Parent := IWRegion1;
  12. IWMenu1.Align := alClient;
  13.  
  14. IWRegion2.Color := $eeffff;
  15. IWRegion2.Align := alClient;
  16. end;

效果图:


使用 IntraWeb (26) - 基本控件之 TIWMenu的更多相关文章

  1. 使用 IntraWeb (24) - 基本控件之 TIWFileUploader、TIWFile

    TIWFileUploader 是基于 Ajax 的上传控件, 最初是 Andrew Valums 开发, 从 IntraWeb XIV 纳入并替换 TIWFile. 虽然从组件面板上还能看到 TIW ...

  2. 使用 IntraWeb (29) - 基本控件之 TIWAutherList、TIWAutherINI、TIWAutherEvent

    TIWAutherList //通过一组户名与密码验证登陆 TIWAutherINI //通过记录户名与密码信息的 #Auth.ini 文件验证登陆 TIWAutherEvent //通过其 OnCh ...

  3. 使用 IntraWeb (28) - 基本控件之 TIWTemplateProcessorHTML、TIWLayoutMgrHTML、TIWLayoutMgrForm

    TIWTemplateProcessorHTML //使用外部的 html 文件做模板 TIWLayoutMgrHTML //直接输入 Html 文本做模板 TIWLayoutMgrForm //这应 ...

  4. 使用 IntraWeb (25) - 基本控件之 TIWRegion

    这应该是 IW 中最重要的容器了, 和它同父的还有 TIWTabControl TIWRegion 所在单元及继承链: IWRegion.TIWRegion 主要成员: property Align: ...

  5. 使用 IntraWeb (23) - 基本控件之 TIWTimer、TIWProgressBar、TIWProgressIndicator、TIWTimeEdit

    TIWTimer //和 TTimer 没多大区别, 它的默认事件现在是异步的(OnAsyncTimer), 在网络上使用 OnTimer 肯定是非常糟糕的 TIWProgressBar //进度条 ...

  6. 使用 IntraWeb (22) - 基本控件之 TIWCalendar

    TIWCalendar: 日历控件, 继承于 TIWCustomGrid, 所以它和 TIWGrid 共同属性特多. 它的 Cell 是 TIWCalendarCell 对象, 直接从 TIWGrid ...

  7. 使用 IntraWeb (20) - 基本控件之 TIWGrid

    TIWGrid 最终通过 Html Table 呈现; 其每个 Cell 都是一个 TIWGridCell 对象, Cell 对象的 Control 属性非常好, 可以非常方便地嵌入其他控件. TIW ...

  8. 使用 IntraWeb (19) - 基本控件之 TIWTreeView

    这是个饱受非议的控件; 我通过尝试, 理解了非议, 也能理解作者. 总之向作者的思路靠拢吧, 还是不错的. TIWTreeView 所在单元及继承链: IWCompTreeview.TIWTreeVi ...

  9. 使用 IntraWeb (16) - 基本控件之 TIWList、TIWListbox、TIWComboBox、TIWOrderedListbox

    TIWList //列表; 它对应 Html 中的 OL.LI(某些选项下会用表格模拟); TIWListbox 和 TIWComboBox 则对应 Html 在的 Option TIWListbox ...

随机推荐

  1. JMS学习(五)--ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系

    一,消息的持久化和非持久化 ①DeliveryMode 这是传输模式.ActiveMQ支持两种传输模式:持久传输和非持久传输(persistent and non-persistent deliver ...

  2. Javascript Jquery 中的数组定义与操作

    1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数 ...

  3. svn使用笔记

    一.checkout:第一次下载trunk里面的代码到本地 二.commit:提交一些修改* out of date : 本地版本号 < 服务器版本号* 如果过期,就update,可能会出现co ...

  4. ifconfig,netstat command not found

    当CentOS7进行最小化安装时,有很多工具包是没有的. [root@vultr ~]# ifconfig -bash: ifconfig: command not found [root@vultr ...

  5. 对git简单的认识

    了解git工作区.暂存区.版本库: 其中,使用 git add .就是将文件添加到了暂存区:而git commit -m ‘desc’:将暂存区的文件添加到版本库: 每次更新项目的步骤: 1)每次更新 ...

  6. Mysql备份文件

  7. linux笔记_day09

    1.运算器.控制器.存储器.输入输出(IO) 地址总线:内存寻址 数据总线:传输数据 控制总线:控制指令 寄存器:cpu暂时存储器 2.系统设定 默认输出设备:标准输出,STDOUT,1(描述符)(显 ...

  8. redis从入门到踩坑

    背景 Redis在互联网项目的使用也是非常普遍的,作为最常用的NO-SQL数据库,对Redis的了解已经成为了后端开发的必备技能.小编对Redis的使用时间不长,但是项目中确两次踩中了Redis的坑, ...

  9. linux修改文件打开最大数(ulimit命令)

    解除 Linux 系统的最大进程数和最大文件打开数限制:vi /etc/security/limits.conf# 添加如下的行* soft noproc 65536 * hard noproc 65 ...

  10. eclipse开发mapreduce程序时出现的问题

    1.报HDFS权限不够:org.apache.hadoop.security.AccessControlException: Permission denied:user=ouqiping, acce ...