Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.25;
Скачать: CL | DM;

Вниз

Крестик   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.045 c
15-1170395686
WondeRu
2007-02-02 08:54
2007.02.25
Оцените новую версию сайта "DirectShow по-русски"


8-1151588962
Gotami
2006-06-29 17:49
2007.02.25
Позиция курсора


2-1170542958
Student_
2007-02-04 01:49
2007.02.25
Обработчик для SpeedButton


15-1170614636
hmmm
2007-02-04 21:43
2007.02.25
RSDN


15-1170333880
boriskb
2007-02-01 15:44
2007.02.25
История PC в рекламных роликах