Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  115

•  TDictionary Custom Sort  3 304

•  Fast Watermark Sources  3 055

•  3D Designer  4 807

•  Sik Screen Capture  3 304

•  Patch Maker  3 522

•  Айболит (remote control)  3 623

•  ListBox Drag & Drop  2 982

•  Доска для игры Реверси  81 496

•  Графические эффекты  3 909

•  Рисование по маске  3 218

•  Перетаскивание изображений  2 602

•  Canvas Drawing  2 724

•  Рисование Луны  2 548

•  Поворот изображения  2 157

•  Рисование стержней  2 156

•  Paint on Shape  1 561

•  Генератор кроссвордов  2 220

•  Головоломка Paletto  1 760

•  Теорема Монжа об окружностях  2 205

•  Пазл Numbrix  1 678

•  Заборы и коммивояжеры  2 049

•  Игра HIP  1 274

•  Игра Go (Го)  1 220

•  Симулятор лифта  1 465

•  Программа укладки плитки  1 211

•  Генератор лабиринта  1 537

•  Проверка числового ввода  1 346

•  HEX View  1 484

•  Физический маятник  1 351

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Несколько методов, обрабатывающих одно сообщение





unit ManyForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TFormManyMess = class(TForm)
    LBox: TListBox;
    Label1: TLabel;
    Button1: TButton;
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    procedure WndProc(var Message: TMessage); override;
    procedure DefaultHandler(var Message); override;
    procedure WmLButtonDown (var Message: TWMMouse);
      message wm_lButtonDown;
    procedure MouseDown(Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); override;
    procedure ApplicationMessage (var Msg: TMsg;
      var Handled: Boolean);
  end;

var
  FormManyMess: TFormManyMess;

implementation

{$R *.DFM}

procedure TFormManyMess.FormMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState;
  X, Y: Integer);
begin
  if Button = mbLeft then
    LBox.Items.Add (Format ('%s in (%d, %d)',
      ['FormMouseDown', X, Y]));
end;

procedure TFormManyMess.WndProc(var Message: TMessage);
begin
  if Message.Msg = wm_LButtonDown then
    LBox.Items.Add (Format ('%s in (%d, %d)',
      ['WndProc', LoWord (Message.LParam),
      HiWord (Message.LParam)]));
  inherited;
end;

procedure TFormManyMess.DefaultHandler(var Message);
begin
  with TMessage (Message) do
    if Msg = wm_LButtonDown then
      LBox.Items.Add (Format ('%s in (%d, %d)',
        ['DefaultHandler', LoWord (LParam),
        HiWord (LParam)]));
  inherited;
end;

procedure TFormManyMess.WmLButtonDown (var Message: TWMMouse);
begin
  LBox.Items.Add (Format ('%s in (%d, %d)',
    ['WmLButtonDown', Message.XPos, Message.YPos]));
  inherited;
end;

procedure TFormManyMess.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
    LBox.Items.Add (Format ('%s in (%d, %d)',
      ['MouseDown', X, Y]));
  inherited;
end;

procedure TFormManyMess.ApplicationMessage (var Msg: TMsg;
  var Handled: Boolean);
begin
  if (Msg.Message = wm_LButtonDown) and
      (Msg.hWnd = Handle) then
    LBox.Items.Add (Format ('%s in (%d, %d)',
      ['ApplicationMessage', LoWord (Msg.LParam),
      HiWord (Msg.LParam)]));
  Handled := False;
end;

procedure TFormManyMess.FormCreate(Sender: TObject);
begin
  Application.OnMessage := ApplicationMessage;
end;

procedure TFormManyMess.Button1Click(Sender: TObject);
begin
  LBox.Clear;
end;



end.

Загрузить исходный код проекта








Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте