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

Вниз

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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
1-13624
Толстый
2002-07-25 10:55
2002.08.05
Выход из Windows


14-13791
Чувак13
2002-07-10 14:04
2002.08.05
про Дельфи и базы данных


14-13822
JohnnyJ
2002-07-09 23:37
2002.08.05
Утомленный солнцем


14-13800
T2
2002-07-10 15:30
2002.08.05
сСылки


1-13625
Spooky
2002-07-25 10:25
2002.08.05
Изменить масштаб TBitmap