Controls,Forms,Dialogs,StdCtrls; Type TForml = class(TForm) ListBoxl: TListBox; ListBox2: TListBox; btnRight: TButton; btnLeft: TButton; Label1: TLabel; Label2: TLabel; procedure FormCreate(Sender:TObject); procedure btnRightClick(Sender:TObject); procedurebtnLeftClick(Sender:TObject); procedure ListBox2Drag0ver(Sender, Source:TObject;X,Y:Integer;State: TDragState; var Accept:Boolean); //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 doif 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); beginif Source= ListBoxl then Accept:=True else Accept:=False; end; {procedure TForml.ListBox2DragDrop (Sender, Source:TObject;X,Y:Integer); begin With Source as TListBox do begin ListBox2.Items.Add(Items[Itemlndex]); Items.Delete(Itemlndex); end; end; } procedureTForml.ListBoxlDragOver(Sender, Source: TObject;X,Y:Integer;State:TDragState; var Accept:Boolean); beginif 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[Itemlndex]) ; Items.Delete (Itemlndex); end; end; } procedure TForml.ListBox2DragDrop(Sender, 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:
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. 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.