Marco's Web Center

Menu for Development

Site Menu
Object Pascal Handbook
Delphi Handbooks Collection
Mastering Borland Delphi 2005
(Old) White Papers
(Old)Tools
(Old) Conferences

My Other Sites
Italian Site (www.marcocantu.it)
the delphi search

Spirit of delphi

Advertising
Home My Blog Books Object Pascal Marco

Home: Code Repository: Mastering Delphi 5

Project SCROLL1

Project Structure


SCROLL1.DPR

program Scroll1;

uses
  Forms,
  ScrollF in 'ScrollF.pas' {Form1},
  StatusF in 'StatusF.pas' {Status};

{$R *.RES}

begin
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TStatus, Status);
  Application.Run;
end.

SCROLLF.PAS

unit ScrollF;

interface

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

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    ListBox2: TListBox;
    ListBox3: TListBox;
    ListBox4: TListBox;
    ListBox5: TListBox;
    ListBox6: TListBox;
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
  public
    procedure FormScroll (var ScrollData: TWMScroll); message wm_HScroll;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormResize(Sender: TObject);
begin
  Status.Label3.Caption := IntToStr(ClientWidth);
  Status.Label4.Caption := IntToStr(HorzScrollBar.Position);
end;

procedure TForm1.FormScroll (var ScrollData: TWMScroll);
begin
  inherited;
  Status.Label3.Caption := IntToStr(ClientWidth);
  Status.Label4.Caption := IntToStr(HorzScrollBar.Position);
end;

end.

STATUSF.PAS

unit StatusF;

interface

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

type
  TStatus = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Status: TStatus;

implementation

{$R *.DFM}

end.

SCROLLF.DFM

object Form1: TForm1
  Left = 213
  Top = 101
  Width = 458
  Height = 368
  HorzScrollBar.Range = 1000
  VertScrollBar.Range = 305
  ActiveControl = ListBox1
  AutoScroll = False
  Caption = 'Scrolling Form'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -13
  Font.Name = 'System'
  Font.Style = []
  OldCreateOrder = True
  OnResize = FormResize
  PixelsPerInch = 96
  TextHeight = 16
  object ListBox1: TListBox
    Left = 44
    Top = 112
    Width = 137
    Height = 193
    ItemHeight = 16
    Items.Strings = (
      'a'
      'b'
      'c'
      'd'
      'e'
      'f'
      'g'
      'h'
      'i'
      'j'
      'k'
      'l'
      'm'
      'n'
      'o'
      'p'
      'q')
    TabOrder = 0
  end
  object ListBox2: TListBox
    Left = 196
    Top = 80
    Width = 137
    Height = 201
    ItemHeight = 16
    Items.Strings = (
      'AA'
      'BB'
      'CC'
      'DD'
      'EE'
      'FF'
      'GG'
      'HH'
      'II'
      'JJ'
      'KK'
      'LL'
      'MM'
      'NN'
      'OO'
      'PP'
      'QQ')
    TabOrder = 1
  end
  object ListBox3: TListBox
    Left = 348
    Top = 32
    Width = 137
    Height = 233
    ItemHeight = 16
    Items.Strings = (
      '1'
      '2'
      '3'
      '4'
      '5'
      '6'
      '7'
      '8'
      '9'
      '10'
      '11'
      '12'
      '13'
      '14'
      '15'
      '16'
      '17'
      '18'
      '19'
      '20')
    TabOrder = 2
  end
  object ListBox4: TListBox
    Left = 504
    Top = 32
    Width = 153
    Height = 249
    ItemHeight = 16
    Items.Strings = (
      'ONE'
      'TWO'
      'THREE'
      'FOUR'
      'FIVE'
      'SIX'
      'SEVEN'
      'EIGHT'
      'NINE'
      'TEN')
    TabOrder = 3
  end
  object ListBox5: TListBox
    Left = 680
    Top = 32
    Width = 129
    Height = 241
    ItemHeight = 16
    Items.Strings = (
      '236'
      '568'
      '234'
      '769'
      '567'
      '345'
      '234'
      '123'
      '523'
      '754'
      '987'
      '978'
      '654'
      '543'
      '432'
      '321'
      '353'
      '565'
      '785'
      '673'
      '584'
      '784'
      '385'
      '484'
      '')
    TabOrder = 4
  end
  object ListBox6: TListBox
    Left = 832
    Top = 32
    Width = 145
    Height = 201
    ItemHeight = 16
    Items.Strings = (
      'QW'
      'ER'
      'TY'
      'UI'
      'OP'
      'LK'
      'JH'
      'GF'
      'DS'
      'AZ'
      'XC'
      'VB'
      'NM')
    TabOrder = 5
  end
end

STATUSF.DFM

object Status: TStatus
  Left = 191
  Top = 147
  BorderIcons = [biSystemMenu]
  BorderStyle = bsToolWindow
  Caption = 'Status'
  ClientHeight = 47
  ClientWidth = 189
  Font.Color = clWindowText
  Font.Height = -13
  Font.Name = 'System'
  Font.Style = []
  FormStyle = fsStayOnTop
  Visible = True
  PixelsPerInch = 96
  TextHeight = 16
  object Label1: TLabel
    Left = 8
    Top = 8
    Width = 90
    Height = 16
    Caption = 'Form Size (x):'
  end
  object Label2: TLabel
    Left = 8
    Top = 24
    Width = 118
    Height = 16
    Caption = 'Scroll Position (x):'
  end
  object Label3: TLabel
    Left = 136
    Top = 8
    Width = 73
    Height = 17
    Caption = 'Label3'
  end
  object Label4: TLabel
    Left = 136
    Top = 24
    Width = 73
    Height = 17
    Caption = 'Label4'
  end
end