anchor.diff:      Text := '';
       FontDesc := '#Label1';
       ImageMargin := -1;
  -    ImageName := 'stdimg.folderfile';
  +    ImageName := 'stdimg.elipses';
       ImageSpacing := 0;
       TabOrder := 1;
  -    OnClick := @btnClick;
  -  end;
  +    OnClick := @InternalButtonClick;
  +  end;
  +end;
  +
  +
  +
  +{ TfpgFileNameEdit }
  +
  +constructor TfpgFileNameEdit.Create(AOwner: TComponent);
  +begin
  +  inherited Create(AOwner);
  +  FFilter         := '';
  +  FButton.ImageName := 'stdimg.folderfile';
   end;
   
   procedure TfpgFileNameEdit.SetFilter(const AValue: TfpgString);
  
positive.code:   FFilter := AValue;
  end;
  
  function TfpgFileNameEdit.GetExtraHint: TfpgString;
  begin
    Result := FEdit.ExtraHint;
  end;
  
  procedure TfpgFileNameEdit.SetExtraHint(const AValue: TfpgString);
  begin
    FEdit.ExtraHint := AValue;
  end;
  
  procedure TfpgFileNameEdit.btnClick(Sender: TObject);
  var
    dlg: TfpgFileDialog;
  begin
  
negative.code:   end;
  end;
  
  procedure TfpgDirectoryEdit.InternalButtonClick(Sender: TObject);
  var
    dlg: TfpgSelectDirDialog;
  begin
    dlg := TfpgSelectDirDialog.Create(nil);
    try
      if FRootDirectory <> '' then
        dlg.RootDirectory := FRootDirectory;
      dlg.SelectedDir := Directory;
      if dlg.ShowModal = mrOK then
      begin
        FEdit.Text:= dlg.SelectedDir;
      end;
    finally
      dlg.Free;
    end;
    inherited InternalButtonClick(Sender);
  end;
  
  
  { TfpgFontEdit }
  
  function TfpgFontEdit.GetFontDesc: TfpgString;
  begin
    Result := FEdit.Text;
  end;
  
  procedure TfpgFontEdit.SetFontDesc(const AValue: TfpgString);
  begin
    FEdit.Text := AValue;
  end;
  
  