Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
fcdk_pavel
1 / 1 / 0
Регистрация: 04.09.2013
Сообщений: 34
#1

скрыть кнопки

17.10.2013, 16:26. Просмотров 755. Ответов 15
Метки нет (Все метки)

Можно ли скрыть кнопки в OpenDialog,чтобы пользователь по ошибке не выбрал другую папку, путь в нужную папку указываю через InitialDir.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Миниатюры
скрыть кнопки  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 16:26
Ответы с готовыми решениями:

Скрыть программу из полосы
Нужно скрыть программу из той полоски где включенные приложения показывает (это...

Скрыть чужое окно
Привет всем. Можно ли как то скрыть окно стороннего приложения? Добавлено...

Скрыть рабочий стол
как скрыть рабочи стол

как скрыть программу
есть прога которая скрывает все активные окна. но мне нужно сделать невидимым...

Скрыть программу от проводника(и только)
Хм не встречал таких статей... Может ли кто подсказать как зделать так чтобы...

15
northener
пофигист широкого профиля
3255 / 2307 / 629
Регистрация: 15.07.2013
Сообщений: 13,633
17.10.2013, 16:41 #2
А смысл скрывать кнопки? Пользователь через комбобокс "Папка" сможет попасть куда ему вздумается.
0
fcdk_pavel
1 / 1 / 0
Регистрация: 04.09.2013
Сообщений: 34
17.10.2013, 16:56  [ТС] #3
А смысл скрывать кнопки? Пользователь через комбобокс "Папка" сможет попасть куда ему вздумается.
ну тогда еще и на комбобокс "Папка" ограничение поставить?!
0
northener
пофигист широкого профиля
3255 / 2307 / 629
Регистрация: 15.07.2013
Сообщений: 13,633
17.10.2013, 17:21 #4
Ну а тогда чего пользователю останется? Может тогда и диалог не нужен вообще? А то пользователь исчешется весь. Диалог выбора есть, а выбора нет.
0
heartquake
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 19
18.10.2013, 00:24 #5
Сделай их неактивными через Enabled. Хотя зачем такое меню вообще?
0
fcdk_pavel
1 / 1 / 0
Регистрация: 04.09.2013
Сообщений: 34
18.10.2013, 08:48  [ТС] #6
через Enabled искал ничего не нашел, может я не там смотрел.меню нужно для визуализации.еще варианты!!!

Добавлено через 12 минут
нашел через OptionsEX->[ofExNoPlacesBar]!все хорошо, только еще осталась кнопка "на уровень вверх" и ComboBox "папка" как еще и их сделать не активными?
0
heartquake
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 19
18.10.2013, 15:34 #7
Цитата Сообщение от fcdk_pavel Посмотреть сообщение
через Enabled искал ничего не нашел, может я не там смотрел.меню нужно для визуализации.еще варианты!!!

Добавлено через 12 минут
нашел через OptionsEX->[ofExNoPlacesBar]!все хорошо, только еще осталась кнопка "на уровень вверх" и ComboBox "папка" как еще и их сделать не активными?
Combobox1.Enabled:=false
Ну и для кнопки так же.
0
northener
пофигист широкого профиля
3255 / 2307 / 629
Регистрация: 15.07.2013
Сообщений: 13,633
18.10.2013, 15:40 #8
Цитата Сообщение от heartquake Посмотреть сообщение
Combobox1.Enabled:=false
Ну и для кнопки так же.

Не по теме:

Грешно смеяться над чужими проблемами

1
fcdk_pavel
1 / 1 / 0
Регистрация: 04.09.2013
Сообщений: 34
18.10.2013, 16:00  [ТС] #9
Combobox1.Enabled:=false
Ну и для кнопки так же.

у меня нет компонента Combobox1 на форме!!!я пытаюсь убрать этот типа "Combobox" с компонента OpenDialog!
был бы он на самой форме не спрашивал бы!
0
cotseec
Пишу на Delphi...иногда
1407 / 1267 / 284
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
Завершенные тесты: 3
18.10.2013, 18:19 #10
Выбор стиля диалогов. от Rouse_
0
FIL
Модератор
3412 / 2550 / 725
Регистрация: 19.09.2012
Сообщений: 7,920
18.10.2013, 20:01 #11
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Можно выставить в Инспекторе
  OpenDialog1.OptionsEx := OpenDialog1.OptionsEx + [ofExNoPlacesBar];
  OpenDialog1.Options := OpenDialog1.Options - [ofEnableSizing];
  OpenDialog1.Execute;
end;
 
procedure TForm1.OpenDialog1Show(Sender: TObject);
var
  hDlg, hWnd: THandle;
begin
  hDlg := GetParent(OpenDialog1.Handle);
  hWnd := FindWindowEx(hDlg, 0, 'ToolbarWindow32', nil);
  ShowWindow(hWnd, SW_HIDE);
  hWnd := FindWindowEx(hDlg, 0, 'ComboBox', nil);
  EnableWindow(hWnd, False);
end;
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25735 / 17289 / 6867
Регистрация: 22.10.2011
Сообщений: 30,496
Записей в блоге: 6
19.10.2013, 13:11 #12
Это ни разу не запретит чуть более продвинутому пользователю написать ..\*.* в строке "Имя файла", и выйти в директорию уровнем выше...
0
FIL
Модератор
3412 / 2550 / 725
Регистрация: 19.09.2012
Сообщений: 7,920
19.10.2013, 15:16 #13
Цитата Сообщение от UI Посмотреть сообщение
Это ни разу не запретит чуть более продвинутому пользователю
Это же не повод отказаться от данной затеи.
Десяток дополнительных строк кода решат проблему:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.OpenDialog1FolderChange(Sender: TObject);
var
  hOK: THandle;
  ID_FILENAME: Integer;
begin
  if OpenDialog1.FileName = OpenDialog1.InitialDir then Exit;
  if Win32MajorVersion >= 5 then
    ID_FILENAME := 1148
  else
    ID_FILENAME := 1152;
  SetWindowText(GetDlgItem(GetParent(OpenDialog1.Handle), ID_FILENAME),
                PChar(OpenDialog1.InitialDir));
  hOK := GetDlgItem(GetParent(OpenDialog1.Handle), IDOK);
  SendMessage(hOK, WM_LBUTTONDOWN, MK_LBUTTON, MAKEWORD(0, 0));
  SendMessage(hOK, WM_LBUTTONUP, MK_LBUTTON, MAKEWORD(0, 0));
end;
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25735 / 17289 / 6867
Регистрация: 22.10.2011
Сообщений: 30,496
Записей в блоге: 6
19.10.2013, 15:21 #14
Единственное, к чему это приведет - это Stack Overflow, если что. Диалог даже не покажется. Кардинальный, надо сказать, способ решения проблемы...

скрыть кнопки
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25735 / 17289 / 6867
Регистрация: 22.10.2011
Сообщений: 30,496
Записей в блоге: 6
19.10.2013, 15:32 #15
А даже если добавить Boolean-переменную, чтобы оградить этот код от запуска при начальном показе диалога - смотри, как в строке FileName прекрасно можно печатать:

скрыть кнопки


И чего я выбрал, и где была InitialDir?
0
FIL
Модератор
3412 / 2550 / 725
Регистрация: 19.09.2012
Сообщений: 7,920
19.10.2013, 16:34 #16
Тогда это поле надо просто деактивировать. Нам же надо выбрать существующий файл, поэтому писАть ничего не надо:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.OpenDialog1Show(Sender: TObject);
var
  hDlg, hWnd: THandle;
begin
  hDlg := GetParent(OpenDialog1.Handle);
  hWnd := FindWindowEx(hDlg, 0, 'ToolbarWindow32', nil);
  ShowWindow(hWnd, SW_HIDE);
  hWnd := FindWindowEx(hDlg, 0, 'ComboBox', nil);
  EnableWindow(hWnd, False);
  hWnd := FindWindowEx(hDlg, 0, 'ComboBoxEx32', nil);
  EnableWindow(hWnd, False);
end;
0
19.10.2013, 16:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2013, 16:34

При закрытии скрыть форму
Как сделать, чтобы когда нажимают кнопку закрыть, приложение не закрывалось, а ...

Скрыть данные базы данных от декомпиляторов
Добрый день. В своем проекте я использовал компоненты FireDAC, то есть положил...

Как можно скрыть программу в процессах
ТАК вопрос на засыпку, как можно скрыть прогу в процессах, общее с вирусом и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru