with ListBox1 do ListBox2.Items.Add(Items[ItemIndex]);
4 этап. Сүйреуді аяқтау. Құрауыш - сүйреудің көзі оны босатқан сәтте OnEndDrag оқиғасын өрбітеді, оның Target параметрі басқа толық құрауышқа сәйкес келеді (біздің жағдайда ListBox2). Бұл оқиғаның өңдеуішіне бірінші тізімнен таңдап алынған жолды жоятын операторды және пішіннің түсін өзгертетін операторды жазыңыздар:
if Target = ListBox2 then
with ListBox1 do Items.Delete(ItemIndex);
Color := clYellow;
Компиляцияны орындаңыздар және сүйреу тетігінің жұмысын тексеріңіздер.
Өздік жұмысқа тапсырма №9_1
Екі ListBox тізімінен, Edit құрауышынан, Panel құрауышынан, екі батырмадан және төрт жазбадан тұратын жоба құрыңыздар. Берілген жоба келесі функциялардың жұмысын қамтамасыз етуі керек:
жолды Edit құрауышынан екі тізімге тасымалдау;
жолды бірінші тізімнен екінші тізімге тасымалдау және керісінше;
жолды қара панельге сүйреу арқылы жою;
файлдағы жолды бірінші тізімде оқу;
екінші тізімнің жолдарын файлға сақтау.
Көп таңдау жасалғанда барлық таңдап алынған жолдарды тасымалдау.
Edit - тен <Ctrl> пернесі басылған тасымал жасалғанда, көшірме алынады (тышқанның көрсеткішінің түрі – crCross).
Өздік жұмысқа тапсырма №9_2
Екі ListBox тізімдерінен, Edit құрауышынан және екі батырмадан тұратын жоба құрыңыздар. Ерекшеленген сөзді тасымал жасағанда орындалатын функцияларды іске асыратын бағдарлама құрыңыздар:
ListBox1 пішін: ListBox1 – дегі сөз қосарланады;
ListBox2 пішін: ListBox2 – дегі сөз жойылады;
ListBox1 ListBox2: сөздердің қарапайым тасымалдануы;
ListBox1 Edit1, ListBox2 Edit1: сөздердің орынмен ауысуы;
Edit1 ListBox1, Edit1 ListBox2: тышқанның сол жақ пернесі – тасымал, оң жағы – сөздің көшірмесі.
ListBox1 (ListBox2) Button1: файлдан барлық тізімді оқу;
ListBox1 (ListBox2) Button2: барлық тізімді файлға сақтау.
Көп таңдау жасалғанда барлық таңдап алынған жолдарды тасымалдау.
Edit1 – ден көшірмесін алғанда тышқанның көрсеткішінің түрі – crCross.
Ұсыныс :
Edit1 – ден сүйреудің бастамасын өңдеуді қолмен ұймдастырыңыздар, яғни Edit1.DragMode=dmManual орнатыңыздар және Edit1.OnMouseDown өңдеуішіне келесіні жазыңыздар (бұл толық емес):
if (Button=mbLeft) and (Edit1.Text<>'') then
Edit1.BeginDrag(False);
Достарыңызбен бөлісу: |