|
![](/i/favi32.png) Alqoritm, xassələri və təsvir üsullarıAlqoritmlesdirme-ve-Programlasdirmaend;
end;
Bu prosedur icra olunduqdan sonra, Sağa düyməsini basdıqda, ListBoxl siyahısında
seçilmiş elementlər ListBox2 siyahısına köçürülür və birinci siyahıdan həmin
element pozulur. Dövrün (for) təşkilində elementlərin araşdırılması sonuncu
elementdən (Count-1) başlayır. Bu ona görə belə edilir ki, element pozulacaq, lakin,
downloaded from KitabYurdu.org
198
dövrlərin sayı dəyişməyəcəkdir. Bu isə səhvə gətirəcəkdir. Elementin seçilməsi
Selected xassəsi ilə yoxlanır.
İndi isə elementlərin mausla köçürülməsi prosedurlarını yaradaq. Element ikinci
siyahıya köçürüldüyü üçün, qəbuledici komponent kimi ListBox2 siyahısını seçib
OnDragOver hadisəsi qarşısında mausun düyməsini iki dəfə basaraq bu kodları
yazın:
procedure TForml.ListBox2 DragOver (Sender,
Source:TObj ect; X, Y:Integer; State:TDragState;
var Accept:Boolean);
begin
if Source= ListBoxl then Accept:=True else Accept:=False;
end;
Bu prosedur mausla elementin yerini dəyişdirməyə icazə verilməsini müəyyən
edir.
Bu prosedur icra olunduqda həmişə sonuncu seçilmiş elemem köçürüləcəkdir.
Çünki, burada elementin seçilməsində Selected xassəsi deyil, Itemlndex xassəsi
istifadə edilmişdir.
İndi isə DragOver və DragDrop hadisə emaledicilərini ListBoxl komponenti üçün
yaratmaq lazımdır. Burada da müvafiq prosedurlana kodlarında ListBoxl əvəzinə
ListBox2 və tərsinə - ListBox2 əvəzinə ListBoxl yazmaq lazımdır.
F9 klavişini basaraq layihəni yerinə yetirin və nəticələri yoxlayın. Görəcəksiniz
ki, elementlərin düymələrlə və mausla yerlərinin dəyişdirilməsi əməliyyatı bir-
Dostları ilə paylaş: |
|
|