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


Автор: SpaceSpace 10.4.2007, 08:51
Здравствуйте.

Есть ли возможность забанить кнопку закрытия формы("крестик" в SystemMenu) и Maximize?

Форма является MdiChild. По требованию заказчика ( smile ) жизненно необходимо убрать системные кнопки Maximize, и крестик. Используя имеющие свойства удается сделать их только неактивными (enabled), нужно добраться до свойств vizible "крестика" и  Maximize.
При этом нужно сохранить эргономичность дизайна, требование обязательно, обойти нельзя, зарисовать их тоже не катит.
В конечном итоге на Title формы должна быть только кнопка сворачивания( Minimize)


Автор: Snowy 10.4.2007, 09:48
Установи стиль border в bsToolSizeWindow и на OnClose повесь сворачивание.
Не совсем то, конечно - роль кнопки сворачивания будет выполнять кнопка закрытия.
Но ИМХО вполне съедобно и простореализуемо.

Автор: SpaceSpace 10.4.2007, 10:29
TO Snowy

Спасибо за ответ, но это не то.
К стати, у MdiChild,по крестику автоматически сворачивается...
А разворачивать как? тоже по OnClose ловить?
Это изврат...
хотя седня спрошу у заказчика может прокатит, хотя не факт...
если делать так то можно как-нить перерисовать иконку у крестика, не сильно извращаясь

Автор: Snowy 10.4.2007, 10:33
По OnClose проверять состояние и сворачивать / разворачивать.
Стандартные оконные механизмы не позволяют выбирать набор кнопок.
Обычно делают эмуляцией - убирают все и рисуют свою.
Так что из стандартных операций - оставить крестик наиболее простой способ.

Автор: SpaceSpace 10.4.2007, 10:41
TO Snowy

Понимаете ли... эргономика очень важна.
Приложение стоит в 300 точках, нельзя пугать пользователей крестиком.
Боятся они его. Поэтому нужен стандаотный виндовый Icon

Автор: Snowy 10.4.2007, 12:15
Ну тогда убирай все кнопки и вставляй свой спидбаттон в заголовок.

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