88
bajarishi kerak. Microsoft Foundation Class (MFC) kutubxonasi ushbu
transferning har bir tomonini ifodalovchi ikkita sinfni taqdim etadi:
Ma'lumotlar manbalari ( COleDataSourceob'ektlar tomonidan amalga
oshirilganda ) ma'lumotlarni uzatishning manba tomonini ifodalaydi. Ular manba
ilovasi tomonidan ma'lumotlar almashish xotirasiga ko'chirilishi kerak bo'lganda
yoki sudrab olib tashlash operatsiyasi uchun ma'lumotlar taqdim etilganda
yaratiladi.
Ma'lumotlar ob'ektlari (ob'ektlar tomonidan
amalga oshirilganidek
COleDataObject) ma'lumotlarni uzatishning maqsad tomonini ifodalaydi. Ular
maqsadli ilovaga ma'lumotlar tushirilganda yoki
vaqtinchalik xotiradan
joylashtirish operatsiyasini bajarish so'ralganda yaratiladi.
OLE sudrab olib tashlash.
OLE ning sudrab olib tashlash xususiyati
birinchi navbatda ma'lumotlarni nusxalash va joylashtirish uchun yorliqdir.
Ma'lumotlarni nusxalash yoki joylashtirish uchun vaqtinchalik xotiradan
foydalanganda bir qator qadamlar talab qilinadi. Siz ma’lumotlarni tanlaysiz va “
Tahrirlash” menyusidan “ Kesish” yoki “ Nusxalash” ni tanlaysiz . Keyin siz maqsad
ilova yoki oynaga o'tasiz va kursorni maqsadli joyga qo'ying. Nihoyat, menyudan
Tahrirlash > Qo‘yish- ni tanlaysiz.
OLE sudrab olib tashlash xususiyati Fayl menejerining sudrab tashlash
mexanizmidan farq qiladi. Fayl menejeri faqat fayl nomlarini boshqarishi mumkin
va fayl nomlarini ilovalarga o'tkazish uchun maxsus mo'ljallangan. OLE-da sudrab
olib tashlash ancha umumiydir. Bu sizga almashish buferiga joylashtirilishi
mumkin bo'lgan har qanday ma'lumotlarni sudrab olib tashlash imkonini beradi.
OLE sudrab olib tashlashdan foydalanganda, jarayondan ikki bosqichni olib
tashlaysiz. Siz manba oynasidan ma'lumotlarni tanlaysiz ("tushirish manbasi"),
so'ngra uni belgilangan joyga ("tashlash maqsadi") tortib o'tkazasiz.
Siz uni
sichqoncha tugmasini bosish orqali tushirasiz. Operatsiya menyularga bo'lgan
ehtiyojni yo'q qiladi va u nusxa ko'chirish/joylashtirish ketma-ketligiga
qaraganda tezroq. Faqat bitta talab bor: tushirish manbai ham, tushirish maqsadi
ham ochiq va hech bo'lmaganda qisman ekranda ko'rinadigan bo'lishi kerak.
OLE sudrab olib tashlash yordamida ma'lumotlarni bir joydan ikkinchi
joyga osongina o'tkazish mumkin:
hujjat ichida, turli hujjatlar o'rtasida yoki
ilovalar o'rtasida. U konteyner yoki server ilovasida amalga oshirilishi mumkin.
Har qanday dastur tushirish manbai, tushirish maqsadi yoki ikkalasi bo'lishi
mumkin. Agar ilova bir vaqtning o'zida bir vaqtning o'zida qo'llab-quvvatlasa, siz
pastki oynalar o'rtasida yoki bitta oyna ichida sudrab tashlashingiz mumkin. Bu
xususiyat ilovangizdan foydalanishni ancha osonlashtiradi.
Ko'pgina ilovalar uchun sudrab olib tashlash funksiyasining sukut bo'yicha
amalga oshirilishi etarli. Biroq, ba'zi ilovalar ushbu standart xatti-harakatni
o'zgartirishingizni talab qilishi mumkin. Ushbu bo'lim
ushbu standart
sozlamalarni o'zgartirish uchun zarur bo'lgan qadamlarni tushuntiradi.
89
Murakkab hujjatlarni qo'llab-quvvatlamaydigan ilovalarni tushirish manbalariga
aylantirish uchun ushbu texnikadan foydalanishingiz mumkin.
Agar siz standart OLE sudrab olib tashlash funksiyasini sozlayotgan
bo'lsangiz yoki sizda OLE bo'lmagan ilovangiz bo'lsa COleDataSource,
ma'lumotlarni o'z ichiga olishi uchun ob'ekt yaratishingiz kerak . Foydalanuvchi
sudrab
olib
tashlash
operatsiyasini
boshlaganida,
sizning
kodingiz
DoDragDropsudrab olib tashlash operatsiyalarini qo'llab-quvvatlaydigan boshqa
sinflar o'rniga ushbu ob'ektdan funktsiyani chaqirishi kerak .
Majburiy emas, siz COleDropSourcetushirishni boshqarish uchun ob'ekt
yaratishingiz va o'zgartirmoqchi bo'lgan xatti-harakatlar turiga qarab uning ba'zi
funktsiyalarini bekor qilishingiz mumkin. Keyinchalik, ushbu tushirish manbasi
ob'ekti COleDataSource::DoDragDropushbu funktsiyalarning
standart xatti-
harakatlarini o'zgartirish uchun o'tkaziladi. Ushbu turli xil variantlar ilovangizda
sudrab olib tashlash operatsiyalarini qanday qo'llab-quvvatlashda katta
moslashuvchanlikni ta'minlaydi.
Siz sudrab olib tashlash amallarini sozlash uchun quyidagi funksiyalarni
bekor qilishingiz mumkin: