begin
inherited;
if M.Result = htClient then
M.Result := htCaption;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
end.
Программный код на Delphi, создает простой графический пользовательский интерфейс (GUI) с одним кнопкой. Когда кнопка нажата, форма закрывается.
Разбивка кода:
Единица DragMain начинает импортировать различные системные и компоненты GUI из библиотеки Delphi.
Определяется класс TForm1, который наследуется от TForm. Этот класс представляет собой окно (форму) с одной кнопкой, помеченной как "Button1".
Класс TForm1 имеет два приватных метода:
WMNCHitTest: Метод вызывается, когда пользователь кликнул на не-клиентскую область формы (например, панель заголовка, рамки и т.д.). Он переопределяет стандартное поведение, изменяя результат от htClient (который указывает на клиентскую область) до htCaption, что делает панель заголовка активной.
Button1Click: Метод вызывается, когда кнопка "Button1" нажата. Он просто закрывает форму с помощью процедуры Close.
Код также определяет глобальную переменную Form1: TForm1;, которая представляет собой экземпляр класса TForm1.
Секция реализации содержит два процедура:
WMNCHitTest: Метод идентичен методу, определенного в секции интерфейса.
Button1Click: Метод также идентичен методу, определенным в секции интерфейса.
Код использует директиву $R *.DFM для компиляции файла дизайна формы (*.DFM) и создания ресурсного файла для формы.
В целом, этот код демонстрирует, как создать простой GUI с кнопкой, закрывающей окно при нажатии. Он также показывает, как переопределить стандартное поведение, обрабатывая клики не-клиентской области в методе WMNCHitTest.
В статье описывается код на языке Delphi, который реализует функцию перетаскивания формы за ее поверхность.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.