[Back to OOP SWAG index] [Back to Main SWAG index] [Original]
{
From: BRIAN PAPE
Subj: Picklist in TV
}
{************************************************}
{ }
{ Turbo Vision 2.0 Demo }
{ Copyright (c) 1992 by Borland International }
{ }
{************************************************}
program PickList;
uses Objects, Views, Dialogs, App, Drivers,editors;
const
cmPickClicked = 1001;
type
PCityColl = ^TCityColl;
TCityColl = object(TStringCollection)
constructor Init;
end;
PPickLine = ^TPickLine;
TPickLine = object(TMemo)
procedure HandleEvent(var Event: TEvent); virtual;
end;
PPickWindow = ^TPickWindow;
TPickWindow = object(TDialog)
constructor Init;
end;
TPickApp = object(TApplication)
PickWindow: PPickWindow;
constructor Init;
end;
VAR Lijst:PCityColl;
GControl: PView;
S : String[30];
constructor TCityColl.Init;
begin
inherited Init(10, 10);
Insert(NewStr('Scotts Valley'));
Insert(NewStr('Sydney'));
Insert(NewStr('Copenhagen'));
Insert(NewStr('London'));
Insert(NewStr('Paris'));
Insert(NewStr('Munich'));
Insert(NewStr('Milan'));
Insert(NewStr('Tokyo'));
Insert(NewStr('Stockholm'));
end;
procedure TPickLine.HandleEvent(var Event: TEvent);
VAR
Count:Integer;
begin
inherited HandleEvent(Event);
if (Event.What = evBroadcast) and (Event.command=cmListItemSelected) then
begin
S:=PListBox(Event.InfoPtr)^.GetText(PListBox(Event.InfoPtr)^.Focused,
high(s));
with PListBox(Event.InfoPtr)^ do
begin
s := s + #13;
InsertText(@s[1],length(s),false);
end;
DrawView;
ClearEvent(Event);
end;
end;
constructor TPickWindow.Init;
var
R: TRect;
Control: PView;
ScrollBar: PScrollBar;
begin
R.Assign(0, 0, 40, 15);
inherited Init(R, 'Pick List Window');
Options := Options or ofCentered;
R.Assign(5, 2, 35, 4);
Control := New(Ppickline, Init(R,NIL,NIL,NIL, 130));
Control^.EventMask := Control^.EventMask or evBroadcast;
Insert(Control);
R.Assign(4, 1, 13, 2);
Insert(New(PLabel, Init(R, 'Picked:', Control)));
R.Assign(34, 5, 35, 11);
New(ScrollBar, Init(R));
Insert(ScrollBar);
R.Assign(5, 5, 34, 11);
gControl := New(PListBox, Init(R, 1, ScrollBar));
Insert(gControl);
PListBox(gControl)^.NewList(Lijst);
R.Assign(4, 4, 12, 5);
Insert(New(PLabel, Init(R, 'Items:', Control)));
R.Assign(15, 12, 25, 14);
Insert(New(PButton, Init(R, '~Q~uit', cmQuit, bfDefault)));
end;
constructor TPickApp.Init;
begin
inherited Init;
Lijst:=New(PCityColl,Init);
PickWindow := New(PPickWindow, Init);
InsertWindow(PickWindow);
end;
var
PickApp: TPickApp;
begin
PickApp.Init;
PickApp.Run;
PickApp.Done;
end.
[Back to OOP SWAG index] [Back to Main SWAG index] [Original]