Главная страница
    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.5 MB
Время: 0.116 c
15-1169545159
RASkov
2007-01-23 12:39
2007.02.25
"Формула маятника"


15-1170415324
stud
2007-02-02 14:22
2007.02.25
виснет ibexpert при старте


3-1165223024
UMU
2006-12-04 12:03
2007.02.25
Максимальная дата


3-1164877480
tytus
2006-11-30 12:04
2007.02.25
Как отсортировать данные в OracleDataSet?


2-1170753777
НиколайКо
2007-02-06 12:22
2007.02.25
Как определить версию платформы?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский