WndProperty * RowFormWidget::AddFileReader(const TCHAR *label, const TCHAR *help, const TCHAR *registry_key, const TCHAR *filters, bool nullable) { WndProperty *edit = Add(label, help); DataFieldFileReader *df = new DataFieldFileReader(NULL); edit->SetDataField(df); if (nullable) df->AddNull(); size_t length; while ((length = _tcslen(filters)) > 0) { df->ScanDirectoryTop(filters); filters += length + 1; } TCHAR path[MAX_PATH]; if (Profile::GetPath(registry_key, path)) df->Lookup(path); edit->RefreshDisplay(); return edit; }