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

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


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

主要成员:


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;

效果图:


示例 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;

效果图:


使用 IntraWeb (26) - 基本控件之 TIWMenu,布布扣,bubuko.com

时间: 2024-12-18 00:40:27

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

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

TIWTemplateProcessorHTML //使用外部的 html 文件做模板 TIWLayoutMgrHTML //直接输入 Html 文本做模板 TIWLayoutMgrForm //这应该只是内部使用的东西, 对用户没有意义 {需要把它们关联到窗体的 LayoutMgr 属性; 主模板需要通过 IWServerController.MasterTemplate 指定} TIWTemplateProcessorHTML 所在单元及继承链: IWTemplateProcessorHTM

使用 IntraWeb (13) - 基本控件之 TIWLabel、TIWLink、TIWURL、TIWURLWindow

TIWLabel    // TIWLink      //内部链接 TIWURL      //外部链接 TIWURLWindow //页内框架, 就是 <iframe></iframe> TIWLabel 所在单元及继承链:IWCompLabel.TIWLabel < TIWCustomLabel < TIWCustomControl < TIWBaseHTMLControl < TIWBaseControl < TIWVCLBaseControl

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

TIWList //列表; 它对应 Html 中的 OL.LI(某些选项下会用表格模拟); TIWListbox 和 TIWComboBox 则对应 Html 在的 Option TIWListbox //列表框 TIWComboBox //组合下拉框 TIWOrderedListbox //可手动调整顺序的列表; 好像是新增的, 还不成熟 TIWList 所在单元及继承链: IWHTMLControls.TIWList 主要成员: property Items: TStringList //

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

TIWCalendar: 日历控件, 继承于 TIWCustomGrid, 所以它和 TIWGrid 共同属性特多. 它的 Cell 是 TIWCalendarCell 对象, 直接从 TIWGridCell 继承. TIWCalendar 所在单元及继承链: IWCompCalendar.TIWCalendar 主要成员: property Cell[const ARow: Integer, const AColumn: Integer]: TIWCalendarCell // propert

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

TIWTimer //和 TTimer 没多大区别, 它的默认事件现在是异步的(OnAsyncTimer), 在网络上使用 OnTimer 肯定是非常糟糕的 TIWProgressBar //进度条 TIWProgressIndicator //进度提示器; 这是个新东西, 非常好; 当碰到时间较长的加载时(同步或异步)都可以用用; 使用前需要先关联到窗体的 ProgressIndicator 属性 TIWTimeEdit //个人认为这个东西一点用也没有; 只是给个分钟数按 8 小时换算成天.

使用 IntraWeb (17) - 基本控件之 TIWRadioButton、TIWRadioGroup、TIWCheckBox

TIWRadioButton //单选 TIWRadioGroup //单选组 TIWCheckBox //复选 TIWRadioButton 所在单元及继承链: IWCompRadioButton.TIWRadioButton 主要成员: property Editable: Boolean // property Checked: Boolean // property Group: string //分组名; 在统一母体中的单选按钮, 组名相同者互斥 property Value: str

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

这应该是 IW 中最重要的容器了, 和它同父的还有 TIWTabControl TIWRegion 所在单元及继承链: IWRegion.TIWRegion 主要成员: property Align: TAlign property Anchors: TAnchors property BorderOptions: TIWContainerBorderOptions //设置边框的宽度.颜色.样式 property Color: TIWColor property ClipRegion: Boo

使用 IntraWeb (21) - 基本控件之 TIWTabControl

TIWTabControl 包含的是 TIWTabPage; 设计时通过右键菜单 Add Page 添加(再给页面添加东西时一定要先选定页面); 下面例子是动态添加的. TIWTabControl 所在单元及继承链: IWCompTabControl.TIWTabControl 主要成员: property Pages: TList //TIWTabPage 对象的集合; 但它是 TList 类型, 使用前需转换下 property ActiveTabFont: TIWFont //当前 Tab

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

TIWAutherList //通过一组户名与密码验证登陆 TIWAutherINI //通过记录户名与密码信息的 #Auth.ini 文件验证登陆 TIWAutherEvent //通过其 OnCheck 事件验证登陆 {作为站点级的验证, 验证控件应该是放在 ServerController 的窗体上, 并与其 Auther 属性关联.} TIWAutherList 所在单元及继承链: IWAutherList.TIWAutherList 主要成员: property List: TStri