Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2016, 22:12   #1
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
Смущение Отлов нажатия кнопок в OpenDialog

Мне нужно, что бы когда пользователь нажимал на кнопку "Открыть" в OpenDialog. Происходило следующее:
1) OpenDialog - закрывается
2) Имеющийся путь записывается в Edit
У OpenDialog - имеется свойство "onTypeChange", в принципе, оно мне подходит ... Только проблема в том, что это событие срабатывает почти в любом случае ... К примеру, когда я нажимаю на кнопку "Рабочий стол" в левой панели (мне этого не надо) . А какое условие туда запихнуть, я не знаю ...
Может кто нибудь что нибудь посоветует?
Janger вне форума Ответить с цитированием
Старый 10.08.2016, 22:22   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так сейчас не в моде?
Код:
if OpenDialog.Execute then ...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.08.2016, 22:23   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Советую: не заниматься ерундой и прочитать хотя бы справку. Ваша задача решается одним условием иф ддиалог.екзекьют
p51x вне форума Ответить с цитированием
Старый 10.08.2016, 22:27   #4
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

что то типо этого:
Код:
uses registry;
...
if not opendialog.execute then
exit;

with TRegistry.create do
begin
if openkey('software/youprogram', true) then
writestring('path', opengialog.filename);
free;
end;
uberchel вне форума Ответить с цитированием
Старый 11.08.2016, 07:49   #5
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так сейчас не в моде?
Код:
if OpenDialog.Execute then ...


эта строчка, просто открывает OpenDialog. А мне нужна реакция в самом OpenDialog, поясню, мне не нужен код, что бы открыть OpenDialog, я его знаю. Когда открывается OpenDialog, в правом нижнем углу есть две кнопки "Открыть" и "Отмена". Мне нужно, что бы код срабатывал именно на кнопке "Открыть" внутри OpenDialog
Janger вне форума Ответить с цитированием
Старый 11.08.2016, 07:55   #6
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Советую: не заниматься ерундой и прочитать хотя бы справку. Ваша задача решается одним условием иф ддиалог.екзекьют
Это слишком элементарно, я не задаю такие вопросы. А вам надо лучше читать вопрос. Я вас не спрашивал "А как мне сделать так, что бы OpenDialog начал работать?"
я по моему достаточно просто написал следующее, цитата: нажимал на кнопку "Открыть" в OpenDialog. Происходило следующ
я думаю, хотя бы по этой строчке можно было бы понять, что OpenDialog у меня как минимум открывается ...
Janger вне форума Ответить с цитированием
Старый 11.08.2016, 07:57   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

1. then и сработает, если кнопка открыть нажата.
2. не вижу никаких кейсов для обработки этой кнопки внутри стандартного диалога
3. если вдруг какакя-то фантазия у вас появилась на эту тему советую выбросить, но если не прокатит, то вперед - напишите свой диалог

П.С. Переставайте считать всех вокруг идиотами. Вас все прекрасно поняли.
p51x вне форума Ответить с цитированием
Старый 11.08.2016, 07:57   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
1) OpenDialog - закрывается
2) Имеющийся путь записывается в Edit
С помощью Execute именно это и делают
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.08.2016, 08:15   #9
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
С помощью Execute именно это и делают
нет, не то, в опендиалоге, когда выбираешь папку кнопка имеет текст "Открыть", а когда выбираешь файл, то эта кнопка меняется на "Выбрать".
Вы мне описали случай, если пользователь выделит файл в опендиалоге. А мне файл не нужен, мне нужно, что бы пользователь выбрал папку, нажал кнопку "Открыть", далее по умолчанию, опендиалог открывает выделенную папку, а мне надо, что бы он ее не открывал, а закрывался и передавал путь к папке в едит
Janger вне форума Ответить с цитированием
Старый 11.08.2016, 08:18   #10
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
1. then и сработает, если кнопка открыть нажата.
2. не вижу никаких кейсов для обработки этой кнопки внутри стандартного диалога
3. если вдруг какакя-то фантазия у вас появилась на эту тему советую выбросить, но если не прокатит, то вперед - напишите свой диалог

П.С. Переставайте считать всех вокруг идиотами. Вас все прекрасно поняли.
зачем вы сюда вообще пишете. не знаете как решить проблему, не отвлекайте.мне нужно решить проблему
Janger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отлов нажатия и удержания клавиши! Vnlexa Общие вопросы Delphi 5 07.10.2012 18:32
Сообщения нажатия кнопок decantnik Win Api 2 12.04.2012 19:23
Delphi отлов нажатия клавиш Pixelrom33 Общие вопросы Delphi 5 23.02.2012 22:10
C#: передача нажатия кнопок в браузер Savrik Общие вопросы .NET 3 13.06.2009 00:07