Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
Гена   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.004 c
1-1126701910
Jolik
2005-09-14 16:45
2005.10.02
Как узнать дополнительные сведения о файле?


1-1126116257
The Only
2005-09-07 22:04
2005.10.02
bdu?


1-1126449004
lmz
2005-09-11 18:30
2005.10.02
Цветной DBGrid


1-1126604338
IfBeginThenEnd
2005-09-13 13:38
2005.10.02
Базовый API


1-1126614631
Tor
2005-09-13 16:30
2005.10.02
Пауза без остановки процесса типа Sleep





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский