使用IntraWeb进行Web编程(二)

Delphi从入门到精通》第21  第二部分

创建IntraWeb应用程序

创建IntraWeb应用程序,有很多组件可用。不妨看一下Delphi组件板中的IW Standard页,会给您留下深刻的印象,从简单的按钮、复选框、单选框、编辑框、列表框到迷人的树形控件、菜单、计时器、表格和链接应有尽有。我不想举例描述每个组件的用法,只想通过几个例子,阐述IntraWeb的体系结构,当然顺便也会介绍用到的组件。

我创建了一个例程(叫IWTree),演示了IntraWeb的菜单和树形控件的用法,同时也说明了如何动态创建组件。IntraWeb菜单通过引入常规Delphi菜单内容来工作的,这很容易,只需简单地把AttachedMenu设置成Tmenu组件即可:

object MainMenu1: TMainMenu
  object Tree1: TMenuItem
    object ExpandAll1: TMenuItem
    object CollapseAll1: TMenuItem
    object N1: TMenuItem
    object EnlargeFont1: TMenuItem
    object ReduceFont1: TMenuItem
  end
  object About1: TMenuItem
    object Application1: TMenuItem
    object TreeContents1: TMenuItem
  end
end
object IWMenu1: TIWMenu
  AttachedMenu = MainMenu1
  Orientation = iwOHorizontal
end

菜单项运行时处理OnClick事件,是以链接形式实现的。看一下图21.3,这是展示菜单的例程的运行效果。例程中的另外一个组件是树形控件,在例子中预置了很多节点。该组件通过很多JavaScript代码来实现在浏览器中(不需要调用服务器代码)直接控制树形控件节点的展开和收叠。同时,菜单中还有控制树形控件节点展开和收叠以及控制字体大小的菜单项。下面列出其中两个事件代码:

procedure TformTree.ExpandAll1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to IWTreeView1.Items.Count - 1 do
    IWTreeView1.Items [i].Expanded := True;
end;
   
procedure TformTree.EnlargeFont1Click(Sender: TObject);
begin
  IWTreeView1.Font.Size := IWTreeView1.Font.Size + 2;
end;

21.3 演示菜单、树形控件和动态创建组件的例程

感谢IntraWeb提供了如同标准Delphi VCL组件的特性,使代码易读,也容易理解。

 

例程中的菜单有两个子菜单稍微复杂一点。第一个是显示应用程序ID,也就是程序执行时的会话期ID。该标志可以通过全局对象WebApplication的AppID属性获得。第二个子菜单是Tree Contents,它可以把树形控件的一级节点标题和子节点数目清单列出。值得注意的是,这些信息显示在一个运行时才创建的组件memo里(见图21.3),这一点与在一个VCL应用程序里面做同样的事情非常相似。

procedure TformTree.TreeContents1Click(Sender: TObject);
var
  i: Integer;
begin
  with TIWMemo.Create(Self) do
  begin</
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值