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

•  DeLiKaTeS Tetris (Тетрис)  4 034

•  TDictionary Custom Sort  6 138

•  Fast Watermark Sources  5 937

•  3D Designer  8 796

•  Sik Screen Capture  6 265

•  Patch Maker  6 688

•  Айболит (remote control)  6 685

•  ListBox Drag & Drop  5 537

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

•  Графические эффекты  6 908

•  Рисование по маске  6 136

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

•  Canvas Drawing  5 442

•  Рисование Луны  5 155

•  Поворот изображения  4 701

•  Рисование стержней  3 314

•  Paint on Shape  2 551

•  Генератор кроссвордов  3 446

•  Головоломка Paletto  2 758

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

•  Пазл Numbrix  2 329

•  Заборы и коммивояжеры  3 019

•  Игра HIP  1 972

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

•  Симулятор лифта  2 245

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

•  Генератор лабиринта  2 405

•  Проверка числового ввода  2 085

•  HEX View  2 414

•  Физический маятник  2 044

 
скрыть

  Форум  

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

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



Delphi Sources

Обнаружение прокрутки TListBox



Автор: Dr. Bob

Хмм, было бы неплохо отлавиливать это сообщение и генерировать для этого случая событие OnVScroll. Например так:


unit Listbob;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls;

type
  TListBob = class(tlistbox)
  private
    { Private declarations }
    FOnHScroll: TNotifyEvent;
    FOnVScroll: TNotifyEvent;
  protected
    { Protected declarations }
    procedure WMHScroll(var Message: TWMHScroll); message WM_HSCROLL;
    procedure WMVScroll(var Message: TWMVScroll); message WM_VSCROLL;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
  published
    { Published declarations }
    property OnHScroll: TNotifyEvent read FOnHScroll write FOnHScroll;
    property OnVScroll: TNotifyEvent read FOnVScroll write FOnVScroll;
  end;

procedure Register;

implementation

constructor TListBob.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FOnHScroll := nil;
  FOnVScroll := nil;
end;

procedure TListBob.WMHScroll(var Message: TWMHScroll);
{ помните что данное сообщение вызывается дважды!! }
begin
  if Assigned(FOnHScroll) then
    FOnHScroll(Self);
  DefaultHandler(Message);
end;

procedure TListBob.WMVScroll(var Message: TWMHScroll);
{ помните что данное сообщение вызывается дважды!! }
begin
  if Assigned(FOnVScroll) then
    FOnVScroll(Self);
  DefaultHandler(Message);
end;

procedure Register;
begin
  RegisterComponents('Dr.Bob', [TListBob]);
end;

end.








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

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