我预再listview中新加一属性EDITMASK(掩码格式),生成一新组件,以下为代码,请问错再哪里???如能解决问题,我另开一贴再加100分。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
unit ListViewExp;interfaceuses
  Windows, Messages, SysUtils, Classes, Controls, ComCtrls,ValEdit;type
  TListViewExp = class(TListView)
  private
    { Private declarations }
    ListViewExp:TListViewExp;
  protected
    { Protected declarations }
  public
    { Public declarations }
    function GetEditMask:TItemProp;
    procedure SetEditMask(Value:TItemProp);
  published
    { Published declarations }
    property EditMask:TItemProp read GetEditMask write SetEditMask;
  end;procedure Register;implementation
function TListViewExp.GetEditMask:TItemProp;
begin
  ReSult:=ListViewExp.EditMask ;
end;
procedure TListViewExp.SetEditMask (value:TItemProp);
begin
  value:=EditMask;
end;
procedure Register;
begin
  RegisterComponents('ActiveX', [TListViewExp]);
end;end.

解决方案 »

  1.   

    好像问题不少interfaceuses
      Windows, Messages, SysUtils, Classes, Controls, ComCtrls,ValEdit,MaskUtils;type
      TListViewExp = class(TListView)
      private
        { Private declarations }
        FEditMask: TEditMask;
      protected
        { Protected declarations }
        procedure SetEditMask(Value:TEditMask);
      public
        { Public declarations }  published
        { Published declarations }
        property EditMask:TEditMask read FEditMask write SetEditMask;
      end;procedure Register;implementationprocedure TListViewExp.SetEditMask (value:TEditMask);
    begin
      FEditMask:=value;
    end;
    procedure Register;
    begin
      RegisterComponents('ActiveX', [TListViewExp]);
    end;end.
      

  2.   

    安装测试成功component-install component...
      

  3.   

    FEditMask函数都没有,能安装成功???
      

  4.   

    你试试就知道,而且代码里有FEditMask,不一定需要函数的,变量就可以了
      

  5.   

    我的意思是能不能做成一个这样的组件,其他的属性与Tlistview一样,只是比他多了一个属性,在Tlistview类型为report时,可以设置每一个单元格的掩码格式
      

  6.   

    interfaceuses
      Windows, Messages, SysUtils, Classes, Controls, ComCtrls,ValEdit,MaskUtils;type
      TListViewExp = class(TListView)
      private
        { Private declarations }
        FEditMask: TEditMask;
      protected
        { Protected declarations }
        procedure SetEditMask(Value:TEditMask);
      public
        { Public declarations }  published
        { Published declarations }
        property EditMask:TEditMask read FEditMask write SetEditMask;
      end;procedure Register;implementationprocedure TListViewExp.SetEditMask (value:TEditMask);
    begin
     if ViewStyle=vsReport then
        FEditMask.assign(value);
    end;
    procedure Register;
    begin
      RegisterComponents('ActiveX', [TListViewExp]);
    end;end.这样就可以了,
      

  7.   

    承认错误 ,以为TEditMask是对象,
    都怪没有进行代码测试:
    以下才是正确的
    unit ListViewExp;interfaceuses
      SysUtils, Classes, Controls, ComCtrls,MaskUtils;type
      TListViewExp = class(TListView)
      private
        { Private declarations }
        FEditMask: TEditMask;
      protected
        { Protected declarations }
        procedure SetEditMask(Value:TEditMask);
      public
        { Public declarations }  published
        { Published declarations }
        property EditMask:TEditMask read FEditMask write SetEditMask;
      end;
    procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Wind', [TListViewExp]);
    end;procedure TListViewExp.SetEditMask (value:TEditMask);
    begin
     if ViewStyle=vsReport then
          FEditMask:=Value;
    end;
    end.
      

  8.   

    没错,是没这么简单
    我要达到的效果就是
    当Tlistview为VsReport时
    在Tlistview的单元格设置数据时,可以自定义掩码格式。
    我不知道我这样说==有没有说明白
    请各位前辈帮忙
      

  9.   

    不知道你想干什么,你连Edit都不Create,怎么用呢?
    Edit放在哪显示?目的是什么,都不知道,你写的控件什么都干不了,只会在试图读取edit时出现一个异常。
      

  10.   

    Miky,
    你也和我一样犯了错误,呵呵
    FEditMask: TEditMask;type TEditMask = type string;楼主,那另外一百分,给刺客吧,毕竟我只是小补充了一下
    大部分还是他答出来的