//procedure ListBox2DragDrop (Sender,Source:TObject;
X, Y:Integer);
procedure ListBoxlDragOver (Sender, Source: TObject;
X,Y: Integer; State: TDragState; var Accept: Boolean);
procedure ListBox2DragDrop(Sender,Source: TObject;
X, Y:Integer);
procedure ListBoxlClick (Sender :TObject);
//procedure ListBoxlDragDrop (Sender, Source: TObject;
X, Y:Integer);
private
{ Private declarations }
Public
{ Public declarations }
end;
var
Form1: Tform1;
Implementation
{$R *.DFM}
procedure TForml.FormCreate(Sender:TObject);
begin
Label1.FocusControl:=ListBox1;
Label2.FocusControl:= ListBox2;
ListBoxl.Sorted:= False; // Düzləndirmə qadağan
ListBox2.Sorted:= False; // edilir
ListBoxl.Multi Select: = True; // Bir neçə elementin
ListBox2.Multi Select: =True; // seçilməsinə icazə verilir
ListBoxl.Extended Select: = True; // Klaviatura ilə elementin
ListBox2.Extended Select: = True; // seçilməsinə icazə verilir
ListBox2.Clear;
ListBoxl.DragMode:=dmAutomatic; // Mausla elementlərin
//yerlərinin dəyişdirilməsi
ListBox2.DragMode:=dmAutomatic; // əməliyyatını avtomatik
//başlamağa icazə verilir
end;
procedure TForml.btnRightClick (Sender: TObject);
Var
i:Integer;
begin
for i:= ListBoxl.Items.Count-1 downto 0 do
if ListBoxl.Selected[i] then
begin
ListBox2. Items. Add (ListBoxl. Items[i]);
ListBoxl. Items.Delete (i);
end;
end;
procedure TForml.btnLeftClick (Sender:TObject);
Var
i:Integer;
begin
for i:= ListBox2. Items.Count-1 downto 0 do
ıf ListBox2.Selected[i] then
begin
ListBoxl.Items.Add(ListBox2.Items[i]);
ListBox2.Items.Delete(i);
end;
procedure Forml.ListBox2Drag0ver (Sender, Source:
TObject; X,Y:Integer; State:TDragState;
var Accept: Boolean);
begin
if Source= ListBoxl then Accept: = True
downloaded from KitabYurdu.org
200
else Accept: = False;
end;
{procedure TForml.ListBox2 Drag Drop (Sender,
Source: TObject; X, Y:Integer);
begin
With Source as TListBox do
begin
ListBox2. Items. Add (Items[Item lndex]);
Items. Delete (Item lndex);
end;
end; }
procedure TForml. ListBoxl Drag Over (Sender, Source:
TObject; X,Y : Integer; State: TDragState;
var Accept: Boolean);
begin
if Source= ListBox2 then Accept: = True
else Accept: = False;
end;
{procedure TForml.ListBoxlDragDrop (Sender,
Source: TObject; X, Y: Integer);
begin
With Source as TListBox do
Begin
ListBoxl.Items.Add (Items [Item lndex]) ;
Items.Delete (Item lndex);
end;
end; }
procedure TForml.ListBox2 DragDrop (Sender,
downloaded from KitabYurdu.org
201
Source:TObject; X,Y: Integer) ;
Begin
//btnRight.Click; və ya
btnRightClick (Sender);
end;
procedure TForml. ListBoxlClick (Sender : TObject;
begin
// btnLeft.Click; və ya
btnLeftClick(Sender) ;
end;
end.
Proqramın mətnində elementlərin maus və düymə vasitəsilə qayda ilə yerinə
yetirilməsi kodlarının hər iki variantı prosedurlar eyni sərlövhəli, müxtəlif
məzmunlu olduqdan zamanda icra etmək mümkün deyildir. Ona görə də bu
prosedurlar kursivlə göstərilərək şərh simvolları ({ })daxilinə salınmışdır.
Düymələrlə iş
Düymələr idarəedici elementlər olaraq müəyyən yetirmək üçün əmrlər vermək
məqsədilə istifadə olunur. Ona görə də onları çox vaxt əmrlər düymələri də
adlandırırlar. Delphi aşağıdakı düymələri təklif edir:
•
Button standart düyməsi;
•
BitBin şəkilli düyməsi;
•
SpeedButton cəld müdaxilə düyməsi.
Bu düymələrin zahiri görünüşü və funksional imkanları çox az fərqlənir.
Standart düymə
Button standart düyməsi pəncərəli idarəetmə elementidir üzərində yerinə
yetirdiyi funksiyanın mahiyyətinə uyğun yazı ola bilər. Bu düyməyə xüsusi
müzakirə mövzusu kimi baxanadək, biz artıq onunla tanış olmuşuq və demək olar
ki, həll etdiyimiz bütün məsələlərdə onu tətbiq etmişik. Bizə artıq məlumdur ki,
Button düyməsi üçün əsas hadisə mausu basdıqda baş verən OnClick hadisəsidir.
Bu zaman düymə onun yerinə yetirəcəyi hadisəyə uyğun görkəm alır (yəni basılır)
və düyməni buraxan kimi bu hadisə dərhal yerinə yetirilir. Mausun düyməsini
basmaqla, raaasiııdə müəyyən edilmiş klavişlər kombinasiyasını basmaqla və
nəhayət Enter və ya Probel klavişlərini basmaqla Button düyməsini basmaq olar.
Bundan başqa, Esc klavişini basdıqda da OnClick hadisəsi baş verə bilər.
downloaded from KitabYurdu.org
202
Enter və Probel klavişləri ilə yalnız fokus almış düymə (adı qırıq xətli
düzbucaqlı ilə əhatə olunmuş) basıhr. Əgər düymə yox, başqa pəncərəli element
məsələn, Edit və ya Menyu komponenti fokus almışdırsa, onda Default xassəsi True
qiyməti almış düymə susmaya görə seçilmiş olur; bu düymə qara düzbucaqlı ilə
əhatələnir.
Esc klavişi ilə adətən dialoq pəncərələrindəki Cancel (imtina) düyməsi basılır.
Düymənin Esc klavişinə məhəl qoyması üçün onun Cancel xassəsinə True qiyməti
Dostları ilə paylaş: |