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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2010, 09:24   #1
Smerch66
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 33
По умолчанию OpenDialog

Подскажите пожалуйста, как сделать так, чтобы в OpenDialog файлы не могли открываться двойным щелчком мыши, а только по нажатию на кнопку "Открыть"?
Smerch66 вне форума Ответить с цитированием
Старый 26.03.2010, 09:43   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Smerch66 Посмотреть сообщение
Подскажите пожалуйста, как сделать так, чтобы в OpenDialog файлы не могли открываться двойным щелчком мыши, а только по нажатию на кнопку "Открыть"?
А с чем это связано?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.03.2010, 09:45   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Рисуйте свой OpenDialog. Просто форму с контролами.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 26.03.2010, 11:06   #4
Smerch66
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
А с чем это связано?
У меня на компоненте Chart есть событие отжатия ЛКМ.

Когда я в OpenDialog выбираю двойным щелчком мыши нужный файл, то отжатие второго щелчка, приходится уже на компонент Chart, который как раз расположен под данным диалоговым окном, и срабатывает это событие соответственно.
Smerch66 вне форума Ответить с цитированием
Старый 26.03.2010, 11:07   #5
Smerch66
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Рисуйте свой OpenDialog. Просто форму с контролами.
Не понял...
Smerch66 вне форума Ответить с цитированием
Старый 26.03.2010, 11:23   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

File Add Form на ней размещаете контролы и делаете её hide. По команде вызываете.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 26.03.2010, 12:52   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Можно ImageList, пару кнопок и пару подписей.

Нужно понять, когда происходит вызов OpenDialog'a. Перед его вызовом установите флаг (переменную типа Boolean), в TChart проверяйте был ли он установлен. Если да, то просто выходите из события. ИМХО, так проще чем свой ОпенДиалог писать.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.03.2010, 16:49   #8
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Utkin +1, к тому же пользователь не будет голову ломать почему файлы не открываются в диалоге.

Smerch66, в начале обработчика добавь
Код:
if DialogOpened then Exit;
После вызова диалога, независимо от результата снимай флаг. Если событие будет возникать после снятия флага, то снимай его прямо в обработчике
Код:
if DialogOpened then begin
  DialogOpened := false;
  Exit;
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 26.03.2010 в 16:53.
mutabor вне форума Ответить с цитированием
Старый 26.03.2010, 18:54   #9
Smerch66
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 33
По умолчанию

команды DialogOpened у меня нет(
как ещё можно проверить открыт ли мой OpenDialog1?
Smerch66 вне форума Ответить с цитированием
Старый 26.03.2010, 19:24   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Это не команда, а переменная, которую тебе предлагают ввести.
Код:
var
    DialogOpened: Boolean;
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД и OpenDialog alexeybest БД в Delphi 3 17.02.2010 09:34
OpenDialog Cabyrc БД в Delphi 4 05.04.2009 11:56
opendialog blackstersl Общие вопросы Delphi 4 18.09.2008 15:21
opendialog blackstersl Общие вопросы Delphi 1 11.09.2008 18:23
OpenDialog.Options:=OpenDialog.Options+[ofAllowMultiSelect]; necky Компоненты Delphi 2 11.08.2007 12:53