Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Апгред TcxShellBrowserDialog. / 5 сообщений из 5, страница 1 из 1
19.09.2019, 08:15
    #39863670
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Апгред TcxShellBrowserDialog.
Потребовался мне тут компонентик для выбора каталога, решил использовать из девок TcxShellBrowserDialog, а он оказывается не может создавать каталоги. Решил я залезть в техподдержку девок и оказалось, что эта проблема больше 10 лет висит нерешенная :(
Там же нашел идею, на основе которой сварганил следующее:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
type
  TcxShellBrowserDialog = class(cxShellBrowserDialog.TcxShellBrowserDialog)
  private
   cxButton3: TcxButton;
   procedure cxButton3Click(Sender: TObject);
  protected
   function CreateForm: TcxShellBrowserDlg; override;
  end;
...
function TcxShellBrowserDialog.CreateForm: TcxShellBrowserDlg;
begin
 inherited;
 Result := TcxShellBrowserDlg.Create(Application);
 cxButton3 := TcxButton.Create(Result);
 cxButton3.Caption := 'Create';
 cxButton3.Width := Result.cxButton1.Width;
 cxButton3.Height := Result.cxButton1.Height;
 cxButton3.Left := 10;
 cxButton3.Top := Result.ClientHeight - cxButton3.Height - 10;
 cxButton3.Anchors := [akLeft, akBottom];
 cxButton3.Parent := Result;
 cxButton3.OnClick := cxButton3Click;
end;

procedure TcxShellBrowserDialog.cxButton3Click(Sender: TObject);
begin
 ForceDirectories(IncludeTrailingPathDelimiter(Path) + 'New path');
end;


Кнопка создается, нажимается, вот только свойство Path пустое оказалось. И вот собственно вопрос, как же мне достучаться до рабочего свойства Path?
...
Рейтинг: 0 / 0
19.09.2019, 08:51
    #39863684
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Апгред TcxShellBrowserDialog.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
TcxShellBrowserDialog = class(cxShellBrowserDialog.TcxShellBrowserDialog)
  private
   Form: TcxShellBrowserDlg;
   cxButton3: TcxButton;
   procedure cxButton3Click(Sender: TObject);
  protected
   function CreateForm: TcxShellBrowserDlg; override;
  end;

function TcxShellBrowserDialog.CreateForm: TcxShellBrowserDlg;
begin
 inherited;
 Result := TcxShellBrowserDlg.Create(Application);
 cxButton3 := TcxButton.Create(Result);
 cxButton3.Caption := 'Create';
 cxButton3.Width := Result.cxButton1.Width;
 cxButton3.Height := Result.cxButton1.Height;
 cxButton3.Left := 10;
 cxButton3.Top := Result.ClientHeight - cxButton3.Height - 10;
 cxButton3.Anchors := [akLeft, akBottom];
 cxButton3.Parent := Result;
 cxButton3.OnClick := cxButton3Click;
 Form := Result;
end;

procedure TcxShellBrowserDialog.cxButton3Click(Sender: TObject);
begin
 ForceDirectories(IncludeTrailingPathDelimiter(Form.cxTeFolder.Text) + 'New path');
end;
...
Рейтинг: 0 / 0
19.09.2019, 08:53
    #39863685
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Апгред TcxShellBrowserDialog.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
type
  TcxShellBrowserDialog = class(cxShellBrowserDialog.TcxShellBrowserDialog)
  private
   cxButton3: TcxButton;
   FDlg: TcxShellBrowserDlg;
   procedure cxButton3Click(Sender: TObject);
  protected
   function CreateForm: TcxShellBrowserDlg; override;
  end;
...
function TcxShellBrowserDialog.CreateForm: TcxShellBrowserDlg;
begin
 inherited;
 Result := TcxShellBrowserDlg.Create(Application);
 FDlg := Result;
 ...
end;

procedure TcxShellBrowserDialog.cxButton3Click(Sender: TObject);
begin
 ForceDirectories(IncludeTrailingPathDelimiter(FDlg.DlgFolder) + 'New path');
end;


не ?
...
Рейтинг: 0 / 0
19.09.2019, 08:53
    #39863686
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Апгред TcxShellBrowserDialog.
DimaBr,

ой )
...
Рейтинг: 0 / 0
19.09.2019, 20:05
    #39864205
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Апгред TcxShellBrowserDialog.
Действительно упс. Вот ведь, а слона то и не увидел :) Спасибки, теперь надо как-то его заставить сфокуситься на этом каталоге. Будем дальше копать.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Апгред TcxShellBrowserDialog. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]