为button添加一个属性:filenamefilename:TFILENAME read getfile write ffilename如何在getfile里面获取opendialog.filename?

解决方案 »

  1.   

    fucntion getfile: string;
    begin
      with TOpenDialog.Create(nil) do
      begin
        try
          if Execute then result := FileName else Result := StrEmpty;  
        finally
          free;
        end;
      end;
    end;
      

  2.   

    谢谢了,这样做可以打开opendialog,不过我安装好放到form上后,鼠标一放到filename这个属性上面就会自动跳出opendialog,如何改进成filename显示为文本后面有三个点的按钮的形式?恳盼赐教!
      

  3.   

    更加糟糕了,变成了死循环,一直跳出opendialog.
      

  4.   

    type
     TmyButton=class(TButton)
      private
        FFileName:string;
        procedure ffilename(value:String);
    end;
    filename:String read FFilename write ffilename;procedure ffilename(Value:String);
    begin
     if Value<>FFilename then
      begin
      with TOpenDialog.Create(nil) do
      begin
        try
          if Execute then FFileName:= FileName;  
        finally
          free;
        end;
      end;
     end;
    end;