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

Вниз

почему нет WM_CloseQuery?   Найти похожие ветки 

 
Grief ©   (2005-06-23 15:59) [0]

CloseQuery на VCL позволяет запретить закрытие окна. Как быстро сделать так же на WinAPI? WM_CloseQuery к сожалению отсутствует. :(


 
alpet ©   (2005-06-23 16:03) [1]

Перехватывай WM_CLOSE и WM_SYSCOMMAND + SC_CLOSE это посути основные команды закрытия. Кстати зачем с Delphi поставляются исходники VCL ?


 
Digitman ©   (2005-06-23 16:12) [2]


> alpet ©   (23.06.05 16:03) [1]


> зачем с Delphi поставляются исходники VCL ?


очевидно чтобы их А.С.Пушкин читал/изучал.
не царское это дело - читать исходники самого Борланда. дабы понять. что, как и почему делает сам Борланд)


 
Игорь Шевченко ©   (2005-06-24 11:02) [3]

alpet ©   (23.06.05 16:03) [1]

Собственно, только WM_CLOSE.

"An application can prompt the user for confirmation, prior to destroying a window, by processing the WM_CLOSE message and calling the DestroyWindow function only if the user confirms the choice. "


 
Grief ©   (2005-06-24 19:53) [4]

Касательно исходников VCL - я пошагам выполнял - так там и до ассемблера доходит. А тут я ничегошеньки не знаю.
Так как запретить-то закрытие?


 
jack128 ©   (2005-06-24 20:08) [5]

Помедитировав над сообщением Игоря я выяснил следующее:

procedure TCustomForm.WMClose(var Message: TWMClose);
begin
 Close;
end;

А вот медитировать над этим методом я предоставлю тебе, благо асма там нету..


 
NikNet ©   (2005-06-24 20:18) [6]

Удалено модератором


 
Grief ©   (2005-06-25 11:37) [7]

Удалено модератором


 
jack128 ©   (2005-06-25 19:11) [8]

Grief ©   (25.06.05 11:37) [7]
Он же вроде как закроет окно.

Логично. Значит чтобы окно НЕ закрывалось, достаочно убрать вызов Close из обработчика WM_CLOSE


 
Marser ©   (2005-06-25 19:22) [9]

Grief ©   (25.06.05 11:37) [7]
В принципе, wm_close ближе по своеё идее как раз к On_CloseQuery - тебе сообщают, что окно хотят закрыть, а дальше на твоё усмотрение.


 
Grief ©   (2005-06-25 20:25) [10]

Удалено модератором


 
Kerk ©   (2005-06-25 20:32) [11]

Grief ©   (25.06.05 20:25) [10]
Поясните плиз. Как отказаться от закрытия ?


см [8] + думаем головой


 
Grief ©   (2005-06-25 21:04) [12]

Удалено модератором


 
Marser ©   (2005-06-25 22:31) [13]

procedure Formochka.WMClose(var Message: TWMClose);
begin
{Нас типа того... закрывают...}
if {ну и ладно} then
Close{inherited как вариант}
else {да ну вас}
end;

Ну а если мы глубоко погрязли в API, то действуем вот так(в оконной процедуре):

....
wm_close: if {<закрываем контору>} then
Result:=DefWindowProc(wnd,msg,wparam,lparam)
{В данном случае почётное право закрытия передаётся  стандартному обработчику}
else {не закрываем}
Result:=0
//Просто не реагируем
...


 
Grief ©   (2005-06-26 15:39) [14]

Удалено модератором


 
Юрий Зотов ©   (2005-06-26 16:38) [15]

> Grief
> в WinAPI ко мне приходит мессага WM_Close, что с ней делать?
> Result = 0? щас проверю.

Я крайне удивлен тем, что человек, пишущий на API, не утруждает себя чтением справки по оной. Хотя там все написано.


 
Grief ©   (2005-06-26 22:26) [16]

Лень-родная. Особенно когда есть мастера.


 
Kerk ©   (2005-06-26 22:46) [17]

Ну и сволочь ты


 
Grief ©   (2005-06-26 22:53) [18]

Удалено модератором


 
Kerk ©   (2005-06-26 22:56) [19]

Удалено модератором


 
Marser ©   (2005-06-27 01:14) [20]

Удалено модератором


 
Германн ©   (2005-06-27 02:27) [21]

Удалено модератором


 
Marser ©   (2005-06-27 02:33) [22]

Удалено модератором


 
Grief ©   (2005-06-27 10:10) [23]

Удалено модератором


 
VMcL ©   (2005-06-27 10:15) [24]

>>Grief ©   (27.06.05 10:10) [23]

>Да ну. Был бы хелп. Вот у меня к примеру нету.

Врать нехорошо.
http://msdn.microsoft.com/library/default.asp


 
Poirot ©   (2005-06-27 14:17) [25]

<offtop>
А орешние не отменили ешшо?! Туда бы это всё :)
</offtop>
Легче просто написать хоть раз маленькое оконное приложение используя читый WinAPI и по шага посмотреть что и когда приходить - много поелзного найдёшь :)
ЗЫ: мастера долго помогать не будут - ибо голова чтобы есть?:))


 
Grief ©   (2005-06-27 14:59) [26]

Так то в сети. В сети проще у вас спросить. А вот на компе...


 
Игорь Шевченко ©   (2005-06-27 15:01) [27]


>  В сети проще у вас спросить.


За каждый ответ тебе ты обязан платить денег отвечающему. И не иначе.


 
default ©   (2005-06-27 15:03) [28]

Grief ©   (27.06.05 14:59) [26]
"В сети проще у вас спросить."
редкий засланец, однако


 
Kerk ©   (2005-06-27 17:10) [29]

А я сразу сказал, что сволочь. На редкость точным диагноз оказался.


 
Grief ©   (2005-06-27 22:25) [30]

Какие вы тут все злые. На кой нужен форум, если спрашивать нельзя?!


 
Marser ©   (2005-06-28 00:01) [31]

Grief ©   (27.06.05 22:25) [30]
А чтоба отвечать! И ещё таких как ты, пинать. Вот, ветка как растёт уже...

Желаю дойти до понимания самостоятельно и стать нормальным членом сообщества программистов, а не ламером в наклонностями трутня.


 
Игорь Шевченко ©   (2005-06-28 10:22) [32]


> На кой нужен форум


Деньги со спрашивающих собирать. Ты до сих пор не понял ?



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

Форум: "WinAPI";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.045 c
1-1122620153
Acid apple
2005-07-29 10:55
2005.08.21
Разные результаты компиляции исходников на разных компах


4-1120035773
DarkSet
2005-06-29 13:02
2005.08.21
открытие файла приложением


6-1115956502
@ndrew
2005-05-13 07:55
2005.08.21
Ошибки работы TSocket


14-1122815252
ROCKER***
2005-07-31 17:07
2005.08.21
Ламоразмы


1-1122965017
henston
2005-08-02 10:43
2005.08.21
создание серваса





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