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

Вниз

Завершение программы   Найти похожие ветки 

 
Andrew22   (2002-07-24 07:39) [0]

Я уже задавал этот вопрос но так и не получил ответа.
Как убрать крестик с окна в верху?


 
Tornado   (2002-07-24 07:49) [1]

Могу предложить как сделать "крестик с окна в верху" неактивным. Думаю можно не убирать, этого будет достаточно. Удачи.

procedure TForm1.FormCreate(Sender: TObject);

var hMenuHandle:HMENU;

begin
hMenuHandle := GetSystemMenu(Handle, FALSE);
IF (hMenuHandle <> 0) THEN
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
end;


 
NailMan   (2002-07-24 08:34) [2]

В свойствах формы(тобишь в окне Obj. Inspector) выключаешь в BordersIcon все что тебе нужно.


 
Andrew22   (2002-07-24 09:03) [3]

Так BorderIcon отключает все значки, а мне надо чтобы остальные остались.


 
K   (2002-07-24 09:41) [4]

Нажимаешь плюсик рядом с BorderIcon в инспекторе объектов, biSystemMenu устанавливаешь в False.


 
c0pYc@t   (2002-07-24 10:11) [5]

2 K Тогда проподет все меню со всеми кнопками


 
Andrew22   (2002-07-24 10:22) [6]

Вот именно.


 
dimkh   (2002-07-24 10:35) [7]

Как вариант - обрабатывать OnCloseQuery, в котором разрешать закрытие формы только, например, если юзер нажал на кнопку "Закрыть".


 
Andrew22   (2002-07-24 10:40) [8]

Напиши пример, плз.


 
Song   (2002-07-24 10:45) [9]

>>Напиши пример, плз.
А чего тут писать?
В обработчике проверяете координаты мыши (GetCursorPos) сравниваете их с кнопкой "Закрыть" (при желании можно рассчитать исходя из размеров окна - GetWidowRect(), и настроек системы - GetSystemMetrics() ) и соответсивенно возвращаете положительный или отрицательный CanClose.


 
Andrew22   (2002-07-24 10:56) [10]

Все равно не понял.


 
feniks   (2002-07-24 11:27) [11]


protected
Procedure WMClos(var Message : TMessage); message WM_Close;
.
.
.

procedure TForm1.WMClos(var Message: TMessage);
begin
if MessageBox(0,"Kill ?","Attention",mb_YesNo) = idYes
then begin
//что - то завершаем (если надо) перед закрытием
inherited
end
end;


 
c0pYc@t   (2002-07-24 11:43) [12]

Или просто в OnClose пишешь Action := caNone; и усё фиг закроешь )))


 
Vlad1   (2002-07-24 14:04) [13]

Можно проще:
1. Пусть Button1 - это кнопка "Закрыть".
2.
procedure TForm1.Button1Click(Sender: TObject);

begin
Button1.Tag:=1;
.............

Close;
end;

procedure TForm1.CloseQuery(...);

begin
Canclose:=(Button1.Tag=1);
end;


Разумеется, на этапе разработки установи Button1.Tag=0



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

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

Наверх





Память: 0.58 MB
Время: 0.021 c
1-13599
chips
2002-07-24 17:18
2002.08.05
как между операторами сделать задержку в пол секунды


1-13691
Vlad2
2002-07-23 11:33
2002.08.05
Интерфейсы


3-13558
kalliopiy
2002-07-15 17:46
2002.08.05
Нелады с сохранением информации


1-13604
иван
2002-07-24 16:58
2002.08.05
ПОМОЖИТЕ, ЧЕМ МОЖИТЕ!!!!!!!!


14-13808
Alibaba
2002-07-10 13:22
2002.08.05
Как бороться со СПАМЕРАМИ?





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