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

•  Animation Loaders  928

•  DeLiKaTeS Tetris (Тетрис)  5 870

•  TDictionary Custom Sort  7 820

•  Fast Watermark Sources  7 493

•  3D Designer  10 727

•  Sik Screen Capture  8 045

•  Patch Maker  8 253

•  Айболит (remote control)  8 303

•  ListBox Drag & Drop  7 122

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

•  Графические эффекты  8 369

•  Рисование по маске  7 745

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

•  Canvas Drawing  6 714

•  Рисование Луны  6 649

•  Поворот изображения  5 783

•  Рисование стержней  4 723

•  Paint on Shape  3 430

•  Генератор кроссвордов  4 413

•  Головоломка Paletto  3 556

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

•  Пазл Numbrix  2 820

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

•  Игра HIP  2 541

•  Игра Go (Го)  2 541

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

•  Программа укладки плитки  2 362

•  Генератор лабиринта  3 113

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

•  HEX View  3 003

 
скрыть

  Форум  

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-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

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