Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];

Вниз

Можно ли закрыть форму в ее OnShow?   Найти похожие ветки 

 
Calm   (2003-04-28 09:23) [0]

Уважаемые коллеги,
имеется форма заказа OrderForm, в которой *необходимо* заполнить поле имени клиента. Клиент выбирается с помощью специальной формы CustomerForm.
При необходимости добавить новый заказ делаю OrderForm.ShowModal.
В OnShow OrderForm сразу вызываю окно выбора клиента CustomerForm.ShowModal (чтобы пользователю меньше кнопок нажимать - все равно клиента нужно выбирать).
Если пользователь передумал вводить заказ, то он отменит выбор клиента (нажмет кнопку "Отмена") при этом мне нужно закрыть еще не показавшуюся форму заказа (если клиента не выбрали, то и другие параметры заказа уже ни к чему указывать).

Но вот не получается у меня закрыть форму OrderForm :(
Обычное ModalResult:=mrCancel не помогает.
Не увенчалась и робкая попытка закрыть с помощью сообщения SendMessage(self.handle, WM_CLOSE, 0, 0).
Даже исключения raise Exception.Create("ла-ла-ля"); перехватывается где-то внутри формы, а не в моем try-except.

Укажите на мою ошибку - что я делаю не так и как нужно, чтобы форма ORderForm все-таки закрывалась.


 
Fighter   (2003-04-28 09:48) [1]

Попробуй PostMessage! У меня это работает!
PostMessage отправляет сообщение в очередь и как только OnShow отработает, твоё окно получит сообщение WM_CLOSE. Так что на слабенькой машине увидишь как появиться и исчезнет окошко!
SendMessage отправляет сообщение сразу и ждёт пока не получит результат.


 
NewN   (2003-04-28 09:57) [2]

Правильнее вызывать CustomerForm не в OnShow, а написать отдельную функцию.
function SelectOrder: ModalResult.
begin
if CustomerForm.ShowModal = MrOk then
Result:= OrderForm.ShowModal
else
Result:= MrCancel;
end;


 
Calm   (2003-04-29 13:40) [3]

Большое спасибо!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.006 c
1-34413
sndanil
2003-04-30 13:06
2003.05.12
Cокрытие MDIChild формы


4-34657
Syon
2003-03-06 22:41
2003.05.12
Как вернуть фокус своей форме ( но! из-под Кваки!!! )


7-34627
SergeyVasiljev
2003-03-18 18:18
2003.05.12
Как послать байт через переходник USB-LPT, при обращении к LPT?


1-34411
TRESDA
2003-04-28 14:42
2003.05.12
Табуляция в Memo.


11-34383
ODUVAN
2002-08-01 20:23
2003.05.12
Не могу поймать сообщения от мыши в SysTray!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский