Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Наполовину активное окно

Delphi , Программа и Интерфейс , Формы

Наполовину активное окно

Как сделать так, чтобы окно было неактивно? Вы скажите: "Ничего сложного. Нужно только свойство окна Enabled установить в false"... но, так как окно является владельцем компонентов, находящихся на нём, то и все компоненты станут неактивными! Но был найден способ избежать этого!


private
  { Private declarations }
  procedure WMNCHitTest (var M: TWMNCHitTest); message wm_NCHitTest;

implementation
{$R *.DFM}

procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
  if M.Result = htClient then
    M.Result := htCaption;
end;

Программный код на языке Pascal предназначен для создания окна с частичной активностью, где можно кликать по заголовку, но не по остальной части окна.

Процедура WMNCHitTest отвечает за обработку сообщения wm_NCHitTest, которое отправляется системой при попытке клика по нераспределенной области окна (заголовок, рамки и т.д.).

В этом коде, если результат теста htClient истинен, то это означает, что была нажата клиентская область. В этом случае процедура устанавливает результат в htCaption, что сообщает системе, что заголовок (заголовок) должен быть активирован вместо этого.

Таким образом, когда вы кликаете по заголовку, окно становится активным и может быть перемещено или минимальизировано. Но если вы кликаете в любом месте нераспределенной области, ничего не происходит - окно остается неактивным.

Как вы упоминали, установка Enabled в false сделает все компоненты на форме неактивными, что не желательно в этом случае. Этот код позволяет для частичной активации окна, оставляя его компоненты активными.

Статья описывает способ сделать окно неактивным, оставляя активными компоненты на нем, используя обработчик события WM_NCHitTest в Delphi.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Формы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 18:00:04/0.0066859722137451/2