Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Системное меню, запретить 
:(
    Опции темы
Poseidon
  Дата 12.4.2005, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 10
Всего: 133



САБЖ собственно! smile
В DRKB и FAQ (может я плохо искал) только о том, как добавить в меню свой пункт, но вот как вообще запретить появление этого меню я не знаю. Мож кто подскажет? Самому что-то не приходит! smile

Если вариантов не будет, то хотябы можно-ли как-то запретить созданный нами пункт в системном меню (т.е. сделать его Enabled:= False).

Ну и конечно нужно знать, как все потом обратно вернуть smile


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Girder
Дата 12.4.2005, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



1. BorderIcons:=[];

2. BorderIcons:=[biSystemMenu,biMinimize,biMaximize];




--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
~FoX~
Дата 12.4.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 0
Всего: 68



Набирал в браузере, могу ошибиться:

Код

AppendMenu(GetSystemMenu(Self.Handle,FALSE),MF_DISABLED,1001,'MyItem');  




--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Poseidon
Дата 13.4.2005, 02:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 10
Всего: 133



Не ребята, не проходит!

Цитата(Girder @ 12.4.2005, 11:43)
1. BorderIcons:=[];
Это справляется с задачей, но убирает кнопку закрыть, что не есть гуд, т.к. нужно что бы она была (можно конечно кинуть Button и в OnClick прописать Close но это не выход)!

От
Цитата
AppendMenu(GetSystemMenu(Self.Handle,FALSE),MF_DISABLED,1001,'MyItem'); 
вообще не тот результат. Эта ф-ция добавляет еще один пункт, даже когда я вместо 1001 ставлю то число, с каторым создавал свое меню, а вместо 'MyItem' заголовок своего меню, все равно добавляется еще один пункт. Хотя MF_DISABLED должно что-то делать, но этого почему-то не происходит!



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Snowy
Дата 13.4.2005, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 30
Всего: 484



Могу предложить такой вариант:
Код

var
  h: hwnd;
begin
  h:=GetSystemMenu(Self.Handle,FALSE);
  while DeleteMenu(h, 0, MF_BYPOSITION) do ;
end;

Меню показываться точно не будет.
Но при отсутствии строчки Close, кнопка Close становится погашена.
Добавлено @ 10:41
Пробовал удалять, дизаблить - ничего его не берет.
Если работать с копией - рапортует, что все Ок, но эффекта нет.
Если работать с оригиналом, то отказывается его трогать.
PM MAIL   Вверх
Poseidon
Дата 13.4.2005, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 10
Всего: 133



Спасибо ребята за ответы, но все равно не то. Кнопка закрыть [Х] мне нужна! Блокировать ее или убирать не пойдет! Вот в том-то и загвоздка smile Неужели что бы добавить пункт в системное меню, способ есть, а что бы его там заблокировать нет! Вот млин!


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1704 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.