Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Таскаем форму за её поверхность

Delphi , Программа и Интерфейс , Приложение своё

Code:
unit DragMain;
 
interface
 
uses
SysUtils, WinTypes, WinProcs,  Messages,
Classes, Graphics, Controls, Forms, Dialogs, StdCrtls;
 
type
TForm1 = class(TForm)
   Button1: TButton;
   procedure ButtonClick(Sender: TObject);
private        
   procedure WMNCHitTest(var M: TWMNCHitTest);
                message wm_NCCHitTest;
end;
 
var
Form1: TForm1;
 
implementation
 
{$R *.DFM}
 
procedure TForm1. WMNCHitTest(var M: TWMNCHitTest);
 
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




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


:: Главная :: Приложение своё ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 06:07:04/0.0057339668273926/0