Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
1

Замена стандартного события кнопок свернуть/развернуть/закрыть

11.07.2012, 11:39. Показов 2876. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа, кто может что посоветовать по данному случаю. Меня интересует не простое запрещение
C++
1
2
3
HMENU MenuHandle = GetSystemMenu(Handle, false);
if(MenuHandle)
  DeleteMenu(MenuHandle, SC_CLOSE, MF_BYCOMMAND);
нажатия кнопки, а что б она сохранила свою работоспособность, но выполняла другое действие. К примеру б скрывала форму родителя.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2012, 11:39
Ответы с готовыми решениями:

кнопки закрыть, свернуть, развернуть
Возникла нужда убрать эти кнопки(те которыми сворачивают, разворачивают и закрывают окна) или...

Как добавить еще свернуть, свернуть/развернуть?
сделал рамку через BorderStyle

Как развернуть и свернуть форму???
Здравствуйте, помогите мне осуществить следующее: Есть форма и при двойном нажатии она...

Развернуть и свернуть дочернюю форму
Доброе время суток подскажите плз как развернуть и свернуть дочернею форму в PageControl или в...

7
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
11.07.2012, 12:14 2
что касается, например, "Закрыть", то не побойтесь написать
C++
1
2
3
4
5
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
ParentForm->Hide();
CanClose=false;
}
1
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
11.07.2012, 12:24 3
можно попробовать с помощью TApplicationEvents, кидаете на форму, в OnMessage пишете:
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
if((Msg.message==161)&&(Msg.wParam==9))
{
// обрабатываем
}
return;
}
Как поймать событие "Maximize" формы?


Перехват события minimized ловиться с помощью Application Events событие onMinimized
1
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
11.07.2012, 12:37  [ТС] 4
AntonChik, то, что нужно! А можно еще два точно таких же примера для свертывания и разворачивания? мне просто для общего развития.

Mr.Sandman, вот это ближе к тому, что я думал. Но совсем не понятно что такое 161 и 9. Не информативно. Можно тоже мне для примера список, откуда эти циферки берутся?
0
42 / 59 / 15
Регистрация: 19.12.2011
Сообщений: 552
11.07.2012, 12:50 5
Сам мучаюсь над этим вопросом, но тот код где 161 и 9 некорректно работает после двух трех сворачиваний он ее разворачивает. Поэтому я советую почитать https://www.cyberforum.ru/cpp-... d35287.htm тему. На счет MAXIMIZED. А про minimized тут все корректно отрабатывается
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
11.07.2012, 13:17  [ТС] 6
Mr.Sandman, что-то ссылка какая-то битая. Не открывается что-то.
Но вот очень интересен вариант AntonChik. Возможно функция FormCloseQuery и указатель на переменную &CanClose, тоже где-то как-то описаны (define?). Не охота заморачиваться с сообщениями.

Добавлено через 15 минут
Где находится оброботчик FormCloseQuery? А как добраться-то до него? До самой его селезенки. Зачем - это уже другой вопрос.
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
11.07.2012, 16:57 7
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Где находится оброботчик FormCloseQuery? А как добраться-то до него? До самой его селезенки. Зачем - это уже другой вопрос.
На вкладке событий формы в инспекторе объектов.
Можно еще обрабатывать OnClose формы: параметр Action ставим в caNone, caHide или caMinimize по вкусу - и делаем попутно все, что требуется.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.07.2012, 20:19 8
Перехват события по кнопке свернуть
0
11.07.2012, 20:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2012, 20:19
Помогаю со студенческими работами здесь

Программно одновремено запретить иконки, 'Свернуть' и 'Развернуть'
Проблема в том что я не могу одновременно запретить иконку свернуть и развернуть. Вот сам и код ...

Закрыть свернуть розвернуть.
Добрый день собствено вопрос в чом как можна отключить кнопки Закрыть свернуть розвернуть. или как...

Стилизация кнопок свернуть/развернуть/закрыть
Решил сделать свой стиль кнопок: закрыть и свернуть, нарисовал в фотошопе и поместил их с помощью...

QDockWidget, добавление кнопок системного меню (свернуть, развернуть, закрыть)
Как добавить QDockWidget-у кнопку "maximize" в то время, как он "floating" ? Имеется ввиду, что...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru