Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
37 / 37 / 6
Регистрация: 20.03.2011
Сообщений: 331
1

Программно одновремено запретить иконки, 'Свернуть' и 'Развернуть'

23.04.2011, 14:43. Показов 4066. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема в том что я не могу одновременно запретить иконку свернуть и развернуть.
Вот сам и код
//---------------------------------------------------------------------------

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
    : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
TBorderIcons BI;
BI.Clear();
BI = BI << biMinimize << biSystemMenu;
BorderIcons = BI;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
TBorderIcons BI;
BI.Clear();
BI = BI << biMaximize << biSystemMenu;
BorderIcons = BI;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
Тоесть получается если кликаешь на первую кнопку то иконка свернуть блокируется а иконка развернуть опять становиться активной и наоборот. Как сделать чтобы они оба стали неактивными
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2011, 14:43
Ответы с готовыми решениями:

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

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

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

Замена стандартного события кнопок свернуть/развернуть/закрыть
Господа, кто может что посоветовать по данному случаю. Меня интересует не простое запрещение HMENU...

8
Покинул форум
3187 / 1366 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
23.04.2011, 14:56 2
Если правильно понял:
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TBorderIcons BI;
BI.Clear();
BI = BI >> biMinimize >> biMaximize<<biSystemMenu;
BorderIcons = BI;
}
//---------------------------------------------------------------------------
2
1123 / 794 / 101
Регистрация: 01.02.2011
Сообщений: 1,880
Записей в блоге: 1
23.04.2011, 15:03 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        // Отключает "свернуть и развернуть"
    TBorderIcons tempBI = BorderIcons;
    tempBI >> biMaximize >> biMinimize;
    BorderIcons = tempBI;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
        // Включает "свернуть и развернуть"
        TBorderIcons tempBI = BorderIcons;
    tempBI << biMaximize << biMinimize;
    BorderIcons = tempBI;
}
//---------------------------------------------------------------------------
2
37 / 37 / 6
Регистрация: 20.03.2011
Сообщений: 331
23.04.2011, 15:46  [ТС] 4
А нельзя сделать чтоб кнопки не проподали а просто были заблокированы
0
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
23.04.2011, 16:06 5
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HMENU MenuHandle = GetSystemMenu(Handle, false);
    if(MenuHandle)
{
        DeleteMenu(MenuHandle, SC_MAXIMIZE, MF_BYCOMMAND);
        DeleteMenu(MenuHandle, SC_MINIMIZE, MF_BYCOMMAND);
}
}
Ну или на каждую кнопку

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HMENU MenuHandle = GetSystemMenu(Handle, false);
    if(MenuHandle)
    DeleteMenu(MenuHandle, SC_MAXIMIZE, MF_BYCOMMAND);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
HMENU MenuHandle = GetSystemMenu(Handle, false);
    if(MenuHandle)
    DeleteMenu(MenuHandle, SC_MINIMIZE, MF_BYCOMMAND);
}
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.04.2011, 22:41 6
Цитата Сообщение от Infinity3000 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HMENU MenuHandle = GetSystemMenu(Handle, false);
    if(MenuHandle)
{
        DeleteMenu(MenuHandle, SC_MAXIMIZE, MF_BYCOMMAND);
        DeleteMenu(MenuHandle, SC_MINIMIZE, MF_BYCOMMAND);
}
}
Ну или на каждую кнопку

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HMENU MenuHandle = GetSystemMenu(Handle, false);
    if(MenuHandle)
    DeleteMenu(MenuHandle, SC_MAXIMIZE, MF_BYCOMMAND);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
HMENU MenuHandle = GetSystemMenu(Handle, false);
    if(MenuHandle)
    DeleteMenu(MenuHandle, SC_MINIMIZE, MF_BYCOMMAND);
}
Угу и в 6 билдере такой код вообще не работает
0
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
25.04.2011, 18:15 7
Цитата Сообщение от Sasha Посмотреть сообщение
Угу и в 6 билдере такой код вообще не работает
Все замечательно работает и на C++ builder 6 и на С++ builder XE! Проверял))))
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
25.04.2011, 18:22 8
Цитата Сообщение от Infinity3000 Посмотреть сообщение
Все замечательно работает и на C++ builder 6 и на С++ builder XE! Проверял))))
У меня в 6 билдере не работает провнрял
0
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
25.04.2011, 18:26 9
Цитата Сообщение от Sasha Посмотреть сообщение
У меня в 6 билдере не работает провнрял
Тогда не понятно)
0
25.04.2011, 18:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2011, 18:26
Помогаю со студенческими работами здесь

Программно развернуть дочернюю форму в MDI приложении
В программе имеется главная форма (MDIForm) и несколько дочерних (MDIChild), при закрытии дочерней...

Программно запретить иконки 'Закрыть', 'Свернуть' и 'Развернуть' в заголовке формы
Требуется программно запретить(сделать неактивными, недоступными) иконки 'Закрыть', 'Свернуть' и...

Почернели иконки :закрыть,свернуть,развернуть
Здравствуйте всем) Проблема моя в том,что пару дней назад иконки в верхнем правом...

Программно Развернуть/свернуть окна
Возможно - ли из программы maximize и обратно window (с формой или отчетом) - внутри окна с...


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

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