powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не могу добавить кнопки в OpenPictureDialog XE 10.2
3 сообщений из 3, страница 1 из 1
Не могу добавить кнопки в OpenPictureDialog XE 10.2
    #39804398
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Давно было написано приложение на Delphi 2009, в котором я в стандартный диалог OpenPictureDialog добавил ToolBar и изменил названия стандартных кнопок вот таким образом.

Код: 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.
procedure TForm21.OpenPictureDialog1Show(Sender: TObject);
  var
    Btn: string;
    i : Integer;
    Button : TButton;
begin
  SetWindowText(GetDlgItem(GetParent(OpenPictureDialog1.Handle), IDOK), 'Загрузить');
  SetWindowText(GetDlgItem(GetParent(OpenPictureDialog1.Handle), IDCANCEL), 'Выйти');

  with OpenPictureDialog1 do
    begin
      for i := 0 to ComponentCount-1 do
        begin
          Btn:=Components[i].Name;
          if Btn='PicturePanel' then
            begin

              ToolBar5.Parent:=TPanel(Components[i]);
              ToolBar5.Align:=alBottom;
              ToolBar5.Visible:=True;
            end;

  
        end;
    end;
end;



и получилось как показано на рисунке Info.

Теперь я тоже самое хотел сделать в XE 10.2 для Win 7 и выше, но оно не работает.
Потому как.
1. Если для диалога создать событие Show, то оно переключается в другой режим диалога, где нет пред просмотра файлов.
авторВ Винде есть три диалога: новый, старый и совсем старый. Если ты юзаешь новый - то Preview будет. Если старый или совсем старый - то Preview не будет.

В частности, если задан шаблон - то будет использоваться старый диалог, поскольку новый диалог не поддерживает шаблоны.

Если задан OnIncludeItem, OnClose или OnShow - будет использоваться старый, поскольку новый не поддерживает эти возможности.

Очень старый - это Win 3.11, он используется при А и Б, где А - используется старый диалог, а Б - стоит опция ofOldStyleDialog. тут написано
2. Если это пытаться сделать допустим по событию таймера после открытия диалога, то название кнопок не изменяются и Toollbar не добавляется. Как я понял. Он просто не находит кнопки по ключу IDOK. А Toollbar добавляется на контрол PicturePanel, но видимо этот контрол в этом диалоге находится в скрытом режиме, так как используется более новая его версия.
3. Пробовал переопределить как тут Переопределение
Но тогда мы действительно можем вставить панель с права допустим, но пред просмотра как не бывало, так возвращаемся к первому пункту(вызывается старая версия диалога, не та которая идет в Win 7).

Как сделать это на обычной новой версии диалога ?
...
Рейтинг: 0 / 0
Не могу добавить кнопки в OpenPictureDialog XE 10.2
    #39804712
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Не могу добавить кнопки в OpenPictureDialog XE 10.2
    #39805058
Jonnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Василий 2 https://msdn.microsoft.com/en-us/library/Bb776913(v=VS.85).aspx
https://docs.microsoft.com/en-us/windows/desktop/api/shobjidl_core/nn-shobjidl_core-ifiledialogcustomize

Спасибо. Но это мне слишком долго с этими приколами разбираться.
Сделаю по другому тогда.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не могу добавить кнопки в OpenPictureDialog XE 10.2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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