Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
ВнизКрестик Найти похожие ветки
← →
Defort © (2007-02-05 12:38) [0]Господа, вопрос наверное очень глупый, но все же: какое событие отвечает за нажатия крестика закрытия? Есть конечно событие OnClose но я так понимаю, что оно не для крестика, а вобще для закрытия формы (т.е. для любого Form.Close). Мне нужно конкретно под крестик
← →
Elen © (2007-02-05 12:45) [1]
> Мне нужно конкретно под крестик
Чего так? Чем OnClose OnCloseQuery не катит?
← →
Ega23 © (2007-02-05 12:46) [2]А если не крестик, а Alt+F4? Тогда что?
← →
umbra © (2007-02-05 12:48) [3]"конкретно под крестик" надо обрабатывать сообщение WM_SYSCOMMAND с командой SC_CLOSE
← →
Zeqfreed © (2007-02-05 13:10) [4]Конкретно крестик — WM_NCHITTEST, WM_NCBUTTONDOWN, WM_NCBUTTONUP.
← →
Defort © (2007-02-05 13:50) [5]Нет, а вообще событие OnClose для любого закрытия формы или только под "крестик". У меня окошко, где есть кнопочки ОК и Отмена. Вот крестик должен выполнять функции кнопки "Отмена", но я боюсь что если повесить эту функцию на OnClose, то при нажатии кнопки ОК (там форма тоже закрывается) у меня будут выполнятся действия отмены...
← →
iXT © (2007-02-05 15:29) [6]Чего-чего?????
OnClose - событие возникающее при закрытии формы. Чего туды положешь, то выполнится при закрытии формы.
З.Ы. Сформулируй вопрос нормально!!!
← →
Ega23 © (2007-02-05 15:33) [7]значение ModalResult проверяй.
← →
iXT © (2007-02-05 15:37) [8]Мой телепатор подсказывает что "крестик" тут вообще окажется не причем
← →
RASkov (2007-02-05 15:44) [9]> [5] Defort © (05.02.07 13:50)
А что у тебя за "функции кнопки "Отмена""
Лучше кнопку "Отмена" сделай также как и OnClose, а все необходимое на кнопку "Ок" Т.е. на OnClose ничего, на кнопку "Отмена" - Close; и только на кнопку "Ок" все нужное.....
Илиprocedure TForm2.ButtonOkClick(Sender: TObject);
begin
.....
ModalResult:=mrOk;
end;
procedure TForm2.ButtonNoClick(Sender: TObject);
begin
.....
ModalResult:=mrNo;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
case ModalResult of
mrOk: ShowMessage("Ok");
mrNo: ShowMessage("No");
mrCancel: ShowMessage("Cancel");
end;
end;
← →
Defort © (2007-02-05 18:38) [10]У меня там довольно сложная система. У меня открывается окошко добавления новой записи в базу. Скорее всего все очень неправильно, поскольку я делал все методом проб и ошибок.
Открывается окно добавления новой записи в табоицу (таблица Договоров). После этого (в режиме редактирования главной таблице) по нажатию кнопки открывается новое окошко для связанной таблицы (график платежей). Перед открытием этого окна для того, чтобы записи в главной таблице был присвоен номер для ключевого поля Key делаеются подряб команды Post и Edit (то есть снова открывается для редактирования). Далее создается график платежей, окошко закрывается. И вот после этого если нажать кнопку Отмена (команда Cancel) - она работает неправильно, т.к. запись то уже запостена.Вот я и пытался решить эту проблему, навесив на кнопку отмена кучу проверок типа: была ли нажата кнопка графика платежей (если нажата - то там была команда Post и отмена уже заключается в удалении этой записи), а если не нажата, то просто Cancel.
В итоге все равно все блин не работает, при попытке сделать Post для главной таблице вылазит ошибка мол не найдена запись для обновления (соседняя тема)......
В общем не знаю что делать. Скажете - читай теорию, но ее у меня нету и мой уровень программинга на делфи не такой большой чтобы читать очень умные книги (я даже sql не знаю)
← →
Комбинатор (2007-02-05 18:56) [11]
> Скорее всего все очень неправильно
ты прав
← →
Defort © (2007-02-05 20:38) [12]2Комбинатор: а как сделать правильно?
← →
evvcom © (2007-02-06 09:50) [13]> [8] iXT © (05.02.07 15:37)
Мой телепатор это подсказывал уже после прочтения сабжа в общем списке вопросов :)
← →
Алхимик © (2007-02-06 09:58) [14]> для того, чтобы записи в главной таблице был присвоен номер
> для ключевого поля Key делаеются подряб команды Post и Edit
См. автоинкремент, триггер, генератор и т.д.
Что за СУБД?
> а как сделать правильно?
Код в студию!
← →
Defort © (2007-02-06 10:07) [15]
> Что за СУБД?
MS Access
> Код в студию!
Он очень громоздкий и содержит кучу операций не связанных с сабжем. Думаю смысла нет.
> См. автоинкремент, триггер, генератор и т.д.
Где смотреть?
← →
Megabyte © (2007-02-06 10:12) [16]
> Defort © (05.02.07 18:38) [10]
Скажете - читай теорию, но ее у меня нету и мой уровень программинга на делфи не такой большой чтобы читать очень умные книги (я даже sql не знаю)
Кошмар, ну никогда не понимал, как можно работать с БД, не зная SQL...
Что ты бред какой-то пишешь, что мол у тебя мало опыта, чтобы читать книги?! Епта, да по книгам все учатся... Там проще, есть куча примеров, в отличие от многих статей. Или ты все хочешь познать методом научного тыка?
← →
evvcom © (2007-02-06 10:29) [17]> [16] Megabyte © (06.02.07 10:12)
> научного тыка?
научного втыка :)
Сейчас навтыкают ему здесь понаучному, и, возможно, тогда он сядет за книги.
← →
Defort © (2007-02-06 14:40) [18]юмористы
← →
iXT © (2007-02-06 16:49) [19]Не сядет. Судя по программулине переделывать ему ее уже не дадут. Сл-но будет извращение абы работало.
По теме ищи Commit, RollBack... если access могет
← →
evvcom © (2007-02-06 16:55) [20]> [19] iXT © (06.02.07 16:49)
А я и не утверждал, что сядет. :) Я давно научен не употреблять "категоричных" слов типа "всегда", "никогда". И в данном случае я употребил "возможно". :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.039 c