Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как запретить кнопки


Автор: Romikgy 11.11.2005, 10:30
Вот сабж?
Нашел такой текст:
Код

var sy: hmenu;
begin
 sy:=GetSystemMenu(Handle,false);
 Windows.EnableMenuItem(sy,SC_CLOSE,MF_DISABLED or MF_GRAYED);
 end;


Эта вещь запрещает кнопку Закрыть , а остальные как?

Автор: Alexeis 11.11.2005, 11:19
Код

procedure TForm1.FormCreate(Sender: TObject); 
var 
  l: DWORD; 
begin 
  l := GetWindowLong(Self.Handle, GWL_STYLE); 
  l := l and not (WS_MINIMIZEBOX); 
  l := l and not (WS_MAXIMIZEBOX); 
  l := SetWindowLong(Self.Handle, GWL_STYLE, l); 
end;

Автор: Romikgy 11.11.2005, 12:48
Спасибо за ответ , но в твоем примере они (кнопки ) просто не работают , а как их сделать неактивными?

Автор: Alexeis 11.11.2005, 13:14

Вот так можно запретить не удаляя,
но серыми они не станут

DeleteMenu(MenuHandle, SC_MINIMIZE, MF_BYCOMMAND);
DeleteMenu(MenuHandle, SC_MAXIMIZE, MF_BYCOMMAND);

Автор: Romikgy 14.11.2005, 10:47
Спасибо
alexeis1
Но я видел в приложении, правда не помню в каком, кнопка макимум или ресторе была серая!!!!

ЗЫ А удалить их можно вооще , только не все сразу, а одну например среднюю?

Автор: Romikgy 14.11.2005, 12:54
Спасибо всем ответившим, тему можно считать закрытой! Ответ нашел в соседней ветке smile

Автор: FRAGNATIC 14.11.2005, 13:40
Цитата
Но я видел в приложении, правда не помню в каком, кнопка макимум или ресторе была серая!!!!

вполне возможно что в приложэении их вообще не было а был просто скин какойнить с этими кнопками =)

Автор: Romikgy 14.11.2005, 16:30
Неа были
Цитата
BorderIcons - biMaximize поставь false

почти дословная , это свойство формы smile
Мож кому понадобится, отсюда узнал
http://forum.vingrad.ru/index.php?showtopic=70495#

Автор: Poseidon 14.11.2005, 18:12
Romikgy - этож раздел WinApi. Какая форма?

Автор: Romikgy 15.11.2005, 10:12
Цитата(Poseidon @ 14.11.2005, 18:12)
этож раздел WinApi. Какая форма?

Какое Винапи smile По форме в дельфи кнопкой княкаешь , потом переходишь в свойства формы и там есть BorderIcons, где здесь винапи???? smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)