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

Вниз

Отключение системного меню   Найти похожие ветки 

 
Гена   (2005-09-06 11:09) [0]

Поиск не работает - поэтому задам здесь.
Как отключить появление системного меню у формы (когда правой кнопкой по заголоку формы)?


 
Big Joe ©   (2005-09-06 14:03) [1]

Если в HNDL указать Application.Handle, то меню добавиться к меню
при клике правой кнопокой мыши на панели задач.
Если Form1.Handle (или любая ваша форма и даже не ваша),
то к системному меню окна клик на иконке окна (слева сверху в углу).

procedure ExtendSysMenu(HNDL: THandle; AddMenu: TMainMenu);
var
 i: integer;
begin
 if (AddMenu = nil) or (HNDL = 0) then
   Exit; //Проверяем ссылку на объект

 AppendMenu(GetSystemMenu(HNDL, False),
   MF_SEPARATOR, 0, ""); //Добавляем разделитель

 with AddMenu do
   for i := 0 to Items.Count - 1 do
     AppendMenu(GetSystemMenu(HNDL, False),
       MF_POPUP, Items[i].Handle,
       PChar(Items[i].Caption));
end;
Пример использования:

//На форму кидаем MainMenu (компоненту)
procedure TForm1.FormCreate(Sender: TObject);
begin
 ExtendSysMenu(Application.Handle, MainMenu1);
 ExtendSysMenu(Form1.Handle, MainMenu1);
end;


 
begin...end ©   (2005-09-06 16:37) [2]

> Гена   (06.09.05 11:09)

Насколько я знаю, вместе с меню отключатся и кнопки (Свернуть/Развернуть/Закрыть).


 
Турист   (2005-09-06 23:04) [3]

>Гена   (06.09.05 11:09)  
TForm.BorderIcons.biSystemMenu=False ?


 
Юрий Зотов ©   (2005-09-07 01:32) [4]

procedure TForm1.FormCreate(Sender: TObject);
var
 M: HMENU;
begin
 M := GetSystemMenu(Handle, False);
 while DeleteMenu(M, 0, MF_BYPOSITION) do
end;



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

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
14-1126504704
TUser
2005-09-12 09:58
2005.10.02
Накормить народ не трудно, Если топоры в руках. :))


14-1126283034
Santrope
2005-09-09 20:23
2005.10.02
Где можно прочитать про кртриджи?


1-1126524266
lauren
2005-09-12 15:24
2005.10.02
forms


9-1117189941
keal
2005-05-27 14:32
2005.10.02
обход преград в warcraft е


2-1124714038
NikNet
2005-08-22 16:33
2005.10.02
Как перенаправить ошибку, WinAPI