表格表单方面的组件,有设计器
http://blog.csdn.net/softwaiter/archive/2006/06/14/797537.aspx欢迎多提宝贵意见

解决方案 »

  1.   

    好象非常不错哦! 有demo吗?
      

  2.   

    总体感觉不错,不过速度(比如滚动,区域选择)方面有些欠缺.另外,想请教你一个问题:
    我用delphi作activex控件(包括activeform)的时候,如果上面有编辑控件,在ie里使用这个activex控件的时候,如果网页上也有编辑控件的化,并且我的activex控件的焦点如果从网页上的那个编辑控件切换过来的话,我的那个编辑控件就不能相应delete键,也不能相应Ctrl+C键,你的这个似乎没有这个问题,能告诉我是怎么解决的吗?
      

  3.   

    yrb():
    你需要截获WM_GETDLGCODE消息自己进行处理
      

  4.   

    谢谢softwaiter!
    我似乎截获不了这个消息 TActiveFormX = class(TActiveForm, IActiveFormX)
        Edit1: TEdit;
        Edit2: TEdit;
        Button1: TButton;
      protected
        procedure WndProc(var Message: TMessage); override;// .................
    procedure TActiveFormX.WndProc(var Message: TMessage);
    begin
      if Message.Msg = WM_GETDLGCODE then
      begin
        beep();
        Message.Result := DLGC_WANTALLKEYS;
      end
      else
        inherited;
    end;
      

  5.   

    这个问题困扰我很长一段时间了,softwaiter兄,可否给我具体说说!
      

  6.   

    yrb():你好,我做了一个ActiveXForm试验了一下,其中放了一个Edit控件,可以响应Delete和Ctrl+C阿,如果编辑控件是你自己写的,那么不但要在ActiveXForm里WM_GETDLGCODE消息,而且在编辑控件中也要响应WM_GETDLGCODE消息,如下(例如你写的编辑控件是派生的Edit,名为TEdit1):procedure TEdit1.WMGetDlgCode(var Message: TWMGETDLGCODE);
    begin
        inherited;    Message.Result := Message.Result or DLGC_WANTTAB or
            DLGC_WANTCHARS or DLGC_WANTALLKEYS or DLGC_WANTARROWS;
    end;你可以试验一下,不知道可行否
      

  7.   

    to:softwaiter(softwaiter)
    谢谢!
    这种方法行不通。你的控件应该是个activex吧,如果是ActiveForm也会有这个问题。
    想再现这个问题,你需要在插入控件的网页上放置表单,在表单上放置编辑控件,然后将焦点从表单上编辑控件转移到ActiveForm上。
      

  8.   

    yrb():不太明白,你最好能做个演示发给我,因为我看不到你说的问题