Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196

"Закрыть окно" убрать функцию

25.08.2012, 14:52. Показов 3932. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, только что гуглил, нечего не нашел, собственно вопрос таков. Панель задач, отображает мою запущенную программу, по клику на нее ПКМ, появляется список функций которые можно сделать с программой, можно ли убрать из этого списка для моей программы "Закрыть окно" либо вообще отменить действие по нажатию ПКМ на время работы программы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.08.2012, 14:52
Ответы с готовыми решениями:

как сделать так,чтобы когда я нажимаю кнопку закрыть в правом верхнем углу выходило окно сообшение?(типа вы хотите закрыть программу/да или нет/)
как сделать так,чтобы когда я нажимаю кнопку закрыть в правом верхнем углу выходило окно сообшение?(типа вы хотите закрыть программу/да или...

Закрыть окно
Доброго времени суток! подскажите пожалуйста как закрыть окно программы в то время когда работает какой либо цикл? (кнопка...

MDI не могу закрыть окно. В чем ошибка?
Доброго времени суток. Что я делаю не так? #include <vcl.h> #pragma hdrstop #include "Teibl1.h" ...

8
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
25.08.2012, 16:24
Цитата Сообщение от heroii2009 Посмотреть сообщение
можно ли убрать из этого списка для моей программы "Закрыть окно" либо вообще отменить действие по нажатию ПКМ на время работы программы?
В своей программе на OnClose напишите
C++
1
2
3
4
5
6
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
    Action=false;
}
//---------------------------------------------------------------------------
1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
25.08.2012, 17:12
Убрать этот или какой-либо другой пункт из всплывающего меню проводника весьма непросто, в некоторых случаях и вовсе невозможно. Некоторые вещи модифицируются в реестре, некоторые пропатчиванием исполняемых модулей проводника. В данном случае все это ненужные дебри, лезть в которые нет никакой необходимости.

Если жмякнуть "Закрыть окно" или кнопку закрытия на самом окне, форме будет отослано вежливое предложение закрыться в виде сообщения WM_CLOSE. Сработает обработчик OnClose и, как правильно предложил ivan.-94, в этом обработчике закрытие можно предотвратить, либо превратить его в минимизацию окна, либо инициировать разрушение экземпляра формы.
Есть, впрочем, и еще один обработчик закрытия окна - OnCloseQuery, в нем можно модифицировать параметр CanClose.

Добавлено через 4 минуты
Только вот правильно будет так, все-таки TCloseAction имеет не булевый тип, а целочисленный:
C++
1
2
3
4
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
    Action = caNone;
}
2
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196
25.08.2012, 17:37  [ТС]
но ведь я не смогу потом закрыть форму по принципу
Code
1
Form1->Close();
и это плохо
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
25.08.2012, 17:42
Почему нет? Можно вот так, например:
C++
1
2
3
4
5
6
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) {
    Action = now_we_can_close_form ? caFree: caNone;
}
//...
Form1->now_we_can_close_form = true;
Form1->Close();
Добавлено через 58 секунд
C++
1
bool now_we_can_close_form; // это объявляем в классе формы
1
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
25.08.2012, 17:53
или
C++
1
Application->Terminate();
0
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 17
13.02.2013, 21:50
Кликните здесь для просмотра всего текста
Цитата Сообщение от BRcr Посмотреть сообщение
Убрать этот или какой-либо другой пункт из всплывающего меню проводника весьма непросто, в некоторых случаях и вовсе невозможно. Некоторые вещи модифицируются в реестре, некоторые пропатчиванием исполняемых модулей проводника. В данном случае все это ненужные дебри, лезть в которые нет никакой необходимости.

Если жмякнуть "Закрыть окно" или кнопку закрытия на самом окне, форме будет отослано вежливое предложение закрыться в виде сообщения WM_CLOSE. Сработает обработчик OnClose и, как правильно предложил ivan.-94, в этом обработчике закрытие можно предотвратить, либо превратить его в минимизацию окна, либо инициировать разрушение экземпляра формы.
Есть, впрочем, и еще один обработчик закрытия окна - OnCloseQuery, в нем можно модифицировать параметр CanClose.

Добавлено через 4 минуты
Только вот правильно будет так, все-таки TCloseAction имеет не булевый тип, а целочисленный:
C++
1
2
3
4
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
    Action = caNone;
}

Здраствуйте
а как можно сделать так, что можно было бы заместо "закрыть окно" свернуть его в трей?
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
13.02.2013, 21:55
sed99,
C++
1
2
3
4
        Action=caNone; // Прервать команду закрытия, далее новая команда
        Application->ShowMainForm = false;
        ShowWindow(Handle,SW_HIDE); // Скрываем программу
        ShowWindow(Application->Handle,SW_HIDE); // Скрываем кнопку с TaskBar'а
1
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 17
14.02.2013, 09:29
Спасибо, то что надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2013, 09:29
Помогаю со студенческими работами здесь

Цикл в OnClick() не дает закрыть окно (задача из книги М.Мозговой)
Здравствуйте. В задачах из книги "Занимательное программирование" М.Мозговой циклы находятся в обработчике события кнопки OnClick(), и...

Не закрыть окно
Начал изучать WinAPI. Написал простенькую программу. Когда я закрываю её, окно исчезает, но я вижу в заголовке visual c++ 2010 строку...

Закрыть окно рекламы
Здравствуйте Уважаемые !!! Проблема распространенная, но решения не найду. Есть программа, которой часто пользуюсь, После...

Закрыть окно windows
Здравствуйте у меня есть программа по вызову калькулятора 5 раз for(int i=0;i<5;i++) system("calc.exe"); Проблема...

Закрыть окно клавишей
Закрыть окно клавишами ESC или ctrl+q, подскажите, пожалуйста, как написать такую функцию. #include <windows.h> LRESULT...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru